src/hdalab/models/categories.py
author ymh <ymh.work@gmail.com>
Wed, 11 Apr 2018 12:19:47 +0200
branchdocumentation
changeset 693 09e00f38d177
parent 545 c752fdee555b
permissions -rw-r--r--
Add hdabo/hdalab documentations
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
     1
# -*- coding: utf-8 -*-
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
'''
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
Created on Jan 26, 2012
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
@author: ymh
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
'''
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
from django.db import models
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
from hdabo.models import Tag
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
class WpCategory(models.Model):
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    12
    """
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    13
    Une catégorie Wikipedia.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    14
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    15
    :cvar str label: Le label de la catégorie.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    16
    """
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    label = models.CharField(max_length=2048, unique=True, blank=False, null=False)
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    18
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    def __unicode__(self):
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        return unicode(self.label)
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    21
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    class Meta:
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
        app_label = 'hdalab'
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
        verbose_name_plural = "WpCategories"
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
class TagWpCategory(models.Model):
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    27
    """
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    28
    Relie une catégorie Wikipedia à un tag.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    29
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    30
    :cvar object tag: Le tag.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    31
    :cvar object wp_category: La categorie wikipedia.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    32
    :cvar bool hidden: Indique si la catégorie est cachée ou pas.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    33
    """
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    tag = models.ForeignKey(Tag, related_name="wp_categories")
206
7070d3acc3d4 improved category filtering
veltr
parents: 204
diff changeset
    35
    wp_category = models.ForeignKey(WpCategory, related_name="tags")
545
c752fdee555b Migration to django 1.7
ymh <ymh.work@gmail.com>
parents: 272
diff changeset
    36
    hidden = models.BooleanField(blank=False, null=False, default=False)
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    37
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    class Meta:
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
        app_label = 'hdalab'
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
        unique_together = ('tag', 'wp_category', 'hidden')
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    42
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
class TagInfobox(models.Model):
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    44
    """
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    45
    Contenu de l'infobox wikipedia pour un tag.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    46
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    47
    :cvar object tag: Le tag
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    48
    :cvar str name: Le nom (type) de l'infobox.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    49
    :cvar str source: Le code source de l'infobox.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    50
    :cvar int revision_id: Numéro de révision de l'infobox.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    51
    """
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    52
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
    tag = models.ForeignKey(Tag, related_name="infoboxes")
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
    name = models.CharField(max_length=2048, unique=False, blank=False, null=False)
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
    source = models.TextField(unique=False, blank=True, null=True)
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    revision_id = models.BigIntegerField(unique=False, blank=True, null=True)
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    57
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
    class Meta:
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        app_label = 'hdalab'
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
        unique_together = ('tag','name','revision_id')
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    61
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    62
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
class InfoboxParameter(models.Model):
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    64
    """
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    65
    Valeurs de paramêtre d'une infobox Wikipedia.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    66
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    67
    :cvar object tag_infobox: L'objet :class:TagInfobox.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    68
    :cvar str param_name: Nom du paramêtre.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    69
    :cvar str param_value: Valeur du paramêtre.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    70
    """
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    71
114
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
    tag_infobox = models.ForeignKey(TagInfobox)
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
    param_name = models.CharField(max_length=2048, unique=False, blank=False, null=False)
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
    param_value = models.TextField(unique=False, blank=True, null=True)
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
    class Meta:
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
        app_label = 'hdalab'
c59383cc9940 migrate categories extraction to hdalab
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
        unique_together = ('tag_infobox','param_name')
204
0a1744477bc1 Added category tree Ajax API + Tables
veltr
parents: 114
diff changeset
    79
0a1744477bc1 Added category tree Ajax API + Tables
veltr
parents: 114
diff changeset
    80
# Added on 02/07/2012
0a1744477bc1 Added category tree Ajax API + Tables
veltr
parents: 114
diff changeset
    81
0a1744477bc1 Added category tree Ajax API + Tables
veltr
parents: 114
diff changeset
    82
class WpCategoryInclusion(models.Model):
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    83
    """
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    84
    Classe permettant de modéliser l'arbre de catégorie Wikipedia.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    85
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    86
    :cvar object parent_category: La catégorie parente.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    87
    :cvar object child_category: La catégorie enfant.
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    88
    """
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    89
204
0a1744477bc1 Added category tree Ajax API + Tables
veltr
parents: 114
diff changeset
    90
    parent_category = models.ForeignKey(WpCategory, related_name="child_categories")
0a1744477bc1 Added category tree Ajax API + Tables
veltr
parents: 114
diff changeset
    91
    child_category = models.ForeignKey(WpCategory, related_name="parent_categories")
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    92
204
0a1744477bc1 Added category tree Ajax API + Tables
veltr
parents: 114
diff changeset
    93
    class Meta:
0a1744477bc1 Added category tree Ajax API + Tables
veltr
parents: 114
diff changeset
    94
        app_label = 'hdalab'
693
09e00f38d177 Add hdabo/hdalab documentations
ymh <ymh.work@gmail.com>
parents: 545
diff changeset
    95
        unique_together = ('parent_category','child_category')