def person(request, person_id, person): try: person = check_url(Person, person_id, person) except UnmatchingSlugException as e: return HttpResponsePermanentRedirect(e.args[0].get_absolute_url()) # if person.productions.count() == 0: # raise Http404() try: fp = open(settings.OUR_ROOT + '/data/flickr/person/' + person_id) flickr = fp.read() fp.close() flickr = json.loads(flickr) except: flickr = '' past, future = productions_for(person) plays = person.plays.all() photo_form = PhotoForm(person) alert = person.alerts.filter(user=request.user.pk) same_name = Person.objects.filter( first_name=person.first_name, last_name=person.last_name).exclude(id=person.id) return render( request, 'people/person.html', { 'person': person, 'past': past, 'future': future, 'plays': plays, 'photo_form': photo_form, 'flickr': flickr, 'alert': alert, 'same_name': same_name, })
def search_around(request, s, type=''): s = s.strip() m = re.match(r'([-\d.]+)\s*,\s*([-\d.]+)$', s) if m: lat, lon = m.groups() name = request.GET.get('name', '') elif validate_postcode(s): try: r = urllib.request.urlopen( 'https://mapit.mysociety.org/postcode/%s' % urllib.parse.quote(s)).read() loc = json.loads(r) lat, lon = loc['wgs84_lat'], loc['wgs84_lon'] name = re.sub(r'(\d[A-Z]{2})', r' \1', s.upper()) except: return search(request, redirect_okay=False) elif validate_partial_postcode(s): try: r = urllib.request.urlopen( 'https://mapit.mysociety.org/postcode/partial/' + urllib.parse.quote(s)).read() r = json.loads(r) lat, lon = r['wgs84_lat'], r['wgs84_lon'] except: return search(request, redirect_okay=False) name = s.upper() else: raise Http404() if not lat or not lon: return places = Place.objects.around(float(lat), float(lon)) if not type: past, future = productions_for(places, 'places') alert = AlertLocal.objects.filter(user=request.user.id, latitude=lat, longitude=lon) return render( request, 'search-around.html', { 'places': places, 'past': past, 'future': future, 'lat': lat, 'lon': lon, 'latlon': '%s,%s' % (lat, lon), 'name': name, 'alert': alert, }) return productions_list(request, places, type, 'search-around-productions.html', { 'lat': lat, 'lon': lon, })
def place(request, place_id, place): try: place = check_url(Place, place_id, place) except UnmatchingSlugException as e: return HttpResponsePermanentRedirect(e.args[0].get_absolute_url()) past, future = productions_for(place) photo_form = PhotoForm(place) alert = place.alerts.filter(user=request.user.pk) return render(request, 'place.html', { 'place': place, 'past': past, 'future': future, 'photo_form': photo_form, 'alert': alert, })
def play(request, play_id, play): try: play = check_url(Play, play_id, play) except UnmatchingSlugException as e: return HttpResponsePermanentRedirect(e.args[0].get_absolute_url()) past, future = productions_for(play) alert = play.alerts.filter(user=request.user.pk) same_name = Play.objects.filter(title=play.title).exclude(id=play.id) return render( request, 'plays/play.html', { 'play': play, 'past': past, 'future': future, 'alert': alert, 'same_name': same_name, })
def search_around(request, s, type=''): s = s.strip() m = re.match('([-\d.]+)\s*,\s*([-\d.]+)$', s) if m: lat, lon = m.groups() name = request.GET.get('name', '') elif validate_postcode(s): try: r = urllib.urlopen('http://mapit.mysociety.org/postcode/%s' % urllib.quote(s)).read() loc = simplejson.loads(r) pc, lat, lon = loc['postcode'], loc['wgs84_lat'], loc['wgs84_lon'] name = re.sub('(\d[A-Z]{2})', r' \1', s.upper()) except: return search(request, redirect_okay=False) elif validate_partial_postcode(s): try: r = urllib.urlopen('http://mapit.mysociety.org/postcode/partial/' + urllib.quote(s)).read() r = simplejson.loads(r) lat, lon = r['wgs84_lat'], r['wgs84_lon'] except: return search(request, redirect_okay=False) name = s.upper() else: raise Exception, 'Bad request' if not lat or not lon: return places = Place.objects.around(float(lat), float(lon)) if not type: past, future = productions_for(places, 'places') alert = AlertLocal.objects.filter(user=request.user.id, latitude=lat, longitude=lon) return render(request, 'search-around.html', { 'places': places, 'past': past, 'future': future, 'lat': lat, 'lon': lon, 'latlon': '%s,%s' % (lat, lon), 'name': name, 'alert': alert, }) return productions_list(request, places, type, 'search-around-productions.html', { 'lat': lat, 'lon': lon, })
person = check_url(Person, person_id, person) except UnmatchingSlugException, e: return HttpResponsePermanentRedirect(e.args[0].get_absolute_url()) #if person.productions.count() == 0: # raise Http404() try: fp = open(settings.OUR_ROOT + '/data/flickr/person/' + person_id) flickr = fp.read() fp.close() flickr = json.loads(flickr) except: flickr = '' past, future = productions_for(person) plays = person.plays.all() photo_form = PhotoForm(person) alert = person.alerts.filter(user=request.user.pk) same_name = Person.objects.filter(first_name=person.first_name, last_name=person.last_name).exclude(id=person.id) return render(request, 'people/person.html', { 'person': person, 'past': past, 'future': future, 'plays': plays, 'photo_form': photo_form, 'flickr': flickr, 'alert': alert, 'same_name': same_name, })
if form.is_valid(): form.save() messages.success(request, "Your changes have been stored; thank you.") return HttpResponseRedirect(place.get_absolute_url()) return render(request, 'places/place_edit.html', { 'place': place, 'form': form, }) def place(request, place_id, place): try: place = check_url(Place, place_id, place) except UnmatchingSlugException, e: return HttpResponsePermanentRedirect(e.args[0].get_absolute_url()) past, future = productions_for(place) photo_form = PhotoForm(place) alert = place.alerts.filter(user=request.user.pk) return render(request, 'place.html', { 'place': place, 'past': past, 'future': future, 'photo_form': photo_form, 'alert': alert, }) #@login_required #def place_alert(request, place_id, place, type): # try: # place = check_url(Place, place_id, place) # except UnmatchingSlugException, e: