def get(self, list_id, list_format): word_list = yield gen.Task(self.list_db.get_word_list, int(list_id)) if not self.valid_to_show_list(word_list): if not self.current_user: self.redirect('/') else: self.redirect('/home') return if list_format == '.csv': self.set_content_header('text/csv') for word in word_list['words']: self.write('%s\n' % (formatter.format_word_as_csv(word))) self.finish() elif list_format == '.tsv': self.set_content_header('text/tsv') for word in word_list['words']: self.write('%s\n' % (formatter.format_word_as_tsv(word))) self.finish() elif word_list is not None: # html list words = word_list.get('words', []) words = list(map(add_description, words)) word_count = len(words) base_uri = self.get_base_uri() self.render('word_list.html', title=word_list.get('title', ''), word_list_id=word_list.get('id', 0), modified_at=word_list.get('modified_at'), words=words, word_count=word_count, base_uri=base_uri) else: self.send_error(404)
def test_word_without_description(self): word = ['大', 'da'] self.assertEqual('"大","da",""', formatter.format_word_as_csv(word))
def test_basic_formatting(self): word = ['大', 'da', ['big']] self.assertEqual('"大","da","big"', formatter.format_word_as_csv(word))