summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py29
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. "\