summaryrefslogtreecommitdiff
path: root/chimere/migrations/0003_convert_tiny_urls.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/migrations/0003_convert_tiny_urls.py')
-rw-r--r--chimere/migrations/0003_convert_tiny_urls.py110
1 files changed, 0 insertions, 110 deletions
diff --git a/chimere/migrations/0003_convert_tiny_urls.py b/chimere/migrations/0003_convert_tiny_urls.py
deleted file mode 100644
index fb39210..0000000
--- a/chimere/migrations/0003_convert_tiny_urls.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations
-import ogr
-import osr
-
-
-def convert_tiny_urls(apps, schema_editor):
- TinyUrl = apps.get_model('chimere', 'TinyUrl')
- in_ref = osr.SpatialReference()
- in_ref.ImportFromEPSG(3857)
- out_ref = osr.SpatialReference()
- out_ref.ImportFromEPSG(settings.CHIMERE_EPSG_DISPLAY_PROJECTION)
- transform = osr.CoordinateTransformation(in_ref, out_ref)
-
- for tiny_url in TinyUrl.objects.all():
- new_param = {
- 'zoom': '',
- 'lat': '',
- 'lon': '',
- 'checked_categories': '',
- 'current_feature': '',
- 'routing_speed': '',
- 'routing_transport': '',
- 'routing_start_lat': '',
- 'routing_start_lon': '',
- 'routing_end_lat': '',
- 'routing_end_lon': '',
- 'steps': ''
- }
- for parameter in tiny_url.parameters.split('&'):
- items = parameter.split('=')
- if len(items) != 2:
- continue
- param, value = items
- if param in ('zoom', 'routing_speed', 'routing_transport',
- 'routing_start_lat', 'routing_start_lon',
- 'routing_end_lat', 'routing_end_lon'):
- new_param[param] = value
- elif param in ('lat', 'lon'):
- x, y = 242500, 6230000
- if param == 'lat':
- y = int(float(value))
- else:
- x = int(float(value))
- point = ogr.Geometry(ogr.wkbPoint)
- point.AddPoint(x, y)
- point.Transform(transform)
- if param == 'lat':
- new_param[param] = point.GetY()
- else:
- new_param[param] = point.GetX()
- elif param == 'checked_categories':
- if '%2C' in value:
- value = '-'.join(value.split('%2C'))
- if '_' in value:
- value = '-'.join(value.split('_'))
- new_param[param] = value
- elif param == 'current_feature':
- if value:
- new_param[param] = 'marker-' + value
- elif param == 'routing_steps':
- if not value:
- continue
- vals = value.split('%2C')
- steps = []
- for idx in range(int(len(vals) / 2)):
- steps.append("{}:{}".format(vals[2 * idx],
- vals[2 * idx + 1]))
- new_param['steps'] = ';'.join(steps)
-
- if not new_param['zoom'] or int(new_param['zoom']) < 12:
- new_param['zoom'] = '12'
-
- new_param['coord'] = ''
- if new_param['lon'] and new_param['lat']:
- new_param['coord'] = '{lon}:{lat}'.format(**new_param)
- new_param['routing_start'] = ''
- if new_param['routing_start_lat'] and new_param['routing_start_lon']:
- new_param['routing_start'] = \
- "{routing_start_lat}:{routing_start_lon}".format(**new_param)
- new_param['routing_end'] = ''
- if new_param['routing_end_lat'] and new_param['routing_end_lon']:
- new_param['routing_end'] = \
- "{routing_end_lat}:{routing_end_lon}".format(**new_param)
-
- tiny_url.parameters = \
- "{zoom};{coord};"\
- ";{checked_categories};{current_feature}"\
- "{routing_speed};{routing_transport};"\
- "{routing_start};"\
- "{routing_end};"\
- "{steps}".format(**new_param)
- if TinyUrl.objects.filter(parameters=tiny_url.parameters).count():
- tiny_url.delete()
- else:
- tiny_url.save()
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('chimere', '0002_property_route'),
- ]
-
- operations = [
- migrations.RunPython(convert_tiny_urls),
- ]