예제 #1
0
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)
예제 #2
0
파일: views.py 프로젝트: NYPL/gazetteer
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)  
예제 #3
0
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)
예제 #4
0
파일: views.py 프로젝트: NYPL/gazetteer
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)