Exemple #1
0
    def create_list(self, list_name, list_elements, callback, list_id=None, account_id=None, email_address=None):
        cb_id = self.add_callback(callback, list_id)
        cb = functools.partial(self._on_create_list_response, cb_id)

        if list_id is not None:
            self.db.execute(
                'UPDATE list SET words=%s, modified_at=%s, stub=%s WHERE id=%s AND account_id in (SELECT id FROM account WHERE id = %s or email = %s)',
                (json.dumps(list_elements),
                 datetime.datetime.now(),
                 uri.title_to_stub(list_name),
                 list_id,
                 account_id,
                 email_address),
                callback=cb)

        else:
            self.db.execute(
                'INSERT INTO list (title, words, stub, account_id) VALUES (%s, %s, %s, (SELECT id FROM account WHERE id = %s OR email = %s)) RETURNING id',
                (list_name,
                 json.dumps(list_elements),
                 uri.title_to_stub(list_name),
                 account_id,
                 email_address),
                callback=cb)
Exemple #2
0
 def test_non_unicode_chinese_characters(self):
     stub = uri.title_to_stub('北京')
     self.assertEqual(stub, 'bei-jing')
Exemple #3
0
 def test_chinese_characters(self):
     stub = uri.title_to_stub('Word List: 小禺言')
     self.assertEqual(stub, 'word-list-xiao-yu-yan')
Exemple #4
0
 def test_title_with_punctuation(self):
     stub = uri.title_to_stub('   TiTLe!#%@%  CaSE!!  ')
     self.assertEqual(stub, 'title-case')