本文整理汇总了Python中geotrek.trekking.factories.POIFactory类的典型用法代码示例。如果您正苦于以下问题:Python POIFactory类的具体用法?Python POIFactory怎么用?Python POIFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了POIFactory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setUp
def setUp(self):
geom_1 = LineString((0, 0), (1, 0), (2, 0))
self.p1 = Path.objects.create(name='First Path', geom=geom_1)
self.p2 = Path.objects.create(name='Second Path', geom=geom_1)
geom_2 = LineString((0, 2), (1, 2), (2, 2))
self.p3 = Path.objects.create(name='Third Path', geom=geom_2)
self.p4 = Path.objects.create(name='Fourth Path', geom=geom_2)
geom_3 = LineString((2, 2), (1, 2), (0, 2))
self.p5 = Path.objects.create(name='Fifth Path', geom=geom_3)
geom_4 = LineString((4, 0), (6, 0))
self.p6 = Path.objects.create(name='Sixth Path', geom=geom_4)
self.p7 = Path.objects.create(name='Seventh Path', geom=geom_4)
geom_5 = LineString((0, 6), (1, 6), (2, 6))
self.p8 = Path.objects.create(name='Eighth Path', geom=geom_5)
self.p9 = Path.objects.create(name='Nineth Path', geom=geom_5)
poi1 = POIFactory.create(name='POI1', no_path=True)
poi1.add_path(self.p1, start=0.5, end=0.5)
poi2 = POIFactory.create(name='POI2', no_path=True)
poi2.add_path(self.p2, start=0.5, end=0.5)
poi3 = POIFactory.create(name='POI3', no_path=True)
poi3.add_path(self.p4, start=0.5, end=0.5)
示例2: setUp
def setUp(self):
profile = UserProfileFactory.create(user__username='homer',
user__password='dooh')
user = profile.user
user.groups.add(Group.objects.get(name=u"Référents communication"))
self.client.login(username=user.username, password='dooh')
self.content1 = POIFactory.create()
structure = StructureFactory.create()
self.content2 = POIFactory.create(structure=structure)
示例3: test_pois_geojson
def test_pois_geojson(self):
trek = TrekFactory.create(no_path=True)
p1 = PathFactory.create(geom=LineString((0, 0, 0), (4, 4, 2)))
poi = POIFactory(no_path=True)
trek.add_path(p1, start=0.5, end=1.0)
poi.add_path(p1, start=0.6, end=0.6)
AttachmentFactory.create(obj=poi, attachment_file=get_dummy_uploaded_image())
self.assertNotEqual(poi.thumbnail, None)
self.assertEqual(len(trek.pois), 1)
url = reverse('trekking:trek_poi_geojson', kwargs={'pk': trek.pk})
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
poislayer = json.loads(response.content)
poifeature = poislayer['features'][0]
self.assertTrue('serializable_thumbnail' in poifeature['properties'])
示例4: test_delete_multiple_path
def test_delete_multiple_path(self):
path_1 = PathFactory.create(name="path_1", geom=LineString((0, 0), (4, 0)))
path_2 = PathFactory.create(name="path_2", geom=LineString((2, 2), (2, -2)))
poi = POIFactory.create(no_path=True, name="POI_1")
poi.add_path(path_1, start=0, end=0)
infrastructure = InfrastructureFactory.create(no_path=True, name="INFRA_1")
infrastructure.add_path(path_1, start=0, end=1)
signage = SignageFactory.create(no_path=True, name="SIGNA_1")
signage.add_path(path_1, start=0, end=1)
trail = TrailFactory.create(no_path=True, name="TRAIL_1")
trail.add_path(path_2, start=0, end=1)
service = ServiceFactory.create(no_path=True)
service.add_path(path_2, start=0, end=1)
InterventionFactory.create(topology=signage, name="INTER_1")
response = self.client.get(reverse('core:multiple_path_delete', args=['%s,%s' % (path_1.pk, path_2.pk)]))
self.assertIn("POI_1", response.content)
self.assertIn("INFRA_1", response.content)
self.assertIn("SIGNA_1", response.content)
self.assertIn("TRAIL_1", response.content)
self.assertIn("ServiceType", response.content)
self.assertIn("INTER_1", response.content)
response = self.client.post(reverse('core:multiple_path_delete', args=['%s,%s' % (path_1.pk, path_2.pk)]))
self.assertEqual(response.status_code, 302)
self.assertEqual(Path.objects.count(), 2)
self.assertEqual(Path.objects.filter(pk__in=[path_1.pk, path_2.pk]).count(), 0)
示例5: test_helpers
def test_helpers(self):
trek = TrekFactory.create(no_path=True)
p1 = PathFactory.create(geom=LineString((0, 0), (4, 4)))
p2 = PathFactory.create(geom=LineString((4, 4), (8, 8)))
poi = POIFactory.create(no_path=True)
PathAggregationFactory.create(topo_object=trek, path=p1,
start_position=0.5)
PathAggregationFactory.create(topo_object=trek, path=p2)
PathAggregationFactory.create(topo_object=poi, path=p1,
start_position=0.6, end_position=0.6)
# /!\ District are automatically linked to paths at DB level
d1 = DistrictFactory.create(geom=MultiPolygon(
Polygon(((-2, -2), (3, -2), (3, 3), (-2, 3), (-2, -2)))))
# Ensure related objects are accessible
self.assertItemsEqual(trek.pois, [poi])
self.assertItemsEqual(poi.treks, [trek])
self.assertItemsEqual(trek.districts, [d1])
# Ensure there is no duplicates
PathAggregationFactory.create(topo_object=trek, path=p1,
end_position=0.5)
self.assertItemsEqual(trek.pois, [poi])
self.assertItemsEqual(poi.treks, [trek])
d2 = DistrictFactory.create(geom=MultiPolygon(
Polygon(((3, 3), (9, 3), (9, 9), (3, 9), (3, 3)))))
self.assertItemsEqual(trek.districts, [d1, d2])
示例6: test_delete_show_topologies
def test_delete_show_topologies(self):
self.login()
path = PathFactory(name="PATH_AB", geom=LineString((0, 0), (4, 0)))
poi = POIFactory.create(name='POI', no_path=True)
poi.add_path(path, start=0.5, end=0.5)
trail = TrailFactory.create(name='Trail', no_path=True)
trail.add_path(path, start=0.1, end=0.2)
trek = TrekFactory.create(name='Trek', no_path=True)
trek.add_path(path, start=0.2, end=0.3)
service = ServiceFactory.create(no_path=True, type__name='ServiceType')
service.add_path(path, start=0.2, end=0.3)
signage = SignageFactory.create(name='Signage', no_path=True)
signage.add_path(path, start=0.2, end=0.2)
infrastructure = InfrastructureFactory.create(name='Infrastructure', no_path=True)
infrastructure.add_path(path, start=0.2, end=0.2)
intervention1 = InterventionFactory.create(topology=signage, name='Intervention1')
t = TopologyFactory.create(no_path=True)
t.add_path(path, start=0.2, end=0.5)
intervention2 = InterventionFactory.create(topology=t, name='Intervention2')
response = self.client.get(path.get_delete_url())
self.assertEqual(response.status_code, 200)
self.assertContains(response, 'Different topologies are linked with this path')
self.assertContains(response, '<a href="/poi/%d/">POI</a>' % poi.pk)
self.assertContains(response, '<a href="/trail/%d/">Trail</a>' % trail.pk)
self.assertContains(response, '<a href="/trek/%d/">Trek</a>' % trek.pk)
self.assertContains(response, '<a href="/service/%d/">ServiceType</a>' % service.pk)
self.assertContains(response, '<a href="/signage/%d/">Signage</a>' % signage.pk)
self.assertContains(response, '<a href="/infrastructure/%d/">Infrastructure</a>' % infrastructure.pk)
self.assertContains(response, '<a href="/intervention/%d/">Intervention1</a>' % intervention1.pk)
self.assertContains(response, '<a href="/intervention/%d/">Intervention2</a>' % intervention2.pk)
示例7: test_show_delete_multiple_path_in_list
def test_show_delete_multiple_path_in_list(self):
path_1 = PathFactory.create(name="path_1", geom=LineString((0, 0), (4, 0)))
PathFactory.create(name="path_2", geom=LineString((2, 2), (2, -2)))
poi = POIFactory.create(no_path=True)
poi.add_path(path_1, start=0, end=0)
response = self.client.get(reverse('core:path_list'))
self.assertIn('<a href="#delete" id="btn-delete" role="button">', response.content)
示例8: test_poi_geojson_translation
def test_poi_geojson_translation(self):
# Create a Trek with a POI
trek = TrekFactory.create(no_path=True, published_fr=True, published_it=True)
p1 = PathFactory.create(geom=LineString((0, 0), (4, 4)))
poi = POIFactory.create(no_path=True)
poi.name_fr = "Chapelle"
poi.name_en = "Chapel"
poi.name_it = "Capela"
poi.published_fr = True
poi.published_en = True
poi.published_it = True
poi.save()
trek.add_path(p1, start=0.5)
poi.add_path(p1, start=0.6, end=0.6)
# Check that it applies to GeoJSON also :
self.assertEqual(len(trek.pois), 1)
poi = trek.pois[0]
for lang, expected in [('fr', poi.name_fr),
('it', poi.name_it)]:
url = '/api/{lang}/treks/{pk}/pois.geojson'.format(lang=lang, pk=trek.pk)
self.login()
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
obj = json.loads(response.content)
jsonpoi = obj.get('features', [])[0]
self.assertEqual(jsonpoi.get('properties', {}).get('name'), expected)
self.client.logout() # Django 1.6 keeps language in session
示例9: test_poi_geojson_translation
def test_poi_geojson_translation(self):
# Create a Trek with a POI
trek = TrekFactory.create(no_path=True)
p1 = PathFactory.create(geom=LineString((0, 0), (4, 4)))
poi = POIFactory.create(no_path=True)
poi.name_fr = "Chapelle"
poi.name_en = "Chapel"
poi.name_it = "Capela"
poi.published_fr = True
poi.published_en = True
poi.published_it = True
poi.save()
trek.add_path(p1, start=0.5)
poi.add_path(p1, start=0.6, end=0.6)
# Check that it applies to GeoJSON also :
self.assertEqual(len(trek.pois), 1)
poi = trek.pois[0]
for lang, expected in [('fr-FR', poi.name_fr),
('it-IT', poi.name_it)]:
url = reverse('trekking:trek_poi_geojson', kwargs={'pk': trek.pk})
self.login()
response = self.client.get(url, HTTP_ACCEPT_LANGUAGE=lang)
self.assertEqual(response.status_code, 200)
obj = json.loads(response.content)
jsonpoi = obj.get('features', [])[0]
self.assertEqual(jsonpoi.get('properties', {}).get('name'), expected)
self.client.logout() # Django 1.6 keeps language in session
示例10: test_delete_view_multiple_path
def test_delete_view_multiple_path(self):
path_1 = PathFactory.create(name="path_1", geom=LineString((0, 0), (4, 0)))
path_2 = PathFactory.create(name="path_2", geom=LineString((2, 2), (2, -2)))
poi = POIFactory.create(no_path=True)
poi.add_path(path_1, start=0, end=0)
response = self.client.get(reverse('core:multiple_path_delete', args=['%s,%s' % (path_1.pk, path_2.pk)]))
self.assertEqual(response.status_code, 200)
self.assertIn('Do you really wish to delete', response.content)
示例11: test_deleted_pois
def test_deleted_pois(self):
p1 = PathFactory.create(geom=LineString((0, 0), (4, 4)))
trek = TrekFactory.create(no_path=True)
trek.add_path(p1)
poi = POIFactory.create(no_path=True)
poi.add_path(p1, start=0.6, end=0.6)
self.assertItemsEqual(trek.pois, [poi])
poi.delete()
self.assertItemsEqual(trek.pois, [])
示例12: test_helpers
def test_helpers(self):
trek = TrekFactory.create(no_path=True)
p1 = PathFactory.create(geom=LineString((0, 0), (4, 4)))
p2 = PathFactory.create(geom=LineString((4, 4), (8, 8)))
poi = POIFactory.create(no_path=True)
poi2 = POIFactory.create(no_path=True)
service = ServiceFactory.create(no_path=True)
service.type.practices.add(trek.practice)
trek.add_path(path=p1, start=0.5, end=1)
trek.add_path(path=p2, start=0, end=1)
poi.add_path(path=p1, start=0.6, end=0.6)
poi2.add_path(path=p1, start=0.6, end=0.6)
service.add_path(path=p1, start=0.7, end=0.7)
trek.pois_excluded.add(poi2.pk)
# /!\ District are automatically linked to paths at DB level
d1 = DistrictFactory.create(geom=MultiPolygon(
Polygon(((-2, -2), (3, -2), (3, 3), (-2, 3), (-2, -2)))))
# Ensure related objects are accessible
self.assertItemsEqual(trek.pois_excluded.all(), [poi2])
self.assertItemsEqual(trek.all_pois, [poi, poi2])
self.assertItemsEqual(trek.pois, [poi])
self.assertItemsEqual(trek.services, [service])
self.assertItemsEqual(poi.treks, [trek])
self.assertItemsEqual(service.treks, [trek])
self.assertItemsEqual(trek.districts, [d1])
# Ensure there is no duplicates
trek.add_path(path=p1, start=0.5, end=1)
self.assertItemsEqual(trek.pois_excluded.all(), [poi2])
self.assertItemsEqual(trek.all_pois, [poi, poi2])
self.assertItemsEqual(trek.pois, [poi])
self.assertItemsEqual(trek.services, [service])
self.assertItemsEqual(poi.treks, [trek])
self.assertItemsEqual(service.treks, [trek])
d2 = DistrictFactory.create(geom=MultiPolygon(
Polygon(((3, 3), (9, 3), (9, 9), (3, 9), (3, 3)))))
self.assertItemsEqual(trek.districts, [d1, d2])
示例13: test_pois_should_be_ordered_by_progression
def test_pois_should_be_ordered_by_progression(self):
p1 = PathFactory.create(geom=LineString((0, 0), (4, 4)))
p2 = PathFactory.create(geom=LineString((4, 4), (8, 8)))
self.trek = TrekFactory.create(no_path=True)
self.trek.add_path(p1)
self.trek.add_path(p2, order=1)
self.trek_reverse = TrekFactory.create(no_path=True)
self.trek_reverse.add_path(p2, start=0.8, end=0, order=0)
self.trek_reverse.add_path(p1, start=1, end=0.2, order=1)
self.poi1 = POIFactory.create(no_path=True)
self.poi1.add_path(p1, start=0.8, end=0.8)
self.poi2 = POIFactory.create(no_path=True)
self.poi2.add_path(p1, start=0.3, end=0.3)
self.poi3 = POIFactory.create(no_path=True)
self.poi3.add_path(p2, start=0.5, end=0.5)
pois = self.trek.pois
self.assertEqual([self.poi2, self.poi1, self.poi3], list(pois))
pois = self.trek_reverse.pois
self.assertEqual([self.poi3, self.poi1, self.poi2], list(pois))
示例14: test_remove_poi
def test_remove_poi(self):
"""
poi is linked with AB
poi
+ D
* |
* |
A---------B C
|----|
e1
we got after remove AB :
poi
+ * * * * * * * D
|
|
C
poi is linked with DC and e1 is deleted
"""
ab = PathFactory.create(name="AB", geom=LineString((0, 0), (1, 0)))
PathFactory.create(name="CD", geom=LineString((2, 0), (2, 1)))
poi = POIFactory.create(no_path=True, offset=1)
e1 = TopologyFactory.create(no_path=True)
PathAggregationFactory.create(path=ab, topo_object=e1, start_position=0.5, end_position=1)
poi.add_path(ab, start=0.5, end=0.5)
poi.save()
self.assertTrue(almostequal(1, poi.offset))
self.assertEqual(poi.geom, Point(0.5, 1.0, srid=2154))
ab.delete()
poi.reload()
e1.reload()
self.assertEqual(len(Path.objects.all()), 1)
self.assertEqual(e1.deleted, True)
self.assertEqual(poi.deleted, False)
self.assertTrue(almostequal(1.5, poi.offset))
示例15: setUp
def setUp(self):
self.login()
polygon = 'SRID=%s;MULTIPOLYGON(((0 0, 0 3, 3 3, 3 0, 0 0)))' % settings.SRID
self.city = CityFactory(geom=polygon)
self.district = DistrictFactory(geom=polygon)
self.poi = POIFactory.create(geom=Point(0, 0, srid=settings.SRID))
self.attachment = AttachmentFactory.create(obj=self.poi,
attachment_file=get_dummy_uploaded_image())
self.touristic_content = tourism_factories.TouristicContentFactory(geom='SRID=%s;POINT(1 1)' % settings.SRID)
self.touristic_event = tourism_factories.TouristicEventFactory(geom='SRID=%s;POINT(2 2)' % settings.SRID)
self.pk = self.poi.pk
url = '/api/pois/%s/' % self.pk
self.response = self.client.get(url)
self.result = json.loads(self.response.content)