diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-29 16:55:17 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-29 16:55:17 +0200 |
commit | 953310b7e18bdb012dae2fcc0184bc63f1c30c0c (patch) | |
tree | 98c7b6d2460060dd1a2a71c3b303e221d4fa258c /chimere/models.py | |
parent | a46efae7bf7a9a0f8a2ccaffdfe0d18ffcb2a0d2 (diff) | |
download | Chimère-953310b7e18bdb012dae2fcc0184bc63f1c30c0c.tar.bz2 Chimère-953310b7e18bdb012dae2fcc0184bc63f1c30c0c.zip |
Work on OSM export - simplify KML import
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 ''' |