summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/management/commands/v3_to_v2_markers.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/chimere/management/commands/v3_to_v2_markers.py b/chimere/management/commands/v3_to_v2_markers.py
index e91e6c7..d84e239 100644
--- a/chimere/management/commands/v3_to_v2_markers.py
+++ b/chimere/management/commands/v3_to_v2_markers.py
@@ -5,13 +5,15 @@ from django.core.management import call_command
from django.core.management.base import BaseCommand
-def get_data(model_name, filters=tuple()):
+def get_data(model_name, filters=tuple(), exclude_empty=tuple()):
out = StringIO()
call_command('dumpdata', 'chimere.' + model_name, stdout=out)
values = json.loads(out.getvalue())
result = []
for value in values:
data = value.copy()
+ if [exc for exc in exclude_empty if not data["fields"][exc]]:
+ continue
for attr in filters:
data["fields"].pop(attr)
result.append(data)
@@ -27,8 +29,10 @@ class Command(BaseCommand):
filters=('weight', 'normalised_weight'))
new_markers += get_data('Marker_categories')
new_markers += get_data('Property', filters=('route', 'polygon'))
- new_markers += get_data('PictureFile', filters=('route', 'polygon'))
- new_markers += get_data('MultimediaFile', filters=('route', 'polygon'))
+ new_markers += get_data('PictureFile', filters=('route', 'polygon'),
+ exclude_empty=('marker',))
+ new_markers += get_data('MultimediaFile', filters=('route', 'polygon'),
+ exclude_empty=('marker',))
res = json.dumps(new_markers)
self.stdout.write(res)