def doge_poem(seed): chooser = random.Random(seed) first = doge.get_verse(chooser=chooser) filter_delimeter = lambda item: item != first[0] second = doge.get_verse(filter_delimeter=filter_delimeter, chooser=chooser) last = doge.get_finale(chooser=chooser) return doge_page(first, second, last)
def doge_index(): first = doge.get_verse() mode = request.args.get('mode', None) if mode == 'alliteration': filter_reference = lambda item: item.startswith(first[1][0]) else: filter_reference = None filter_delimeter = lambda item: item != first[0] second = doge.get_verse(filter_reference, filter_delimeter) last = doge.get_finale() return doge_page(first, second, last)
def doge_atom(): released = schedule.regular(offset=6) seed = calendar.timegm(released.timetuple()) link = url_for('doge_poem', seed=seed, _external=True) chooser = random.Random(seed) first = doge.get_verse(chooser=chooser) filter_delimeter = lambda item: item != first[0] second = doge.get_verse(filter_delimeter=filter_delimeter, chooser=chooser) last = doge.get_finale(chooser=chooser) poetry = '{0}\n{1}\n{2}\n'.format(' '.join(first), ' '.join(second), last[0]) feed = AtomFeed('DogPoet Poetry', feed_url=request.url, url=request.url_root) feed.add(title=poetry, title_type='text', content=poetry, content_type='text', published=released, updated=released, id=link, url=link, author='DogePoet') return feed.get_response()