def add_from_foursquare_id(request, venueid): place = Place.objects.get_by_foursquare_id(venueid) if place is not None: return redirect(place.get_absolute_url(), permanent=True) try: place = Place.insert_or_update_foursquare(foursquare_id=venueid, user=request.user) except Exception, e: return render_to_response('generic/placeerror.html', {'error': e}, context_instance=RequestContext(request))
def add_from_foursquare_id(request, venueid): place = Place.objects.get_by_foursquare_id(venueid) if place is not None: return redirect(place.get_absolute_url(), permanent=True) try: place = Place.insert_or_update_foursquare(foursquare_id=venueid, user = request.user ) except Exception, e: return render_to_response('generic/placeerror.html', {'error': e}, context_instance=RequestContext(request))
def _add_urls_to_results(search): gets = list() length = len(search['results']) for i in xrange(length): gets.append(Place.all().filter('google_places_id =', search['results'][i]['id']).run()) for i in xrange(length): place = gets[i] try: place = place.next() search['results'][i].update({'_url': place.get_absolute_url()}) except StopIteration: # no existe, devolvemos una url 'generica' search['results'][i].update({'_url': '/place/gref/%s' % search['results'][i]['reference']}) return search
def add_from_google_reference(request, reference): """ Añade un lugar a partir de una referencia :param reference: clave de referencia :type reference: :class:`string` """ place = Place.objects.get_by_google_reference(reference) if place is not None: # ya existe, hacemos una redireccion permanente return redirect(place.get_absolute_url(), permanent=True) try: place = Place.insert_or_update_google( google_places_reference=reference, user=request.user) except Exception, e: return render_to_response('generic/placeerror.html', {'error': e}, context_instance=RequestContext(request))
def add_from_google_reference(request, reference): """ Añade un lugar a partir de una referencia :param reference: clave de referencia :type reference: :class:`string` """ place = Place.objects.get_by_google_reference(reference) if place is not None: # ya existe, hacemos una redireccion permanente return redirect(place.get_absolute_url(), permanent=True) try: place = Place.insert_or_update_google(google_places_reference=reference, user = request.user ) except Exception, e: return render_to_response('generic/placeerror.html', {'error': e}, context_instance=RequestContext(request))
def _add_urls_to_results(search): gets = list() length = len(search['results']) for i in xrange(length): gets.append(Place.all().filter('google_places_id =', search['results'][i]['id']).run()) for i in xrange(length): place = gets[i] try: place = place.next() search['results'][i].update({'_url': place.get_absolute_url()}) except StopIteration: # no existe, devolvemos una url 'generica' search['results'][i].update({ '_url': '/place/gref/%s' % search['results'][i]['reference'] }) return search
def save(self, list_id='', **kwargs): import datetime try: starts = datetime.date(self.cleaned_data.get('starts_year', 1), self.cleaned_data.get('starts_month', 1), self.cleaned_data.get('starts_day', 1) ) except: starts = None try: ends = datetime.date(self.cleaned_data.get('ends_year', 1), self.cleaned_data.get('ends_month', 1), self.cleaned_data.get('ends_day', 1) ) except: ends = None import time time_format = "%H:%M" try: sh = time.strptime(self.cleaned_data['starts_hour'], time_format) starts_hour = datetime.time(sh[3], sh[4]) except: starts_hour = None try: eh = time.strptime(self.cleaned_data['ends_hour'], time_format) ends_hour = datetime.time(eh[3], eh[4]) except: ends_hour = None from geoalert.models import Suggestion if 'poi_id' in self.cleaned_data and self.cleaned_data['poi_id'] is not None: poi = Place.objects.get_by_id(self.cleaned_data['poi_id']) if poi is None: return None elif 'place_reference' in self.cleaned_data and self.cleaned_data['place_reference'] != '': poi = Place.insert_or_update_google(user=kwargs['user'], google_places_reference=self.cleaned_data['place_reference'] ) if poi is None: return None else: poi = None id = kwargs.get('id', None) try: suggestion = Suggestion.update_or_insert( id = kwargs.get('id', None), name = self.cleaned_data['name'], description = self.cleaned_data['description'], date_starts = starts, date_ends = ends, hour_starts = starts_hour, hour_ends = ends_hour, poi = poi, user = kwargs['user'], done = self.cleaned_data.get('done', False), tags = self.cleaned_data.get('tags', None), vis = self.cleaned_data['visibility'], to_facebook = self.cleaned_data['to_facebook'], to_twitter = self.cleaned_data['to_twitter'], ) except Exception, e: import logging logging.error('EXCEPTION: editando sugerencia: %s' % e.message) import traceback logging.error(traceback.format_exc()) return None