def get(self, user_name): req = self.request count = int(req.get('count', 20)) if count > 100: count = 100 # TODO(d): Super hack. user_email = utils.make_user_email(user_name) q = Meme.all().order('-create_datetime').filter('creator', user_email) cursor = req.get('cursor') if cursor: q.with_cursor(cursor) memes = [] date_buckets = [] date_buckets.append(memes) for meme in q.run(limit=count): memes.append(meme.create_data()) page_title = user_name + '\'s Memes' html = template_helper.render('view_memes.html', page_title=page_title, date_buckets=date_buckets) self.response.write(html)
def get(self): req = self.request after = req.get('after') after_date = datetime.fromtimestamp(float(after)) q = Meme.all() q.order('-create_datetime') if after: q.filter('create_datetime >', after_date) q.filter('listed', True) memes = [] first_date = None for meme in q.run(limit=1): if not first_date: first_date = meme.create_datetime memes.append(meme.create_data()) if len(memes) == 0: self.response.write('') return timestamp = calendar.timegm(first_date.utctimetuple()) + 1 html = template_helper.render('partial/stream_memes.html', memes=memes, first_date=timestamp) self.response.write(html)
def get(self): req = self.request q = Meme.all() q.order('-create_datetime') q.filter('listed', True) page_title = 'Live Meme Stream' memes = [] first_date = None for meme in q.run(limit=25): if not first_date: first_date = meme.create_datetime memes.append(meme.create_data()) timestamp = calendar.timegm(first_date.utctimetuple()) + 1 html = template_helper.render('stream.html', page_title=page_title, memes=memes, first_date=timestamp) self.response.write(html)
def get(self): req = self.request count = int(req.get('count', 50)) if count > 100: count = 100 q = Meme.all() bucket_dates = False page_title = '' order = req.get('order') if order == 'recent': q.order('-create_datetime') page_title = 'Recent' elif order == 'fame': q.order('-score').filter('score >', 9) page_title = 'Hall of Fame' else: # TODO(d): Decay score over time. bucket_dates = True order = 'top' q.order('-create_date').order('-score') page_title = 'Top' q.filter('listed', True) template_name = req.get('template_name') if template_name: page_title += ' ' + template_name q.filter('template_name', template_name) cursor = req.get('cursor') if cursor: q.with_cursor(cursor) page_title += ' Memes' memes = [] more_results = False last_date = None date_buckets = [] scanned = 0 for meme in q.run(limit=count + 1): datetime = meme.create_datetime if last_date is None or datetime.day != last_date.day: # Only create more than one bucket if we're not showing recent if last_date is None or bucket_dates: last_date = datetime memes = [] date_buckets.append(memes) memes.append(meme.create_data()) scanned += 1 if scanned >= count: more_results = True break if more_results: cursor = q.cursor() html = template_helper.render('view_memes.html', page_title=page_title, date_buckets=date_buckets, memes=memes, order=order, count=count, cursor=cursor) self.response.write(html)