Exemplo n.º 1
0
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))
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
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))
Exemplo n.º 5
0
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))
Exemplo n.º 6
0
 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
Exemplo n.º 7
0
 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