summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/chimere/models.py b/chimere/models.py
index c93d271..3556e52 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -204,8 +204,8 @@ class Importer(models.Model):
importer_type = models.CharField(_(u"Importer type"), max_length=4,
choices=IMPORTER_CHOICES)
# URL of a KML file or a XAPI service for OSM
- source_url = models.CharField(_(u"Source URL"), max_length=200,
- blank=True, null=True)
+ source = models.CharField(_(u"Source"), max_length=200,
+ blank=True, null=True)
filtr = models.CharField(_(u"Filter"), max_length=200,
blank=True, null=True)
categories = SelectMultipleField(SubCategory,
@@ -253,6 +253,29 @@ class GeographicItem(models.Model):
class Meta:
abstract = True
+ def get_key(self, key):
+ key_vals = self.import_key.split(';')
+ for k_v in key_vals:
+ if k_v.startswith(key+':'):
+ return k_v.split(':')[1]
+
+ def set_key(self, key, value):
+ new_keys, _set = '', None
+ key_vals = self.import_key.split(';') if self.import_key else []
+ for k_v in key_vals:
+ if ':' not in k_v:
+ continue
+ k, v = k_v.split(':')
+ if k == key:
+ _set = True
+ new_keys += '%s:%s;' % (k, value)
+ else:
+ new_keys += '%s:%s;' % (k, v)
+ if not _set:
+ new_keys += '%s:%s;' % (key, value)
+ self.import_key = new_keys
+ self.save()
+
class Marker(GeographicItem):
'''Marker for a POI
'''