def test_to_archive(self): m = TopoMap( document_id=1, editor='ign', scale='20000', code='3431OT', locales=[ DocumentLocale( id=2, lang='en', title='Lac d\'Annecy'), DocumentLocale( id=3, lang='fr', title='Lac d\'Annecy'), ] ) map_archive = m.to_archive() self.assertIsNone(map_archive.id) self.assertEqual(map_archive.document_id, m.document_id) self.assertEqual( map_archive.editor, m.editor) self.assertEqual(map_archive.scale, m.scale) self.assertEqual(map_archive.code, m.code) archive_locals = m.get_archive_locales() self.assertEqual(len(archive_locals), 2) locale = m.locales[0] locale_archive = archive_locals[0] self.assertIsNot(locale_archive, locale) self.assertIsNone(locale_archive.id) self.assertEqual(locale_archive.lang, locale.lang) self.assertEqual(locale_archive.title, locale.title)
def test_to_archive(self): m = TopoMap(document_id=1, editor='ign', scale='20000', code='3431OT', locales=[ DocumentLocale(id=2, lang='en', title='Lac d\'Annecy'), DocumentLocale(id=3, lang='fr', title='Lac d\'Annecy'), ]) map_archive = m.to_archive() self.assertIsNone(map_archive.id) self.assertEqual(map_archive.document_id, m.document_id) self.assertEqual(map_archive.editor, m.editor) self.assertEqual(map_archive.scale, m.scale) self.assertEqual(map_archive.code, m.code) archive_locals = m.get_archive_locales() self.assertEqual(len(archive_locals), 2) locale = m.locales[0] locale_archive = archive_locals[0] self.assertIsNot(locale_archive, locale) self.assertIsNone(locale_archive.id) self.assertEqual(locale_archive.lang, locale.lang) self.assertEqual(locale_archive.title, locale.title)
def _add_test_data(self): self.map1 = TopoMap(editor='IGN', scale='25000', code='3431OT') self.locale_en = DocumentLocale(lang='en', title='Lac d\'Annecy') self.locale_fr = DocumentLocale(lang='fr', title='Lac d\'Annecy') self.map1.locales.append(self.locale_en) self.map1.locales.append(self.locale_fr) self.map1.geometry = DocumentGeometry( geom_detail='SRID=3857;POINT(635956 5723604)') self.session.add(self.map1) self.session.flush() user_id = self.global_userids['contributor'] DocumentRest.create_new_version(self.map1, user_id) self.map2 = TopoMap(editor='IGN', scale='25000', code='3432OT') self.session.add(self.map2) self.map3 = TopoMap(editor='IGN', scale='25000', code='3433OT') self.session.add(self.map3) self.map4 = TopoMap(editor='IGN', scale='25000', code='3434OT') self.map4.locales.append( DocumentLocale(lang='en', title='Lac d\'Annecy')) self.map4.locales.append( DocumentLocale(lang='fr', title='Lac d\'Annecy')) self.session.add(self.map4) self.session.flush()
def test_get_maps(self): map1 = TopoMap( locales=[ DocumentLocale(lang='en', title='Passo del Maloja'), DocumentLocale(lang='fr', title='Passo del Maloja') ], geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((1060345.67641127 5869598.161661,1161884.8271513 5866294.47946546,1159243.3608776 5796747.98963817,1058506.68785187 5800000.03655724,1060345.67641127 5869598.161661))' ) # noqa ) map2 = TopoMap( locales=[DocumentLocale(lang='fr', title='Monte Disgrazia')], geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((1059422.5474971 5834730.45170096,1110000.12573506 5833238.36363707,1108884.30979916 5798519.62445622,1058506.68785187 5800000.03655724,1059422.5474971 5834730.45170096))' ) # noqa ) map3 = TopoMap( locales=[DocumentLocale(lang='fr', title='Sciora')], geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((1059422.5474971 5834730.45170096,1084713.47958582 5834021.11961652,1084204.54539729 5816641.60293193,1058963.71520182 5817348.14989301,1059422.5474971 5834730.45170096))' ) # noqa ) map4 = TopoMap( locales=[DocumentLocale(lang='fr', title='...')], geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((753678.422528324 6084684.82967302,857818.351438369 6084952.58494753,857577.289072432 6013614.93425228,754282.556732048 6013351.52692378,753678.422528324 6084684.82967302))' ) # noqa ) waypoint = Waypoint( waypoint_type='summit', geometry=DocumentGeometry( geom='SRID=3857;POINT(1069913.22199537 5830556.39234855)' ) # noqa ) self.session.add_all([waypoint, map1, map2, map3, map4]) self.session.flush() maps = get_maps(waypoint, 'en') self.assertEqual( set([m.document_id for m in maps]), set([map1.document_id, map2.document_id, map3.document_id])) for m in maps: # check that the "best" locale is set self.assertEqual(len(m.locales), 1)
def test_update_cache_version_for_map(self): waypoint = Waypoint(waypoint_type='summit') waypoint_unrelated = Waypoint(waypoint_type='summit') topo_map = TopoMap() self.session.add_all([waypoint, waypoint_unrelated, topo_map]) self.session.flush() self.session.add( TopoMapAssociation(document_id=waypoint.document_id, topo_map_id=topo_map.document_id)) self.session.flush() update_cache_version_for_map(topo_map) cache_version_waypoint = self.session.query(CacheVersion).get( waypoint.document_id) cache_version_untouched = self.session.query(CacheVersion).get( waypoint_unrelated.document_id) cache_version_map = self.session.query(CacheVersion).get( topo_map.document_id) self.assertEqual(cache_version_waypoint.version, 2) self.assertEqual(cache_version_untouched.version, 1) # the cache key of the map is also not updated! self.assertEqual(cache_version_map.version, 1)
def _add_test_data(self): self.map1 = TopoMap(editor='IGN', scale='25000', code='3431OT') self.locale_en = DocumentLocale(lang='en', title='Lac d\'Annecy') self.locale_fr = DocumentLocale(lang='fr', title='Lac d\'Annecy') self.map1.locales.append(self.locale_en) self.map1.locales.append(self.locale_fr) self.map1.geometry = DocumentGeometry( geom_detail='SRID=3857;POLYGON((611774 5706934,611774 5744215,' '642834 5744215,642834 5706934,611774 5706934))') self.session.add(self.map1) self.session.flush() user_id = self.global_userids['contributor'] DocumentRest.create_new_version(self.map1, user_id) self.map2 = TopoMap(editor='IGN', scale='25000', code='3432OT') self.session.add(self.map2) self.map3 = TopoMap(editor='IGN', scale='25000', code='3433OT') self.session.add(self.map3) self.map4 = TopoMap(editor='IGN', scale='25000', code='3434OT') self.map4.locales.append( DocumentLocale(lang='en', title='Lac d\'Annecy')) self.map4.locales.append( DocumentLocale(lang='fr', title='Lac d\'Annecy')) self.session.add(self.map4) self.session.flush() self.waypoint1 = Waypoint( waypoint_type='summit', geometry=DocumentGeometry( geom='SRID=3857;POINT(677461.381691516 5740879.44638645)')) self.waypoint2 = Waypoint( waypoint_type='summit', geometry=DocumentGeometry( geom='SRID=3857;POINT(693666.031687976 5741108.7574713)')) route_geom = 'SRID=3857;LINESTRING(668518 5728802, 668528 5728812)' self.route = Route(activities=['skitouring'], geometry=DocumentGeometry(geom_detail=route_geom)) self.session.add_all([self.waypoint1, self.waypoint2, self.route]) self.session.add( TopoMapAssociation(document=self.waypoint2, topo_map=self.map1)) self.session.flush()
def setUp(self): # noqa super(TestDocumentDeleteRest, self).setUp() self._prefix = '/documents/delete/' user_id = self.global_userids['contributor'] self.waypoint1 = Waypoint( waypoint_type='summit', elevation=2000, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='fr', title='Dent de Crolles', description='...', summary='La Dent de Crolles') ]) self.session.add(self.waypoint1) self.waypoint2 = Waypoint( waypoint_type='summit', elevation=4985, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='en', title='Mont Blanc', description='...', document_topic=DocumentTopic(topic_id=1), summary='The heighest point in Europe') ]) self.session.add(self.waypoint2) self.waypoint3 = Waypoint( waypoint_type='summit', elevation=3, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)')) self.waypoint3.locales.append( WaypointLocale(lang='en', title='Mont Granier', description='...', access='yep', document_topic=DocumentTopic(topic_id=2))) self.waypoint3.locales.append( WaypointLocale(lang='fr', title='Mont Granier', description='...', access='ouai', document_topic=DocumentTopic(topic_id=3))) self.session.add(self.waypoint3) self.session.flush() self.waypoint4 = Waypoint( waypoint_type='summit', elevation=3, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)')) self.waypoint4.locales.append( WaypointLocale(lang='en', title='Mont Ventoux', description='...')) self.session.add(self.waypoint4) self.session.flush() DocumentRest.create_new_version(self.waypoint1, user_id) update_feed_document_create(self.waypoint1, user_id) DocumentRest.create_new_version(self.waypoint2, user_id) update_feed_document_create(self.waypoint2, user_id) DocumentRest.create_new_version(self.waypoint3, user_id) update_feed_document_create(self.waypoint3, user_id) DocumentRest.create_new_version(self.waypoint4, user_id) update_feed_document_create(self.waypoint4, user_id) self.session.flush() route1_geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)') self.route1 = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', main_waypoint_id=self.waypoint1.document_id, geometry=route1_geometry) self.route1.locales.append( RouteLocale(lang='en', title='Mont Blanc from the air', description='...', title_prefix='Mont Blanc :', gear='paraglider')) self.session.add(self.route1) route2_geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)') self.route2 = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', geometry=route2_geometry) self.route2.locales.append( RouteLocale(lang='en', title='Mont Blanc from the air', description='...', title_prefix='Mont Blanc :', gear='paraglider', document_topic=DocumentTopic(topic_id=4))) self.session.add(self.route2) self.session.flush() self._add_association(self.waypoint1, self.route1) self._add_association(self.waypoint2, self.route2) self.session.flush() route3_geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)') self.route3 = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', geometry=route3_geometry) self.route3.locales.append( RouteLocale(lang='en', title='Mont Blanc from the air', description='...', title_prefix='Mont Blanc :', gear='paraglider', document_topic=DocumentTopic(topic_id=5))) self.session.add(self.route3) self.session.flush() DocumentRest.create_new_version(self.route1, user_id) update_feed_document_create(self.route1, user_id) DocumentRest.create_new_version(self.route2, user_id) update_feed_document_create(self.route2, user_id) DocumentRest.create_new_version(self.route3, user_id) update_feed_document_create(self.route3, user_id) self._add_association(self.waypoint1, self.route3) self._add_association(self.waypoint2, self.route3) self._add_association(self.waypoint3, self.route3) self._add_tag(self.route3) self.session.flush() outing1_geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)') self.outing1 = Outing(activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), geometry=outing1_geometry, locales=[ OutingLocale( lang='en', title='...', description='...', weather='sunny', document_topic=DocumentTopic(topic_id=6)) ]) self.session.add(self.outing1) self.session.flush() DocumentRest.create_new_version(self.outing1, user_id) update_feed_document_create(self.outing1, user_id) self._add_association(self.route1, self.outing1) self.session.flush() outing1b_geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)') self.outing1b = Outing(activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), geometry=outing1b_geometry, redirects_to=self.outing1.document_id, locales=[ OutingLocale(lang='en', title='...', description='...', weather='sunny') ]) self.session.add(self.outing1b) self.session.flush() DocumentRest.create_new_version(self.outing1b, user_id) self.session.flush() outing2_geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)') self.outing2 = Outing(activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), geometry=outing2_geometry, locales=[ OutingLocale( lang='en', title='...', description='...', weather='sunny', document_topic=DocumentTopic(topic_id=7)) ]) self.session.add(self.outing2) self.session.flush() DocumentRest.create_new_version(self.outing2, user_id) update_feed_document_create(self.outing2, user_id) self._add_association(self.route2, self.outing2) self._add_association(self.route3, self.outing2) self.session.flush() self.article1 = Article( activities=['skitouring'], categories=['gear'], article_type='personal', locales=[ DocumentLocale(lang='en', title='Some article', description='Some content', document_topic=DocumentTopic(topic_id=8)) ]) self.session.add(self.article1) self.session.flush() DocumentRest.create_new_version(self.article1, user_id) update_feed_document_create(self.article1, user_id) self.session.flush() self.article1.locales[0].title = 'Some other article title' article1_lang = self.article1.locales[0].lang self.session.flush() DocumentRest.update_version(self.article1, user_id, 'new title', [UpdateType.LANG], [article1_lang]) self.session.flush() self._add_association(self.route2, self.article1) self._add_association(self.outing2, self.article1) self.session.flush() self.article2 = Article(activities=['skitouring'], categories=['gear'], article_type='personal', locales=[ DocumentLocale(lang='en', title='Some other article', description='Some content') ]) self.session.add(self.article2) self.session.flush() # Make the article older than 24h old written_at = datetime.datetime(2016, 1, 1, 0, 0, 0) DocumentRest.create_new_version(self.article2, user_id, written_at) update_feed_document_create(self.article2, user_id) self.session.flush() self.book1 = Book(activities=['skitouring'], book_types=['biography'], locales=[ DocumentLocale( lang='en', title='Some book', description='Some content', document_topic=DocumentTopic(topic_id=9)) ]) self.session.add(self.book1) self.session.flush() DocumentRest.create_new_version(self.book1, user_id) update_feed_document_create(self.book1, user_id) self._add_association(self.book1, self.route2) self._add_association(self.book1, self.route3) self.session.flush() self.xreport1 = Xreport( event_activity='alpine_climbing', event_type='stone_ice_fall', locales=[ XreportLocale(lang='en', title='Lac d\'Annecy', place='some place descrip. in english', document_topic=DocumentTopic(topic_id=10)), XreportLocale(lang='fr', title='Lac d\'Annecy', place='some place descrip. in french', document_topic=DocumentTopic(topic_id=11)) ]) self.session.add(self.xreport1) self.session.flush() DocumentRest.create_new_version(self.xreport1, user_id) update_feed_document_create(self.xreport1, user_id) self._add_association(self.outing2, self.xreport1) self._add_association(self.route3, self.xreport1) self.session.flush() self.image1 = Image(filename='image1.jpg', activities=['paragliding'], height=1500, image_type='collaborative', locales=[ DocumentLocale( lang='en', title='Mont Blanc from the air', description='...', document_topic=DocumentTopic(topic_id=12)) ]) self.session.add(self.image1) self.session.flush() DocumentRest.create_new_version(self.image1, user_id) self._add_association(self.outing1, self.image1) self._add_association(self.route3, self.image1) self._add_association(self.waypoint3, self.image1) self.session.flush() update_feed_images_upload( [self.image1], [{ 'filename': 'image1.jpg', 'activities': ['paragliding'], 'image_type': 'collaborative', 'height': 1500, 'locales': [{ 'lang': 'en', 'title': 'Mont Blanc from the air' }], 'associations': { 'outings': [{ 'document_id': self.outing1.document_id }], 'routes': [{ 'document_id': self.route3.document_id }], 'waypoints': [{ 'document_id': self.waypoint3.document_id }] } }], user_id) self.image1.filename = 'image1.1.jpg' self.session.flush() DocumentRest.update_version(self.image1, user_id, 'changed filename', [UpdateType.FIGURES], []) self.session.flush() self.topo_map1 = TopoMap( code='3232ET', editor='IGN', scale='25000', locales=[DocumentLocale(lang='fr', title='Belley')], geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((611774.917032556 5706934.10657514,611774.917032556 5744215.5846397,642834.402570357 5744215.5846397,642834.402570357 5706934.10657514,611774.917032556 5706934.10657514))' ) # noqa ) self.session.add(self.topo_map1) self.session.flush() self.session.add( TopoMapAssociation(document=self.waypoint2, topo_map=self.topo_map1)) self.session.add( TopoMapAssociation(document=self.waypoint3, topo_map=self.topo_map1)) self.session.add( TopoMapAssociation(document=self.route2, topo_map=self.topo_map1)) self.session.add( TopoMapAssociation(document=self.route3, topo_map=self.topo_map1)) self.session.flush() self.area1 = Area( area_type='range', geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((611774.917032556 5706934.10657514,611774.917032556 5744215.5846397,642834.402570357 5744215.5846397,642834.402570357 5706934.10657514,611774.917032556 5706934.10657514))' # noqa )) self.session.add(self.area1) self.session.flush() self.session.add( AreaAssociation(document=self.waypoint2, area=self.area1)) self.session.add( AreaAssociation(document=self.waypoint3, area=self.area1)) self.session.add(AreaAssociation(document=self.route2, area=self.area1)) self.session.add(AreaAssociation(document=self.route3, area=self.area1)) self.session.flush()
def _add_test_data(self): self.waypoint = Waypoint(waypoint_type='summit', elevation=2203) self.locale_en = WaypointLocale(lang='en', title='Mont Granier', description='...', access='yep') self.locale_fr = WaypointLocale(lang='fr', title='Mont Granier', description='...', access='ouai') self.waypoint.locales.append(self.locale_en) self.waypoint.locales.append(self.locale_fr) self.waypoint.geometry = DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)') self.session.add(self.waypoint) self.session.flush() user_id = self.global_userids['contributor'] DocumentRest.create_new_version(self.waypoint, user_id) self.waypoint_version = self.session.query(DocumentVersion). \ filter(DocumentVersion.document_id == self.waypoint.document_id). \ filter(DocumentVersion.lang == 'en').first() self.waypoint2 = Waypoint( waypoint_type='climbing_outdoor', elevation=2, rock_types=[], geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)')) self.session.add(self.waypoint2) self.waypoint3 = Waypoint( waypoint_type='summit', elevation=3, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)')) self.session.add(self.waypoint3) self.waypoint4 = Waypoint( waypoint_type='summit', elevation=4, protected=True, geometry=DocumentGeometry(geom='SRID=3857;POINT(659775 5694854)')) self.waypoint4.locales.append( WaypointLocale(lang='en', title='Mont Granier', description='...', access='yep')) self.waypoint4.locales.append( WaypointLocale(lang='fr', title='Mont Granier', description='...', access='ouai')) self.session.add(self.waypoint4) self.waypoint5 = Waypoint( waypoint_type='summit', elevation=3, redirects_to=self.waypoint.document_id, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)')) self.waypoint5.locales.append( WaypointLocale(lang='en', title='Mont Granier', description='...', access='yep')) self.session.add(self.waypoint5) self.session.flush() DocumentRest.create_new_version(self.waypoint4, self.global_userids['contributor']) DocumentRest.create_new_version(self.waypoint5, self.global_userids['contributor']) # add some associations self.route1 = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', main_waypoint_id=self.waypoint.document_id) self.route1.locales.append( RouteLocale(lang='en', title='Mont Blanc from the air', description='...', title_prefix='Mont Blanc :', gear='paraglider')) self.session.add(self.route1) self.session.flush() self.route2 = Route(redirects_to=self.route1.document_id, activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', main_waypoint_id=self.waypoint.document_id) self.route3 = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1') self.route3.locales.append( RouteLocale(lang='en', title='Mont Blanc from the air', description='...', title_prefix='Mont Blanc :', gear='paraglider')) self.session.add(self.route2) self.session.add(self.route3) self.session.flush() self.session.add( Association(parent_document_id=self.waypoint.document_id, child_document_id=self.waypoint4.document_id)) self.session.add( Association(parent_document_id=self.waypoint.document_id, child_document_id=self.waypoint5.document_id)) self.session.add( Association(parent_document_id=self.waypoint.document_id, child_document_id=self.route1.document_id)) self.session.add( Association(parent_document_id=self.waypoint.document_id, child_document_id=self.route2.document_id)) self.session.add( Association(parent_document_id=self.waypoint4.document_id, child_document_id=self.route3.document_id)) self.outing1 = Outing(activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 3), locales=[ OutingLocale(lang='en', title='...', description='...', weather='sunny') ]) self.session.add(self.outing1) self.session.flush() self.session.add( Association(parent_document_id=self.route1.document_id, child_document_id=self.outing1.document_id)) self.outing2 = Outing(redirects_to=self.outing1.document_id, activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), locales=[ OutingLocale(lang='en', title='...', description='...', weather='sunny') ]) self.outing3 = Outing(activities=['skitouring'], date_start=datetime.date(2015, 12, 31), date_end=datetime.date(2016, 1, 1), locales=[ OutingLocale(lang='en', title='...', description='...', weather='sunny') ]) self.session.add(self.outing2) self.session.add(self.outing3) self.session.flush() self.session.add( Association(parent_document_id=self.route1.document_id, child_document_id=self.outing2.document_id)) self.session.add( Association(parent_document_id=self.route3.document_id, child_document_id=self.outing3.document_id)) # add a map topo_map = TopoMap( code='3232ET', editor='IGN', scale='25000', locales=[DocumentLocale(lang='fr', title='Belley')], geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((611774.917032556 5706934.10657514,611774.917032556 5744215.5846397,642834.402570357 5744215.5846397,642834.402570357 5706934.10657514,611774.917032556 5706934.10657514))' ) # noqa ) self.session.add(topo_map) self.session.flush() self.session.add( TopoMap( redirects_to=topo_map.document_id, code='3232ET', editor='IGN', scale='25000', locales=[DocumentLocale(lang='fr', title='Belley')], geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((611774.917032556 5706934.10657514,611774.917032556 5744215.5846397,642834.402570357 5744215.5846397,642834.402570357 5706934.10657514,611774.917032556 5706934.10657514))' ) # noqa )) # add areas self.area1 = Area( area_type='range', geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((611774.917032556 5706934.10657514,611774.917032556 5744215.5846397,642834.402570357 5744215.5846397,642834.402570357 5706934.10657514,611774.917032556 5706934.10657514))' # noqa )) self.area2 = Area(area_type='range', locales=[DocumentLocale(lang='fr', title='France')]) self.session.add_all([self.area1, self.area2]) self.session.add( AreaAssociation(document=self.waypoint, area=self.area2)) self.session.flush()
def _add_test_data(self): self.route = Route( activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1') self.locale_en = RouteLocale( lang='en', title='Mont Blanc from the air', description='...', gear='paraglider', title_prefix='Main waypoint title', document_topic=DocumentTopic(topic_id=1)) self.locale_fr = RouteLocale( lang='fr', title='Mont Blanc du ciel', description='...', gear='paraglider') self.route.locales.append(self.locale_en) self.route.locales.append(self.locale_fr) self.route.geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)' ) self.session.add(self.route) self.session.flush() user_id = self.global_userids['contributor'] DocumentRest.create_new_version(self.route, user_id) self.route_version = self.session.query(DocumentVersion). \ filter(DocumentVersion.document_id == self.route.document_id). \ filter(DocumentVersion.lang == 'en').first() self.article1 = Article(categories=['site_info'], activities=['hiking'], article_type='collab') self.session.add(self.article1) self.session.flush() self._add_association(Association.create( parent_document=self.route, child_document=self.article1), user_id) self.book1 = Book(activities=['hiking'], book_types=['biography']) self.session.add(self.book1) self.session.flush() self._add_association(Association.create( parent_document=self.book1, child_document=self.route), user_id) self.route2 = Route( activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', locales=[ RouteLocale( lang='en', title='Mont Blanc from the air', description='...', gear='paraglider'), RouteLocale( lang='fr', title='Mont Blanc du ciel', description='...', gear='paraglider')] ) self.session.add(self.route2) self.session.flush() DocumentRest.create_new_version(self.route2, user_id) self.route3 = Route( activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=500, height_diff_down=500, durations='1', locales=[ RouteLocale( lang='en', title='Mont Blanc from the air', description='...', gear='paraglider'), RouteLocale( lang='fr', title='Mont Blanc du ciel', description='...', gear='paraglider')] ) self.route3.geometry = DocumentGeometry(geom='SRID=3857;POINT(0 0)') self.session.add(self.route3) self.session.flush() DocumentRest.create_new_version(self.route3, user_id) self.route4 = Route( activities=['rock_climbing'], elevation_max=1500, elevation_min=700, height_diff_up=500, height_diff_down=500, durations='1', climbing_outdoor_type='single') self.route4.locales.append(RouteLocale( lang='en', title='Mont Blanc from the air', description='...', gear='paraglider')) self.route4.locales.append(RouteLocale( lang='fr', title='Mont Blanc du ciel', description='...', gear='paraglider')) self.session.add(self.route4) # add some associations self.waypoint = Waypoint( waypoint_type='climbing_outdoor', elevation=4, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)')) self.waypoint.locales.append(WaypointLocale( lang='en', title='Mont Granier 1 (en)', description='...', access='yep', access_period='yapa')) self.waypoint.locales.append(WaypointLocale( lang='fr', title='Mont Granier 1 (fr)', description='...', access='ouai', access_period='yapa')) self.session.add(self.waypoint) self.waypoint2 = Waypoint( waypoint_type='summit', elevation=4, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)')) self.waypoint2.locales.append(WaypointLocale( lang='en', title='Mont Granier 2 (en)', description='...', access='yep')) self.session.add(self.waypoint2) self.session.flush() self._add_association(Association.create( parent_document=self.route, child_document=self.route4), user_id) self._add_association(Association.create( parent_document=self.route4, child_document=self.route), user_id) self._add_association(Association.create( parent_document=self.waypoint, child_document=self.route), user_id) # add a map topo_map = TopoMap( code='3232ET', editor='IGN', scale='25000', locales=[ DocumentLocale(lang='fr', title='Belley') ], geometry=DocumentGeometry(geom_detail='SRID=3857;POLYGON((635900 5723600, 635900 5723700, 636000 5723700, 636000 5723600, 635900 5723600))') # noqa ) self.session.add(topo_map) self.session.flush() self.session.add(TopoMapAssociation( document=self.route, topo_map=topo_map)) self.outing1 = Outing( activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), public_transport=True, locales=[ OutingLocale( lang='en', title='...', description='...', weather='sunny') ] ) self.session.add(self.outing1) self.session.flush() self._add_association(Association.create( parent_document=self.route, child_document=self.outing1), user_id) self.outing2 = Outing( redirects_to=self.outing1.document_id, activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), locales=[ OutingLocale( lang='en', title='...', description='...', weather='sunny') ] ) self.session.add(self.outing2) self.session.flush() self._add_association(Association.create( parent_document=self.route, child_document=self.outing2), user_id) self.session.flush() # add areas self.area1 = Area( area_type='range', geometry=DocumentGeometry( geom_detail='SRID=3857;POLYGON((635900 5723600, 635900 5723700, 636000 5723700, 636000 5723600, 635900 5723600))' # noqa ) ) self.area2 = Area( area_type='range', locales=[ DocumentLocale(lang='fr', title='France') ] ) self.session.add_all([self.area1, self.area2]) self.session.flush()
def _add_test_data(self): self.contributor = self.session.query(User).get( self.global_userids['contributor']) self.contributor2 = self.session.query(User).get( self.global_userids['contributor2']) DocumentRest.create_new_version(self.contributor.profile, self.contributor.id) ml = Mailinglist( listname='avalanche', user_id=self.contributor.id, email=self.contributor.email) self.session.add(ml) area = Area( area_type='range', locales=[DocumentLocale(lang='fr', title='Chartreuse')], geometry=DocumentGeometry( geom_detail='SRID=3857;POLYGON((668518.249382151 5728802.39591739,668518.249382151 5745465.66808356,689156.247019149 5745465.66808356,689156.247019149 5728802.39591739,668518.249382151 5728802.39591739))' # noqa ) ) self.session.add(area) self.session.add(AreaAssociation( document=self.contributor.profile, area=area)) self.session.flush() self.map1 = TopoMap( code='3232ET', editor='IGN', scale='25000', locales=[ DocumentLocale(lang='fr', title='Belley') ], geometry=DocumentGeometry(geom_detail='SRID=3857;POLYGON((611774.917032556 5706934.10657514,611774.917032556 5744215.5846397,642834.402570357 5744215.5846397,642834.402570357 5706934.10657514,611774.917032556 5706934.10657514))') # noqa ) self.session.add(self.map1) self.session.flush() self.session.add(TopoMapAssociation( document=self.contributor.profile, topo_map=self.map1)) self.session.flush() self.waypoint1 = Waypoint( waypoint_type='summit', elevation=2203, locales=[WaypointLocale(lang='en', title='Mont Granier')], geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)')) self.session.add(self.waypoint1) self.session.flush() DocumentRest.create_new_version(self.waypoint1, self.contributor.id) update_feed_document_create(self.waypoint1, self.contributor.id) route1_geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)') self.route1 = Route( activities=['skitouring'], geometry=route1_geometry) self.route1.locales.append(RouteLocale( lang='en', title='Mont Blanc from the air', description='...', title_prefix='Mont Blanc :', gear='paraglider')) self.session.add(self.route1) self.session.flush() DocumentRest.create_new_version(self.route1, self.contributor.id) update_feed_document_create(self.route1, self.contributor.id) self.session.add(Association.create( parent_document=self.waypoint1, child_document=self.route1)) self.outing1 = Outing( activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), elevation_max=1500, locales=[OutingLocale(lang='en', title='foo')], geometry=DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)' # noqa ) ) self.session.add(self.outing1) self.session.flush() DocumentRest.create_new_version(self.outing1, self.contributor.id) update_feed_document_create(self.outing1, self.contributor.id) self.outing2 = Outing( activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), elevation_max=1500, locales=[OutingLocale(lang='en', title='foo')], geometry=DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)' # noqa ) ) self.session.add(self.outing2) self.session.flush() DocumentRest.create_new_version(self.outing2, self.contributor.id) update_feed_document_create(self.outing2, self.contributor.id) self.session.add(Association( parent_document_id=self.contributor.id, parent_document_type=USERPROFILE_TYPE, child_document_id=self.outing1.document_id, child_document_type=OUTING_TYPE)) self.session.add(Association( parent_document_id=self.contributor.id, parent_document_type=USERPROFILE_TYPE, child_document_id=self.outing2.document_id, child_document_type=OUTING_TYPE)) self.session.add(Association( parent_document_id=self.contributor2.id, parent_document_type=USERPROFILE_TYPE, child_document_id=self.outing2.document_id, child_document_type=OUTING_TYPE)) self.session.add(DocumentTag( document_id=self.route1.document_id, document_type=ROUTE_TYPE, user_id=self.contributor.id)) self.session.add(DocumentTagLog( document_id=self.route1.document_id, document_type=ROUTE_TYPE, user_id=self.contributor.id, is_creation=True)) self.session.flush()
def _add_test_data(self): self.route = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1') self.locale_en = RouteLocale(lang='en', title='Mont Blanc from the air', description='...', gear='paraglider', title_prefix='Main waypoint title') self.locale_fr = RouteLocale(lang='fr', title='Mont Blanc du ciel', description='...', gear='paraglider') self.route.locales.append(self.locale_en) self.route.locales.append(self.locale_fr) self.route.geometry = DocumentGeometry( geom_detail='SRID=3857;LINESTRING(635956 5723604, 635966 5723644)', geom='SRID=3857;POINT(635961 5723624)') self.session.add(self.route) self.session.flush() user_id = self.global_userids['contributor'] DocumentRest.create_new_version(self.route, user_id) self.route_version = self.session.query(DocumentVersion). \ filter(DocumentVersion.document_id == self.route.document_id). \ filter(DocumentVersion.lang == 'en').first() self.route2 = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', locales=[ RouteLocale(lang='en', title='Mont Blanc from the air', description='...', gear='paraglider'), RouteLocale(lang='fr', title='Mont Blanc du ciel', description='...', gear='paraglider') ]) self.session.add(self.route2) self.session.flush() DocumentRest.create_new_version(self.route2, user_id) self.route3 = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=500, height_diff_down=500, durations='1') self.session.add(self.route3) self.route4 = Route(activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=500, height_diff_down=500, durations='1') self.route4.locales.append( RouteLocale(lang='en', title='Mont Blanc from the air', description='...', gear='paraglider')) self.route4.locales.append( RouteLocale(lang='fr', title='Mont Blanc du ciel', description='...', gear='paraglider')) self.session.add(self.route4) # add a map self.session.add( TopoMap( code='3232ET', editor='IGN', scale='25000', locales=[DocumentLocale(lang='fr', title='Belley')], geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((635900 5723600, 635900 5723700, 636000 5723700, 636000 5723600, 635900 5723600))' ) # noqa )) # add some associations self.waypoint = Waypoint( waypoint_type='summit', elevation=4, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)')) self.waypoint.locales.append( WaypointLocale(lang='en', title='Mont Granier (en)', description='...', access='yep')) self.waypoint.locales.append( WaypointLocale(lang='fr', title='Mont Granier (fr)', description='...', access='ouai')) self.session.add(self.waypoint) self.waypoint2 = Waypoint( waypoint_type='summit', elevation=4, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)')) self.waypoint2.locales.append( WaypointLocale(lang='en', title='Mont Granier (en)', description='...', access='yep')) self.session.add(self.waypoint2) self.session.flush() self.session.add( Association(parent_document_id=self.route.document_id, child_document_id=self.route4.document_id)) self.session.add( Association(parent_document_id=self.route4.document_id, child_document_id=self.route.document_id)) self.session.add( Association(parent_document_id=self.waypoint.document_id, child_document_id=self.route.document_id)) self.outing1 = Outing(activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), locales=[ OutingLocale(lang='en', title='...', description='...', weather='sunny') ]) self.session.add(self.outing1) self.session.flush() self.session.add( Association(parent_document_id=self.route.document_id, child_document_id=self.outing1.document_id)) self.outing2 = Outing(redirects_to=self.outing1.document_id, activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), locales=[ OutingLocale(lang='en', title='...', description='...', weather='sunny') ]) self.session.add(self.outing2) self.session.flush() self.session.add( Association(parent_document_id=self.route.document_id, child_document_id=self.outing2.document_id)) self.session.flush() # add areas self.area1 = Area( area_type='range', geometry=DocumentGeometry( geom_detail= 'SRID=3857;POLYGON((635900 5723600, 635900 5723700, 636000 5723700, 636000 5723600, 635900 5723600))' # noqa )) self.area2 = Area(area_type='range', locales=[DocumentLocale(lang='fr', title='France')]) self.session.add_all([self.area1, self.area2]) self.session.flush()