diff options
Diffstat (limited to 'chimere/models.py')
| -rw-r--r-- | chimere/models.py | 29 | 
1 files changed, 28 insertions, 1 deletions
| diff --git a/chimere/models.py b/chimere/models.py index 85419dc..7e5adbe 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -38,6 +38,7 @@ from django.utils.translation import ugettext_lazy as _  from chimere.widgets import PointField, RouteField, SelectMultipleField, \                              TextareaWidget  from chimere.managers import BaseGeoManager +from chimere.utils import KMLManager, OSMManager  class News(models.Model):      """News of the site @@ -190,6 +191,28 @@ class SubCategory(models.Model):          return [(category, sub_cats) for category, sub_cats \                                           in sub_categories.items()] +IMPORTERS = {'KML':KMLManager, +             'OSM':OSMManager} + +IMPORTER_CHOICES = (('KML', 'KML'), +                    ('OSM', 'OSM')) + +class Importer(models.Model): +    ''' +    Data importer for a specific subcategory +    ''' +    importer_type = models.CharField(_(u"Importer type"), max_length=4, +                                     choices=IMPORTER_CHOICES) +    source_url = models.CharField(_(u"Source URL"), max_length=200, +                                  blank=True, null=True) +    filtr = models.CharField(_(u"Filter"), max_length=200, +                             blank=True, null=True) +    subcategory = models.ForeignKey(SubCategory, +                         verbose_name=_(u"Associated subcategory")) + +    class Meta: +        verbose_name = _(u"Importer") +  class GeographicItem(models.Model):      name = models.CharField(_(u"Name"), max_length=150)      categories = SelectMultipleField(SubCategory) @@ -202,11 +225,15 @@ class GeographicItem(models.Model):      STATUS = (('S', _(u'Submited')),                ('A', _(u'Available')),                ('M', _(u'Modified')), -              ('D', _(u'Disabled')),) +              ('D', _(u'Disabled')), +              ('I', _(u'Imported')), +              ('E', _(u"Excluded")))      STATUS_DCT = {}      for key, label in STATUS:          STATUS_DCT[key] = label      status = models.CharField(_(u"Status"), max_length=1, choices=STATUS) +    import_key = models.CharField(_(u"Import key"), max_length=200, +                                  blank=True, null=True)      if settings.CHIMERE_DAYS_BEFORE_EVENT:          start_date = models.DateField(_(u"Start date"), blank=True, null=True,              help_text=_(u"Not mandatory. Set it for dated item such as event. "\ | 
