def get(self): stream_id = int(self.request.get('id')) min_date = int(self.request.get('min')) max_date = int(self.request.get('max')) days_to_subtract = 365 - max_date formatted_date_max = datetime.today() - timedelta( days=days_to_subtract) days_to_subtract = 365 - min_date formatted_date_min = datetime.today() - timedelta( days=days_to_subtract) self.response.headers['Content-Type'] = 'application/json' photos = Photo.query(Photo.stream_id == stream_id, Photo.date <= formatted_date_max, Photo.date >= formatted_date_min).fetch() photos_data = [] if photos != None: for photo in photos: photo_data = { 'url': photo.get_url(), 'lat': photo.get_lat(), 'lon': photo.get_lon() } photos_data.append(photo_data) else: photos_data = None self.response.out.write(json.dumps(photos_data))
def get(self): stream_id = int(self.request.get('id')) offset = int(self.request.get('offset')) limit = int(self.request.get('limit')) self.response.headers['Content-Type'] = 'application/json' stream = Stream.get_by_id(stream_id) photos = Photo.query(Photo.stream_id == stream_id) now = datetime.datetime.now() if stream != None and photos != None: if not stream.views: stream.views = 0 if not stream.views_list: stream.views_list = [] stream.views = stream.views + 1 stream.views_list.insert(0, now) stream.put() photos_urls = [] for photo in photos.fetch(limit, offset=offset): photos_urls.append(photo.get_url()) stream_data = { 'id': stream.key.id(), 'name': stream.name, 'cover_url': stream.cover_url, 'tags': stream.tags, 'photos': photos_urls } else: stream_data = {'id': None} self.response.out.write(json.dumps(stream_data))
def get(self): photo_query = Photo.query() photos = photo_query.fetch() photo_list = [] for photo in photos: url = photo.url lat = photo.lat lon = photo.lon stream_id = photo.stream_id geopoint = search.GeoPoint(lat, lon) search_index = search.Document(doc_id=url, fields=[ search.TextField(name='url', value=url), search.TextField( name='stream_id', value=str(stream_id)), search.GeoField(name='geopoint', value=geopoint) ]) result = search.Index(name='photo').put(search_index) photo_list.append({ 'stream_id': stream_id, 'url': url, 'lat': lat, 'lon': lon }) self.response.out.write(json.dumps(photo_list))