Пример #1
0
 def testAdd(self):
     keys = Keys()
     before_count = len(keys.all())
     self.assertTrue(keys.add(keys.new(), persist=False))
     after_count = len(keys.all())
     self.assertGreater(after_count, before_count)
     self.assertEqual(before_count + 1, after_count)
Пример #2
0
    def testInit(self):
        keys = Keys()
        self.assertIsInstance(keys, ModelCollection)
        self.assertGreater(keys._items, 0)
        self.assertIsInstance(keys.all(), list)

        for i in keys.all():
            self.assertIsInstance(i, Key)
Пример #3
0
    def test_InsertQuery(self):
        keys = Keys()
        entity = keys.new()

        expected = OrderedDict([('name', None), ('key', None)])
        data = keys._generate_query_data(entity)
        self.assertEqual(expected, data)

        expected = 'INSERT INTO keys(name,key) VALUES (?,?)'
        self.assertEqual(keys._generate_insert_query(data), expected)
Пример #4
0
def setkeys(types, page = None):
    key = ''
    keys = ''
    if request.method == 'POST': 
        page = request.form['page']
        oldkeys = Keys.query.filter(Keys.page == page).first()
        if not oldkeys:
            key = request.form['key']
            keys = request.form['keys']
            keys2 = request.form['keys2']
            if keys2 and keys2 != '':
                keys += '_' + keys2
            if types == 'pinyin':
                keys = keys.replace('i1','ī').replace('i2','í').replace('i3','ǐ').replace('i4','ì')
                keys = keys.replace('u1','ū').replace('u2','ú').replace('u3','ǔ').replace('u4','ù')
                keys = keys.replace('v1','ǖ').replace('v2','ǘ').replace('v3','ǚ').replace('v4','ǜ').replace('v','ü')
                keys = keys.replace('a1','ā').replace('a2','á').replace('a3','ǎ').replace('a4','à')
                keys = keys.replace('e1','ē').replace('e2','é').replace('e3','ě').replace('e4','è')
                keys = keys.replace('o1','ō').replace('o2','ó').replace('o3','ǒ').replace('o4','ò')
            elif types == 'bihua':
                keys = keys.replace('_', '至')
                if '畫' not in keys:
                    keys += '畫'
            keylist = key.split(',')
            for item in keylist:
                oldkeys = Keys.query.filter(Keys.key == item).first()
                if len(keylist) == 1 or not oldkeys:
                    with db.auto_commit():
                        newkeys = Keys()
                        newkeys.page = page
                        newkeys.keyword = item
                        newkeys.pagetitle = keys
                        db.session.add(newkeys)
            page = int(page) + 1
            keys = keys.replace('至', '_').replace('畫', '')
            if '_' in keys:
                ks = keys.split('_')
                keys = ks[len(ks) - 1]
    resp_data = dict(
        page='setkeys',
        thispage=page if page else '5353',
        thiskey='',
        thiskeys=keys if keys else '',
        types=types,
        name='目录索引创建'
    )
    return render_template('input.html', **resp_data)
Пример #5
0
    def testDelete(self):
        keys = Keys()
        entity = keys.new()

        expected = 'DELETE FROM keys WHERE name = ?'
        self.assertEqual(keys._generate_delete_query(entity.name), expected)
Пример #6
0
 def testTableDefinition(self):
     keys = Keys()
     expected = 'CREATE TABLE keys (name TEXT PRIMARY KEY,key TEXT)'
     self.assertEqual(str(keys.table_definition()), expected)
Пример #7
0
 def test_GenerateSelectQuery(self):
     keys = Keys()
     expected = 'SELECT * FROM keys'
     self.assertEqual(keys._generate_select_query(), expected)
Пример #8
0
    def testNew(self):
        keys = Keys()
        self.assertIsInstance(keys.new(), Key)

        e = keys.new(name="lol")
        self.assertEqual(e.name, 'lol')
Пример #9
0
 def testFirst(self):
     keys = Keys()
     self.assertEqual(keys.first(), None)
     entity = keys.new()
     keys.add(entity, persist=False)
     self.assertEqual(keys.first(), entity)