diff -r b7d19cd87fcf -r 09e00f38d177 src/hdalab/models/categories.py --- a/src/hdalab/models/categories.py Thu Apr 12 01:27:16 2018 +0200 +++ b/src/hdalab/models/categories.py Wed Apr 11 12:19:47 2018 +0200 @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- ''' Created on Jan 26, 2012 @@ -8,35 +9,66 @@ class WpCategory(models.Model): + """ + Une catégorie Wikipedia. + + :cvar str label: Le label de la catégorie. + """ label = models.CharField(max_length=2048, unique=True, blank=False, null=False) - + def __unicode__(self): return unicode(self.label) - + class Meta: app_label = 'hdalab' verbose_name_plural = "WpCategories" class TagWpCategory(models.Model): + """ + Relie une catégorie Wikipedia à un tag. + + :cvar object tag: Le tag. + :cvar object wp_category: La categorie wikipedia. + :cvar bool hidden: Indique si la catégorie est cachée ou pas. + """ tag = models.ForeignKey(Tag, related_name="wp_categories") wp_category = models.ForeignKey(WpCategory, related_name="tags") hidden = models.BooleanField(blank=False, null=False, default=False) - + class Meta: app_label = 'hdalab' unique_together = ('tag', 'wp_category', 'hidden') + class TagInfobox(models.Model): + """ + Contenu de l'infobox wikipedia pour un tag. + + :cvar object tag: Le tag + :cvar str name: Le nom (type) de l'infobox. + :cvar str source: Le code source de l'infobox. + :cvar int revision_id: Numéro de révision de l'infobox. + """ + tag = models.ForeignKey(Tag, related_name="infoboxes") name = models.CharField(max_length=2048, unique=False, blank=False, null=False) source = models.TextField(unique=False, blank=True, null=True) revision_id = models.BigIntegerField(unique=False, blank=True, null=True) - + class Meta: app_label = 'hdalab' unique_together = ('tag','name','revision_id') - + + class InfoboxParameter(models.Model): + """ + Valeurs de paramêtre d'une infobox Wikipedia. + + :cvar object tag_infobox: L'objet :class:TagInfobox. + :cvar str param_name: Nom du paramêtre. + :cvar str param_value: Valeur du paramêtre. + """ + tag_infobox = models.ForeignKey(TagInfobox) param_name = models.CharField(max_length=2048, unique=False, blank=False, null=False) param_value = models.TextField(unique=False, blank=True, null=True) @@ -48,9 +80,16 @@ # Added on 02/07/2012 class WpCategoryInclusion(models.Model): + """ + Classe permettant de modéliser l'arbre de catégorie Wikipedia. + + :cvar object parent_category: La catégorie parente. + :cvar object child_category: La catégorie enfant. + """ + parent_category = models.ForeignKey(WpCategory, related_name="child_categories") child_category = models.ForeignKey(WpCategory, related_name="parent_categories") - + class Meta: app_label = 'hdalab' - unique_together = ('parent_category','child_category') \ No newline at end of file + unique_together = ('parent_category','child_category')