Example #1
0
 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()
Example #2
0
	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
		)
Example #3
0
 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()
Example #4
0
 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()
Example #5
0
 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()
Example #6
0
    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)
Example #7
0
 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()
Example #8
0
 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()
Example #9
0
 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()
Example #10
0
 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()
Example #11
0
 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()
Example #12
0
 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()
Example #13
0
 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()
Example #14
0
 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()
Example #15
0
 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()
Example #16
0
	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)
Example #17
0
 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()
Example #18
0
 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()
Example #19
0
 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()
Example #20
0
 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()
Example #21
0
 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()
Example #22
0
 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()
Example #23
0
 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()
Example #24
0
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
Example #25
0
 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()
Example #26
0
 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()
Example #27
0
 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()
Example #28
0
 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()
Example #29
0
File: do.py Project: Afonsojr/dopy
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
Example #30
0
 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()
Example #31
0
 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()
Example #32
0
 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()
Example #33
0
 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()
Example #34
0
    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()
Example #35
0
 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()
Example #36
0
 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()
Example #37
0
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
Example #38
0
 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()
Example #39
0
 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()
Example #40
0
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()
Example #41
0
 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()
Example #42
0
 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()
Example #43
0
    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()
Example #44
0
 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()
Example #45
0
 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()
Example #46
0
 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()
Example #47
0
	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()
Example #48
0
 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()
Example #49
0
 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()
Example #50
0
 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()
Example #51
0
 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()
Example #52
0
 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()
Example #53
0
 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()
Example #54
0
 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()
Example #55
0
 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()
Example #56
0
 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()
Example #57
0
    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))
Example #58
0
 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()
Example #59
0
 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()