Example #1
0
    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))
Example #2
0
    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))