def get(self): '''no arguments''' random_pic = Picture.gql( 'WHERE rand > :1 ORDER BY rand LIMIT 1', random() ).get() logging.debug('Random Picture: %s' % random_pic) self.redirect('/photo/%s' % random_pic.gphoto_id)
def get(self): """no arguments""" rss = memcache.get("feed") if rss is None: pics = Picture.gql("ORDER BY uploaded DESC LIMIT 11") host = self.request.host_url rss = render("feed.xml", {"pics": pics, "host": host}) memcache.set("feed", rss, time=900) self.response.out.write(rss)
def get(self): '''no arguments''' page = memcache.get('mosaic') if page is None: pics = Picture.gql('ORDER BY uploaded ASC') page = render('list.html', {'pics':pics}) if not memcache.add('mosaic', page): logging.error('Mosaic not written to memcache') else: logging.debug('New memcache entry: mosaic') logging.debug('All pictures listed') self.response.out.write(page)
def _get_newer_or_older(pic, newer=True): '''query the database for adjacent pictures @param pic: center picture @param newer: True for LHS, False for RHS ''' if newer: options = ('>', 'ASC') else: options = ('<', 'DESC') query = 'WHERE uploaded %s :1 ORDER BY uploaded %s LIMIT 1' % options picture = Picture.gql(query, pic.uploaded) return picture.get()
def get(self, gphoto_id=None): '''display the picture @param gphoto_id: the numeric ID from picasa ''' if not gphoto_id: query = Picture.gql('ORDER BY uploaded DESC LIMIT 1') latest_picture = query.get() gphoto_id = str(latest_picture.gphoto_id) page = memcache.get(gphoto_id, namespace='pics') if page is None: pics = Picture.all().filter('gphoto_id =', int(gphoto_id)) pic = pics.get() logging.debug('Picture view: %s' % pic.gphoto_id) page = render('pic.html', {'pic':pic, 'next':get_newer(pic), 'prev':get_older(pic) }) if not memcache.add(gphoto_id, page, 86400, namespace='pics'): logging.error('Page %s not written to memcache' % gphoto_id) else: logging.debug('New memcache entry: %s' % gphoto_id) self.response.out.write(page)