diff options
Diffstat (limited to 'chimere/models.py')
-rw-r--r-- | chimere/models.py | 27 |
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 ''' |