summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 56f4055..6661a30 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -626,7 +626,6 @@ def multimediafile_post_save(sender, **kwargs):
multimediafile.save()
post_save.connect(multimediafile_post_save, sender=MultimediaFile)
-
class PictureFile(models.Model):
name = models.CharField(_(u"Name"), max_length=150)
picture = models.ImageField(_(u"Image"), upload_to='pictures',
@@ -658,7 +657,6 @@ def scale_image(max_x, pair):
new_y = (float(max_x) / x) * y
return (int(max_x), int(new_y))
-
IMAGE_EXIF_ORIENTATION_MAP = {
1: 0,
8: 2,
@@ -824,6 +822,23 @@ class Route(GeographicItem):
ordering = ('status', 'name')
verbose_name = _(u"Route")
+ def __init__(self, *args, **kwargs):
+ super(Route, self).__init__(*args, **kwargs)
+ try:
+ associated_marker = Marker.objects.get(route=self)
+ except:
+ associated_marker = None
+ # add read attributes for properties
+ for pm in self.properties():
+ attr_name = pm.getAttrName()
+ if not hasattr(self, attr_name):
+ val = ''
+ if associated_marker:
+ property = associated_marker.getProperty(pm)
+ if property:
+ val = property.python_value
+ setattr(self, attr_name, val)
+
@property
def geometry(self):
return self.route.wkt