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)
def test_non_unicode_chinese_characters(self): stub = uri.title_to_stub('北京') self.assertEqual(stub, 'bei-jing')
def test_chinese_characters(self): stub = uri.title_to_stub('Word List: 小禺言') self.assertEqual(stub, 'word-list-xiao-yu-yan')
def test_title_with_punctuation(self): stub = uri.title_to_stub(' TiTLe!#%@% CaSE!! ') self.assertEqual(stub, 'title-case')