def edit_place(request, place_id): place = get_place_or_404(place_id) geojson = json.dumps(place.to_geojson()) context = RequestContext(request, { 'place': place, 'place_geojson': geojson }) return render_to_response("edit_place.html", context)
def detail(request, place_id): place = get_place_or_404(place_id) if place.updated: updated = isodate.isodates.parse_date(place.updated) else: updated = None geojson = json.dumps(place.to_geojson()) similar_geojson = api_views.similar(request, place_id).content similar_places = json.loads(similar_geojson) if place.feature_code: try: feature_code = FeatureCode.objects.get(typ=place.feature_code) except: feature_code = "Invalid" else: feature_code = "None" revisions_json = api_views.history(request, place_id).content revisions = json.loads(revisions_json) #FIXME: move get_wms_layers to a model method or so WARPER_URLS = ['http://maps.nypl.org'] wms_layers = [] for uri in place.uris: for warper_url in WARPER_URLS: if uri.startswith(warper_url): regex = re.compile(r'' + warper_url + '/warper/layers/([0-9]*)\..*$') if regex.match(uri): warper_id = regex.findall(uri)[0] wms_layer = warper_url + "/warper/layers/wms/" + warper_id wms_layers.append(wms_layer) if place.relationships is not None: place.relationships = [{ 'type': obj['type'], 'place': Place.objects.get(obj['id']) } for obj in place.relationships] context = RequestContext( request, { 'place': place, 'updated': updated, 'place_geojson': geojson, 'feature_code': feature_code, 'similar_places': similar_places, 'similar_geojson': similar_geojson, 'revisions': revisions, 'revisions_json': revisions_json, 'wms_layers': json.dumps(wms_layers), 'GRANULARITY_CHOICES': GRANULARITY_CHOICES, 'RELATION_CHOICES': Place.RELATION_CHOICES }) return render_to_response("detail.html", context)
def detail(request, place_id): place = get_place_or_404(place_id) if place.updated: updated = isodate.isodates.parse_date(place.updated) else: updated = None geojson = json.dumps(place.to_geojson()) similar_geojson = api_views.similar(request, place_id).content similar_places = json.loads(similar_geojson) if place.feature_code: try: feature_code = FeatureCode.objects.get(typ=place.feature_code) except: feature_code = "Invalid" else: feature_code = "None" revisions_json = api_views.history(request, place_id).content revisions = json.loads(revisions_json) #FIXME: move get_wms_layers to a model method or so WARPER_URLS = ['http://maps.nypl.org'] wms_layers = [] for uri in place.uris: for warper_url in WARPER_URLS: if uri.startswith(warper_url): regex = re.compile(r'' + warper_url + '/warper/layers/([0-9]*)\..*$') if regex.match(uri): warper_id = regex.findall(uri)[0] wms_layer = warper_url + "/warper/layers/wms/" + warper_id wms_layers.append(wms_layer) if place.relationships is not None: place.relationships = [{'type': obj['type'], 'place': Place.objects.get(obj['id'])} for obj in place.relationships] context = RequestContext(request, { 'place': place, 'updated': updated, 'place_geojson': geojson, 'feature_code': feature_code, 'similar_places': similar_places, 'similar_geojson': similar_geojson, 'revisions': revisions, 'revisions_json': revisions_json, 'wms_layers': json.dumps(wms_layers), 'GRANULARITY_CHOICES': GRANULARITY_CHOICES, 'RELATION_CHOICES': Place.RELATION_CHOICES }) return render_to_response("detail.html", context)