def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a')) self.assertEqual(db.t.insert(a='1'), 1) self.assertEqual(db.t.insert(a='2'), 2) self.assertEqual(db.t.insert(a='3'), 3) self.assertEqual(len(db(db.t.a.belongs(('1', '3'))).select()), 2) self.assertEqual( len(db(db.t.a.belongs(db(db.t.id > 2)._select(db.t.a))).select()), 1) self.assertEqual( len( db( db.t.a.belongs( db(db.t.a.belongs( ('1', '3')))._select(db.t.a))).select()), 2) self.assertEqual( len( db( db.t.a.belongs( db( db.t.a.belongs( db(db.t.a.belongs(('1', '3')))._select( db.t.a)))._select(db.t.a))).select()), 2) db.t.drop()
def propagate(self): if self.db_family == 'mysql': self.db = DAL(self.db_family + '://' + self.db_user + ':' + self.db_pass + '@' + self.db_host + '/' + self.db_name, pool_size=1, migrate_enabled=False) self.db.executesql(""" CREATE DATABASE IF NOT EXISTS {0}; """.format(self.db_name)) self.db.executesql(""" CREATE TABLE IF NOT EXISTS {0} ( `id` int, `uid` varchar(255), `name` varchar(255), `time` varchar(255), `folder` varchar(255), `size` int, `local` varchar(255) ); """.format(self.db_table)) else: self.db = DAL('sqlite://storage.db') self.db.define_table( self.db_table, Field('id'), Field('uid'), Field('name'), Field('time'), Field('folder'), Field('size'), Field('local'), migrate=False )
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa')) self.assertEqual(db.tt.insert(aa='1'), 1) self.assertEqual(db.tt.insert(aa='2'), 2) self.assertEqual(db.tt.insert(aa='3'), 3) self.assertEqual(db(db.tt.id > 0).count(), 3) self.assertEqual( db(db.tt.id > 0).select(orderby=~db.tt.aa | db.tt.id)[0].aa, '3') self.assertEqual(len(db(db.tt.id > 0).select(limitby=(1, 2))), 1) self.assertEqual(db(db.tt.id > 0).select(limitby=(1, 2))[0].aa, '2') self.assertEqual(len(db().select(db.tt.ALL)), 3) self.assertEqual(db(db.tt.aa == None).count(), 0) self.assertEqual(db(db.tt.aa != None).count(), 3) self.assertEqual(db(db.tt.aa > '1').count(), 2) self.assertEqual(db(db.tt.aa >= '1').count(), 3) self.assertEqual(db(db.tt.aa == '1').count(), 1) self.assertEqual(db(db.tt.aa != '1').count(), 2) self.assertEqual(db(db.tt.aa < '3').count(), 2) self.assertEqual(db(db.tt.aa <= '3').count(), 3) self.assertEqual(db(db.tt.aa > '1')(db.tt.aa < '3').count(), 1) self.assertEqual(db((db.tt.aa > '1') & (db.tt.aa < '3')).count(), 1) self.assertEqual(db((db.tt.aa > '1') | (db.tt.aa < '3')).count(), 3) self.assertEqual(db((db.tt.aa > '1') & ~(db.tt.aa > '2')).count(), 1) self.assertEqual(db(~(db.tt.aa > '1') & (db.tt.aa > '2')).count(), 0) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=["all"]) db.define_table("tt", Field("aa")) self.assertEqual(db.tt.insert(aa="1"), 1) self.assertEqual(db.tt.insert(aa="2"), 2) self.assertEqual(db.tt.insert(aa="3"), 3) self.assertEqual(db(db.tt.id > 0).count(), 3) self.assertEqual(db(db.tt.id > 0).select(orderby=~db.tt.aa | db.tt.id)[0].aa, "3") self.assertEqual(len(db(db.tt.id > 0).select(limitby=(1, 2))), 1) self.assertEqual(db(db.tt.id > 0).select(limitby=(1, 2))[0].aa, "2") self.assertEqual(len(db().select(db.tt.ALL)), 3) self.assertEqual(db(db.tt.aa == None).count(), 0) self.assertEqual(db(db.tt.aa != None).count(), 3) self.assertEqual(db(db.tt.aa > "1").count(), 2) self.assertEqual(db(db.tt.aa >= "1").count(), 3) self.assertEqual(db(db.tt.aa == "1").count(), 1) self.assertEqual(db(db.tt.aa != "1").count(), 2) self.assertEqual(db(db.tt.aa < "3").count(), 2) self.assertEqual(db(db.tt.aa <= "3").count(), 3) self.assertEqual(db(db.tt.aa > "1")(db.tt.aa < "3").count(), 1) self.assertEqual(db((db.tt.aa > "1") & (db.tt.aa < "3")).count(), 1) self.assertEqual(db((db.tt.aa > "1") | (db.tt.aa < "3")).count(), 3) self.assertEqual(db((db.tt.aa > "1") & ~(db.tt.aa > "2")).count(), 1) self.assertEqual(db(~(db.tt.aa > "1") & (db.tt.aa > "2")).count(), 0) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa')) self.assertEqual(db.tt.insert(aa='1'), 1) self.assertEqual(db.tt.insert(aa='2'), 2) self.assertEqual(db.tt.insert(aa='3'), 3) self.assertEqual(len(db(db.tt.id > 0).select()), 3) self.assertEqual(db(db.tt.id > 0).select(orderby=~db.tt.aa | db.tt.id)[0].aa, '3') self.assertEqual(len(db(db.tt.id > 0).select(limitby=(1, 2))), 1) self.assertEqual(db(db.tt.id > 0).select(limitby=(1, 2))[0].aa, '2') self.assertEqual(len(db().select(db.tt.ALL)), 3) self.assertEqual(len(db(db.tt.aa == None).select()), 0) self.assertEqual(len(db(db.tt.aa != None).select()), 3) self.assertEqual(len(db(db.tt.aa > '1').select()), 2) self.assertEqual(len(db(db.tt.aa >= '1').select()), 3) self.assertEqual(len(db(db.tt.aa == '1').select()), 1) self.assertEqual(len(db(db.tt.aa != '1').select()), 2) self.assertEqual(len(db(db.tt.aa < '3').select()), 2) self.assertEqual(len(db(db.tt.aa <= '3').select()), 3) self.assertEqual(len(db(db.tt.aa > '1')(db.tt.aa < '3').select()), 1) self.assertEqual(len(db((db.tt.aa > '1') & (db.tt.aa < '3')).select()), 1) self.assertEqual(len(db((db.tt.aa > '1') | (db.tt.aa < '3')).select()), 3) self.assertEqual(len(db((db.tt.aa > '1') & ~(db.tt.aa > '2')).select()), 1) self.assertEqual(len(db(~(db.tt.aa > '1') & (db.tt.aa > '2')).select()), 0) db.tt.drop()
def propagate(self): if self.db_family == 'mysql': self.db = DAL(self.db_family + '://' + self.db_user + ':' + self.db_pass + '@' + self.db_host + '/' + self.db_name, pool_size=1, migrate_enabled=False) self.db.executesql(""" CREATE DATABASE IF NOT EXISTS {0}; """.format(self.db_name)) self.db.executesql(""" CREATE TABLE IF NOT EXISTS {0} ( `id` int, `uid` varchar(255), `name` varchar(255), `time` varchar(255), `folder` varchar(255), `size` int, `local` varchar(255) ); """.format(self.db_table)) else: self.db = DAL('sqlite://storage.db') self.db.define_table(self.db_table, Field('id'), Field('uid'), Field('name'), Field('time'), Field('folder'), Field('size'), Field('local'), migrate=False)
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a')) self.assertEqual(db.t.insert(a='1'), 1) self.assertEqual(db.t.insert(a='2'), 2) self.assertEqual(db.t.insert(a='3'), 3) self.assertEqual(len(db(db.t.id > 0).select()), 3) self.assertEqual(db(db.t.id > 0).select(orderby=~db.t.a | db.t.id)[0].a, '3') self.assertEqual(len(db(db.t.id > 0).select(limitby=(1, 2))), 1) self.assertEqual(db(db.t.id > 0).select(limitby=(1, 2))[0].a, '2') self.assertEqual(len(db().select(db.t.ALL)), 3) self.assertEqual(len(db(db.t.a == None).select()), 0) self.assertEqual(len(db(db.t.a != None).select()), 3) self.assertEqual(len(db(db.t.a > '1').select()), 2) self.assertEqual(len(db(db.t.a >= '1').select()), 3) self.assertEqual(len(db(db.t.a == '1').select()), 1) self.assertEqual(len(db(db.t.a != '1').select()), 2) self.assertEqual(len(db(db.t.a < '3').select()), 2) self.assertEqual(len(db(db.t.a <= '3').select()), 3) self.assertEqual(len(db(db.t.a > '1')(db.t.a < '3').select()), 1) self.assertEqual(len(db((db.t.a > '1') & (db.t.a < '3')).select()), 1) self.assertEqual(len(db((db.t.a > '1') | (db.t.a < '3')).select()), 3) self.assertEqual(len(db((db.t.a > '1') & ~(db.t.a > '2')).select()), 1) self.assertEqual(len(db(~(db.t.a > '1') & (db.t.a > '2')).select()), 0) db.t.drop()
def testRun(self): db = DAL("sqlite:memory:") db.define_table("t", Field("a")) self.assertEqual(db.t.insert(a="1"), 1) self.assertEqual(db.t.insert(a="2"), 2) self.assertEqual(db.t.insert(a="3"), 3) self.assertEqual(len(db(db.t.id > 0).select()), 3) self.assertEqual(db(db.t.id > 0).select(orderby=~db.t.a | db.t.id)[0].a, "3") self.assertEqual(len(db(db.t.id > 0).select(limitby=(1, 2))), 1) self.assertEqual(db(db.t.id > 0).select(limitby=(1, 2))[0].a, "2") self.assertEqual(len(db().select(db.t.ALL)), 3) self.assertEqual(len(db(db.t.a == None).select()), 0) self.assertEqual(len(db(db.t.a != None).select()), 3) self.assertEqual(len(db(db.t.a > "1").select()), 2) self.assertEqual(len(db(db.t.a >= "1").select()), 3) self.assertEqual(len(db(db.t.a == "1").select()), 1) self.assertEqual(len(db(db.t.a != "1").select()), 2) self.assertEqual(len(db(db.t.a < "3").select()), 2) self.assertEqual(len(db(db.t.a <= "3").select()), 3) self.assertEqual(len(db(db.t.a > "1")(db.t.a < "3").select()), 1) self.assertEqual(len(db((db.t.a > "1") & (db.t.a < "3")).select()), 1) self.assertEqual(len(db((db.t.a > "1") | (db.t.a < "3")).select()), 3) self.assertEqual(len(db((db.t.a > "1") & ~(db.t.a > "2")).select()), 1) self.assertEqual(len(db(~(db.t.a > "1") & (db.t.a > "2")).select()), 0) db.t.drop()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a', 'integer')) self.assertEqual(db.t.insert(a=1), 1) self.assertEqual(db.t.insert(a=2), 2) self.assertEqual(db.t.insert(a=3), 3) self.assertEqual(db(db.t.a == 3).update(a=db.t.a + 1), 1) self.assertEqual(len(db(db.t.a == 4).select()), 1) db.t.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa', 'integer')) self.assertEqual(db.tt.insert(aa=1), 1) self.assertEqual(db.tt.insert(aa=2), 2) self.assertEqual(db.tt.insert(aa=3), 3) self.assertEqual(db(db.tt.aa == 3).update(aa=db.tt.aa + 1), 1) self.assertEqual(db(db.tt.aa == 4).count(), 1) db.tt.drop()
def testRun(self): db = DAL("sqlite:memory:") db.define_table("t", Field("a", "integer")) self.assertEqual(db.t.insert(a=1), 1) self.assertEqual(db.t.insert(a=2), 2) self.assertEqual(db.t.insert(a=3), 3) self.assertEqual(db(db.t.a == 3).update(a=db.t.a + 1), 1) self.assertEqual(len(db(db.t.a == 4).select()), 1) db.t.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=["all"]) db.define_table("tt", Field("aa", "integer")) self.assertEqual(db.tt.insert(aa=1), 1) self.assertEqual(db.tt.insert(aa=2), 2) self.assertEqual(db.tt.insert(aa=3), 3) self.assertEqual(db(db.tt.aa == 3).update(aa=db.tt.aa + 1), 1) self.assertEqual(db(db.tt.aa == 4).count(), 1) db.tt.drop()
def setUp(self): path_to_database = path.join(path.curdir, "databases") self.db = DAL('sqlite://storage.sqlite', folder=path_to_database) self.db.import_table_definitions(path_to_database) self.create_user() self.login() self.url = ROOT + '/tukker/default/profile/john' get_browser=self.browser.get(self.url)
def testRun(self): db = DAL("sqlite:memory:") db.define_table("t", Field("a", "list:string")) self.assertEqual(db.t.insert(a=["aaa", "bbb"]), 1) self.assertEqual(db.t.insert(a=["bbb", "ddd"]), 2) self.assertEqual(db.t.insert(a=["eee", "aaa"]), 3) self.assertEqual(len(db(db.t.a.contains("aaa")).select()), 2) self.assertEqual(len(db(db.t.a.contains("bbb")).select()), 2) self.assertEqual(len(db(db.t.a.contains("aa")).select()), 0) db.t.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=["all"]) db.define_table("tt", Field("aa", "list:string")) self.assertEqual(db.tt.insert(aa=["aaa", "bbb"]), 1) self.assertEqual(db.tt.insert(aa=["bbb", "ddd"]), 2) self.assertEqual(db.tt.insert(aa=["eee", "aaa"]), 3) self.assertEqual(len(db(db.tt.aa.contains("aaa")).select()), 2) self.assertEqual(len(db(db.tt.aa.contains("bbb")).select()), 2) self.assertEqual(len(db(db.tt.aa.contains("aa")).select()), 0) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=["all"]) db.define_table("tt", Field("aa")) self.assertEqual(db.tt.insert(aa="1"), 1) self.assertEqual(db.tt.insert(aa="1"), 2) self.assertEqual(db.tt.insert(aa="1"), 3) self.assertEqual(db(db.tt.aa == "1").count(), 3) self.assertEqual(db(db.tt.aa == "1").update(aa="2"), 3) self.assertEqual(db(db.tt.aa == "2").count(), 3) self.assertEqual(db(db.tt.aa == "2").delete(), 3) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa')) @db.tt.add_method.all def select_all(table,orderby=None): return table._db(table).select(orderby=orderby) self.assertEqual(db.tt.insert(aa='1'), 1) self.assertEqual(db.tt.insert(aa='2'), 2) self.assertEqual(db.tt.insert(aa='3'), 3) self.assertEqual(len(db.tt.all()), 3) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa')) self.assertEqual(db.tt.insert(aa='1'), 1) self.assertEqual(db.tt.insert(aa='1'), 2) self.assertEqual(db.tt.insert(aa='1'), 3) self.assertEqual(db(db.tt.aa == '1').count(), 3) self.assertEqual(db(db.tt.aa == '1').update(aa='2'), 3) self.assertEqual(db(db.tt.aa == '2').count(), 3) self.assertEqual(db(db.tt.aa == '2').delete(), 3) db.tt.drop()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a')) self.assertEqual(db.t.insert(a='1'), 1) self.assertEqual(db.t.insert(a='1'), 2) self.assertEqual(db.t.insert(a='1'), 3) self.assertEqual(db(db.t.a == '1').count(), 3) self.assertEqual(db(db.t.a == '1').update(a='2'), 3) self.assertEqual(db(db.t.a == '2').count(), 3) self.assertEqual(db(db.t.a == '2').delete(), 3) db.t.drop()
def create_db_connection(migrate=False): """Connect to the database. Returns the connection. """ db = DAL('sqlite://db.sqlite', migrate=migrate) db.define_table( 'users', Field('username', 'string', length=50, required=True, unique=True), Field('password', 'string', length=128, required=True)) return db
def testRun(self): db = DAL("sqlite:memory:") db.define_table("t", Field("a")) self.assertEqual(db.t.insert(a="1"), 1) self.assertEqual(db.t.insert(a="1"), 2) self.assertEqual(db.t.insert(a="1"), 3) self.assertEqual(db(db.t.a == "1").count(), 3) self.assertEqual(db(db.t.a == "1").update(a="2"), 3) self.assertEqual(db(db.t.a == "2").count(), 3) self.assertEqual(db(db.t.a == "2").delete(), 3) db.t.drop()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t1', Field('a')) db.define_table('t2', Field('a'), Field('b', db.t1)) i1 = db.t1.insert(a='1') i2 = db.t1.insert(a='2') i3 = db.t1.insert(a='3') db.t2.insert(a='4', b=i1) db.t2.insert(a='5', b=i2) db.t2.insert(a='6', b=i2) self.assertEqual(len(db(db.t1.id == db.t2.b).select(orderby=db.t1.a | db.t2.a)), 3) self.assertEqual(db(db.t1.id == db.t2.b).select(orderby=db.t1.a | db.t2.a)[2].t1.a, '2') self.assertEqual(db(db.t1.id == db.t2.b).select(orderby=db.t1.a | db.t2.a)[2].t2.a, '6') self.assertEqual(len(db().select(db.t1.ALL, db.t2.ALL, left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a)), 4) self.assertEqual(db().select(db.t1.ALL, db.t2.ALL, left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a)[2].t1.a, '2') self.assertEqual(db().select(db.t1.ALL, db.t2.ALL, left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a)[2].t2.a, '6') self.assertEqual(db().select(db.t1.ALL, db.t2.ALL, left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a)[3].t1.a, '3') self.assertEqual(db().select(db.t1.ALL, db.t2.ALL, left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a)[3].t2.a, None) self.assertEqual(len(db().select(db.t1.ALL, db.t2.id.count(), left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a, groupby=db.t1.a)), 3) self.assertEqual(db().select(db.t1.ALL, db.t2.id.count(), left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a, groupby=db.t1.a)[0]._extra[db.t2.id.count()], 1) self.assertEqual(db().select(db.t1.ALL, db.t2.id.count(), left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a, groupby=db.t1.a)[1]._extra[db.t2.id.count()], 2) self.assertEqual(db().select(db.t1.ALL, db.t2.id.count(), left=db.t2.on(db.t1.id == db.t2.b), orderby=db.t1.a | db.t2.a, groupby=db.t1.a)[2]._extra[db.t2.id.count()], 0) db.t1.drop() db.t2.drop()
def database(DBURI): _db = DAL(DBURI, folder=DBDIR) tasks = _db.define_table("dopy_tasks", Field("name", "string"), Field("tag", "string"), Field("status", "string"), Field("reminder", "string"), Field("notes", "list:string"), Field("created_on", "datetime"), Field("deleted", "boolean", default=False), ) return _db, tasks
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa', 'integer')) self.assertEqual(db.tt.insert(aa=1), 1) self.assertEqual(db.tt.insert(aa=2), 2) self.assertEqual(db.tt.insert(aa=3), 3) self.assertEqual(db(db.tt.aa == 3).update(aa=db.tt.aa + 1), 1) self.assertEqual(db(db.tt.aa == 4).count(), 1) self.assertEqual(db(db.tt.aa == -2).count(), 0) sum = (db.tt.aa + 1).sum() self.assertEqual(db(db.tt.aa == 2).select(sum).first()[sum], 3) self.assertEqual(db(db.tt.aa == -2).select(sum).first()[sum], None) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa', 'list:string')) self.assertEqual(db.tt.insert(aa=['aaa','bbb']), 1) self.assertEqual(db.tt.insert(aa=['bbb','ddd']), 2) self.assertEqual(db.tt.insert(aa=['eee','aaa']), 3) self.assertEqual(len(db(db.tt.aa.contains('aaa')).select()), 2) self.assertEqual(len(db(db.tt.aa.contains('bbb')).select()), 2) self.assertEqual(len(db(db.tt.aa.contains('aa')).select()), 0) db.tt.drop()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a', 'list:string')) self.assertEqual(db.t.insert(a=['aaa','bbb']), 1) self.assertEqual(db.t.insert(a=['bbb','ddd']), 2) self.assertEqual(db.t.insert(a=['eee','aaa']), 3) self.assertEqual(len(db(db.t.a.contains('aaa')).select()), 2) self.assertEqual(len(db(db.t.a.contains('bbb')).select()), 2) self.assertEqual(len(db(db.t.a.contains('aa')).select()), 0) db.t.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=["all"]) db.define_table("tt", Field("aa", "integer")) self.assertEqual(db.tt.insert(aa=1), 1) self.assertEqual(db.tt.insert(aa=2), 2) self.assertEqual(db.tt.insert(aa=3), 3) self.assertEqual(db(db.tt.aa == 3).update(aa=db.tt.aa + 1), 1) self.assertEqual(db(db.tt.aa == 4).count(), 1) self.assertEqual(db(db.tt.aa == -2).count(), 0) sum = (db.tt.aa + 1).sum() self.assertEqual(db(db.tt.aa == 2).select(sum).first()[sum], 3) self.assertEqual(db(db.tt.aa == -2).select(sum).first()[sum], None) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=["all"]) db.define_table("tt", Field("aa")) @db.tt.add_method.all def select_all(table, orderby=None): return table._db(table).select(orderby=orderby) self.assertEqual(db.tt.insert(aa="1"), 1) self.assertEqual(db.tt.insert(aa="2"), 2) self.assertEqual(db.tt.insert(aa="3"), 3) self.assertEqual(len(db.tt.all()), 3) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa', 'list:string'), Field('bb','string')) self.assertEqual(db.tt.insert(aa=['aaa','bbb'],bb='aaa'), 1) self.assertEqual(db.tt.insert(aa=['bbb','ddd'],bb='abb'), 2) self.assertEqual(db.tt.insert(aa=['eee','aaa'],bb='acc'), 3) self.assertEqual(db(db.tt.aa.contains('aaa')).count(), 2) self.assertEqual(db(db.tt.aa.contains('bbb')).count(), 2) self.assertEqual(db(db.tt.aa.contains('aa')).count(), 0) self.assertEqual(db(db.tt.bb.contains('a')).count(), 3) self.assertEqual(db(db.tt.bb.contains('b')).count(), 1) self.assertEqual(db(db.tt.bb.contains('d')).count(), 0) self.assertEqual(db(db.tt.aa.contains(db.tt.bb)).count(), 1) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=["all"]) db.define_table("tt", Field("aa", "list:string"), Field("bb", "string")) self.assertEqual(db.tt.insert(aa=["aaa", "bbb"], bb="aaa"), 1) self.assertEqual(db.tt.insert(aa=["bbb", "ddd"], bb="abb"), 2) self.assertEqual(db.tt.insert(aa=["eee", "aaa"], bb="acc"), 3) self.assertEqual(db(db.tt.aa.contains("aaa")).count(), 2) self.assertEqual(db(db.tt.aa.contains("bbb")).count(), 2) self.assertEqual(db(db.tt.aa.contains("aa")).count(), 0) self.assertEqual(db(db.tt.bb.contains("a")).count(), 3) self.assertEqual(db(db.tt.bb.contains("b")).count(), 1) self.assertEqual(db(db.tt.bb.contains("d")).count(), 0) self.assertEqual(db(db.tt.aa.contains(db.tt.bb)).count(), 1) db.tt.drop()
def lback_db(): db = DAL('sqlite://db.sql', folder='/usr/local/lback/') db.define_table("backups", Field('id'), Field('uid'), Field('name'), Field('time'), Field('folder'), Field('size'), Field('version'), Field('jit'), Field('local'), migrate=True) db.define_table("restores", Field("id"), Field("uid"), Field("backupId"), Field("time"), migrate=True) db.define_table("users", Field('id'), Field('username'), Field('password'), migrate=True) return db
def testRun(self): db = DAL("sqlite:memory:") db.define_table("t", Field("a", "datetime")) self.assertEqual(db.t.insert(a=datetime.datetime(1971, 12, 21, 11, 30)), 1) self.assertEqual(db.t.insert(a=datetime.datetime(1971, 11, 21, 10, 30)), 2) self.assertEqual(db.t.insert(a=datetime.datetime(1970, 12, 21, 9, 30)), 3) self.assertEqual(len(db(db.t.a == datetime.datetime(1971, 12, 21, 11, 30)).select()), 1) self.assertEqual(len(db(db.t.a.year() == 1971).select()), 2) self.assertEqual(len(db(db.t.a.month() == 12).select()), 2) self.assertEqual(len(db(db.t.a.day() == 21).select()), 3) self.assertEqual(len(db(db.t.a.hour() == 11).select()), 1) self.assertEqual(len(db(db.t.a.minutes() == 30).select()), 3) self.assertEqual(len(db(db.t.a.seconds() == 0).select()), 3) db.t.drop()
class MySql(object): def __init__(self): self.settings = Settings() self.connection = DAL("mysql://" +self.settings.mysql_user +":" +self.settings.mysql_pass +"@" + self.settings.mysql_host +"/"+ self.settings.mysql_database) self.sample() def sample(self): self.connection.define("voicemail", Field("text", "text") #Field("number") ) self.connection.voicemail.insert(text="Hello this is an example I am calling from 15877784613 please return the call!") def get_messages(self): return self.connection(getattr(self.connection,self.settings.mysql_table)).select()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a')) self.assertEqual(db.t.insert(a='abc'), 1) self.assertEqual(len(db(db.t.a.like('a%')).select()), 1) self.assertEqual(len(db(db.t.a.like('%b%')).select()), 1) self.assertEqual(len(db(db.t.a.like('%c')).select()), 1) self.assertEqual(len(db(db.t.a.like('%d%')).select()), 0) self.assertEqual(len(db(db.t.a.lower().like('A%')).select()), 1) self.assertEqual(len(db(db.t.a.lower().like('%B%')).select()), 1) self.assertEqual(len(db(db.t.a.lower().like('%C')).select()), 1) self.assertEqual(len(db(db.t.a.upper().like('A%')).select()), 1) self.assertEqual(len(db(db.t.a.upper().like('%B%')).select()), 1) self.assertEqual(len(db(db.t.a.upper().like('%C')).select()), 1) db.t.drop()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a', 'integer')) self.assertEqual(db.t.insert(a=1), 1) self.assertEqual(db.t.insert(a=2), 2) self.assertEqual(db.t.insert(a=3), 3) s = db.t.a.min() self.assertEqual(db(db.t.id > 0).select(s)[0]._extra[s], 1) s = db.t.a.max() self.assertEqual(db(db.t.id > 0).select(s)[0]._extra[s], 3) s = db.t.a.sum() self.assertEqual(db(db.t.id > 0).select(s)[0]._extra[s], 6) s = db.t.a.count() self.assertEqual(db(db.t.id > 0).select(s)[0]._extra[s], 3) db.t.drop()
def setUp(self): self.url = ROOT + '/tukker/default/user/register' get_browser = self.browser.get(self.url) path_to_database = path.join(path.curdir, "databases") self.db = DAL('sqlite://storage.sqlite', folder=path_to_database) self.db.import_table_definitions(path_to_database) self.db.auth_user.insert(first_name='Duplicate', last_name='Nickname', email='*****@*****.**', password='******', nickname='duplicate') self.db.commit()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=["all"]) db.define_table("tt", Field("aa", "datetime")) self.assertEqual(db.tt.insert(aa=datetime.datetime(1971, 12, 21, 11, 30)), 1) self.assertEqual(db.tt.insert(aa=datetime.datetime(1971, 11, 21, 10, 30)), 2) self.assertEqual(db.tt.insert(aa=datetime.datetime(1970, 12, 21, 9, 30)), 3) self.assertEqual(db(db.tt.aa == datetime.datetime(1971, 12, 21, 11, 30)).count(), 1) self.assertEqual(db(db.tt.aa.year() == 1971).count(), 2) self.assertEqual(db(db.tt.aa.month() == 12).count(), 2) self.assertEqual(db(db.tt.aa.day() == 21).count(), 3) self.assertEqual(db(db.tt.aa.hour() == 11).count(), 1) self.assertEqual(db(db.tt.aa.minutes() == 30).count(), 3) self.assertEqual(db(db.tt.aa.seconds() == 0).count(), 3) self.assertEqual(db(db.tt.aa.epoch() < 365 * 24 * 3600).count(), 1) db.tt.drop()
def testRun(self): db = DAL("sqlite:memory:") db.define_table("t", Field("a")) self.assertEqual(db.t.insert(a="abc"), 1) self.assertEqual(len(db(db.t.a.like("a%")).select()), 1) self.assertEqual(len(db(db.t.a.like("%b%")).select()), 1) self.assertEqual(len(db(db.t.a.like("%c")).select()), 1) self.assertEqual(len(db(db.t.a.like("%d%")).select()), 0) self.assertEqual(len(db(db.t.a.lower().like("A%")).select()), 1) self.assertEqual(len(db(db.t.a.lower().like("%B%")).select()), 1) self.assertEqual(len(db(db.t.a.lower().like("%C")).select()), 1) self.assertEqual(len(db(db.t.a.upper().like("A%")).select()), 1) self.assertEqual(len(db(db.t.a.upper().like("%B%")).select()), 1) self.assertEqual(len(db(db.t.a.upper().like("%C")).select()), 1) db.t.drop()
def __init__(self, socket_address, api_address): socket = Socket(socket_address) print(sys.stderr, 'Starting api server on %s port %s' % api_address) api = Flask(__name__) dal = DAL() @api.route('/') def index(): return str(dal.get_user("shintaro")) @api.route('/send_message/', methods=["POST"]) def send_message(): if not request.json: abort(400) print(request.json) dal.save_message(request.json['from_user'], request.json['to_user'], request.json['message']) socket.send_new_message_alert(request.json['to_user']) return "ok" @api.route('/load_messages', methods=["GET"]) def load_messages(): if not request.json: abort(400) print('loading messages for %s' % request.json) result = dal.get_messages(request.json['username'], request.json['from_time']) print('returning %s' % result) return json_util.dumps(result) api.run()
def testRun(self): from cache import CacheInRam cache = CacheInRam() db = DAL('sqlite:memory:') db.define_table('t', Field('a')) db.t.insert(a='1') r0 = db().select(db.t.ALL) r1 = db().select(db.t.ALL, cache=(cache, 1000)) self.assertEqual(len(r0), len(r1)) r2 = db().select(db.t.ALL, cache=(cache, 1000)) self.assertEqual(len(r0), len(r2)) r3 = db().select(db.t.ALL, cache=(cache, 1000), cacheable=True) self.assertEqual(len(r0), len(r3)) r4 = db().select(db.t.ALL, cache=(cache, 1000), cacheable=True) self.assertEqual(len(r0), len(r4)) db.t.drop()
def testRun(self): from cache import CacheInRam cache = CacheInRam() db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa')) db.tt.insert(aa='1') r0 = db().select(db.tt.ALL) r1 = db().select(db.tt.ALL, cache=(cache, 1000)) self.assertEqual(len(r0), len(r1)) r2 = db().select(db.tt.ALL, cache=(cache, 1000)) self.assertEqual(len(r0), len(r2)) r3 = db().select(db.tt.ALL, cache=(cache, 1000), cacheable=True) self.assertEqual(len(r0), len(r3)) r4 = db().select(db.tt.ALL, cache=(cache, 1000), cacheable=True) self.assertEqual(len(r0), len(r4)) db.tt.drop()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a'), Field('b', default='x'), Field('c', compute=lambda r: r.a + r.b)) db.commit() id = db.t.insert(a="z") self.assertEqual(db.t[id].c, 'zx') db.t.drop() db.commit()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa'), Field('bb', default='x'), Field('cc', compute=lambda r: r.aa + r.bb)) db.commit() id = db.tt.insert(aa="z") self.assertEqual(db.tt[id].cc, 'zx') db.tt.drop() db.commit()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa')) self.assertEqual(db.tt.insert(aa='1'), 1) self.assertEqual(db.tt.insert(aa='2'), 2) self.assertEqual(db.tt.insert(aa='3'), 3) self.assertEqual(db(db.tt.aa.belongs(('1', '3'))).count(), 2) self.assertEqual(db(db.tt.aa.belongs(db(db.tt.id > 2)._select(db.tt.aa))).count(), 1) self.assertEqual(db(db.tt.aa.belongs(db(db.tt.aa.belongs(('1', '3')))._select(db.tt.aa))).count(), 2) self.assertEqual(db(db.tt.aa.belongs(db(db.tt.aa.belongs(db (db.tt.aa.belongs(('1', '3')))._select(db.tt.aa)))._select( db.tt.aa))).count(), 2) db.tt.drop()
def testRun(self): import datetime from gluon.validators import IS_INT_IN_RANGE db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('val_and_insert', Field('aa'), Field('bb', 'integer', requires=IS_INT_IN_RANGE(1, 5))) rtn = db.val_and_insert.validate_and_insert(aa='test1', bb=2) self.assertEqual(rtn.id, 1) #errors should be empty self.assertEqual(len(rtn.errors.keys()), 0) #this insert won't pass rtn = db.val_and_insert.validate_and_insert(bb="a") #the returned id should be None self.assertEqual(rtn.id, None) #an error message should be in rtn.errors.bb self.assertNotEqual(rtn.errors.bb, None) #cleanup table db.val_and_insert.drop()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a', 'datetime')) self.assertEqual(db.t.insert(a=datetime.datetime(1971, 12, 21, 11, 30)), 1) self.assertEqual(db.t.insert(a=datetime.datetime(1971, 11, 21, 10, 30)), 2) self.assertEqual(db.t.insert(a=datetime.datetime(1970, 12, 21, 9, 30)), 3) self.assertEqual(len(db(db.t.a == datetime.datetime(1971, 12, 21, 11, 30)).select()), 1) self.assertEqual(len(db(db.t.a.year() == 1971).select()), 2) self.assertEqual(len(db(db.t.a.month() == 12).select()), 2) self.assertEqual(len(db(db.t.a.day() == 21).select()), 3) self.assertEqual(len(db(db.t.a.hour() == 11).select()), 1) self.assertEqual(len(db(db.t.a.minutes() == 30).select()), 3) self.assertEqual(len(db(db.t.a.seconds() == 0).select()), 3) db.t.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa')) db.commit() db.tt.insert(aa="test") class Compute: def a_upper(row): return row.tt.aa.upper() db.tt.virtualfields.append(Compute()) assert db(db.tt.id>0).select().first().a_upper == 'TEST' db.tt.drop() db.commit()
def testRun(self): db = DAL('sqlite:memory:') db.define_table('t', Field('a')) db.commit() db.t.insert(a="test") class Compute: def a_upper(row): return row.t.a.upper() db.t.virtualfields.append(Compute()) assert db(db.t.id>0).select().first().a_upper == 'TEST' db.t.drop() db.commit()
def testTableAlias(self): db = DAL(DEFAULT_URI, check_reserved=['all']) persons = Table(db, 'persons', Field('firstname', 'string'), Field('lastname', 'string')) aliens = persons.with_alias('aliens') # Are the different table instances with the same fields self.assert_(persons is not aliens) self.assert_(set(persons.fields) == set(aliens.fields))
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa', 'integer')) self.assertEqual(db.tt.insert(aa=1), 1) self.assertEqual(db.tt.insert(aa=2), 2) self.assertEqual(db.tt.insert(aa=3), 3) s = db.tt.aa.min() self.assertEqual(db(db.tt.id > 0).select(s)[0]._extra[s], 1) self.assertEqual(db(db.tt.id > 0).select(s).first()[s], 1) self.assertEqual(db().select(s).first()[s], 1) s = db.tt.aa.max() self.assertEqual(db().select(s).first()[s], 3) s = db.tt.aa.sum() self.assertEqual(db().select(s).first()[s], 6) s = db.tt.aa.count() self.assertEqual(db().select(s).first()[s], 3) s = db.tt.aa.avg() self.assertEqual(db().select(s).first()[s], 2) db.tt.drop()
def testRun(self): db = DAL(DEFAULT_URI, check_reserved=['all']) db.define_table('tt', Field('aa', 'datetime')) self.assertEqual( db.tt.insert(aa=datetime.datetime(1971, 12, 21, 11, 30)), 1) self.assertEqual( db.tt.insert(aa=datetime.datetime(1971, 11, 21, 10, 30)), 2) self.assertEqual( db.tt.insert(aa=datetime.datetime(1970, 12, 21, 9, 30)), 3) self.assertEqual( db(db.tt.aa == datetime.datetime(1971, 12, 21, 11, 30)).count(), 1) self.assertEqual(db(db.tt.aa.year() == 1971).count(), 2) self.assertEqual(db(db.tt.aa.month() == 12).count(), 2) self.assertEqual(db(db.tt.aa.day() == 21).count(), 3) self.assertEqual(db(db.tt.aa.hour() == 11).count(), 1) self.assertEqual(db(db.tt.aa.minutes() == 30).count(), 3) self.assertEqual(db(db.tt.aa.seconds() == 0).count(), 3) self.assertEqual(db(db.tt.aa.epoch() < 365 * 24 * 3600).count(), 1) db.tt.drop()