Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
 def test_word_without_description(self):
     word = ['大', 'da']
     self.assertEqual('"大","da",""', formatter.format_word_as_csv(word))
Beispiel #4
0
 def test_basic_formatting(self):
     word = ['大', 'da', ['big']]
     self.assertEqual('"大","da","big"', formatter.format_word_as_csv(word))
Beispiel #5
0
 def test_word_without_description(self):
     word = ['大', 'da']
     self.assertEqual('"大","da",""', formatter.format_word_as_csv(word))
Beispiel #6
0
 def test_basic_formatting(self):
     word = ['大', 'da', ['big']]
     self.assertEqual('"大","da","big"', formatter.format_word_as_csv(word))