def test_base_func(): import logger logger.install('stdout') database = {'test': # connection name, used for getting connection from pool {'engine':'mysql', # db type, eg: mysql, sqlite 'db':'qf_core', # db name 'host':'172.100.101.151', # db host 'port':3306, # db port 'user':'******', # db user 'passwd':'123456', # db password 'charset':'utf8', # db charset 'conn':10} # db connections in pool } install(database) with get_connection('test') as conn: conn.insert('auth_user',{ 'username':'******', 'password':'******', 'mobile':'13512345677', 'email':'*****@*****.**', }) print conn.select('auth_user',{ 'username':'******', }) conn.delete('auth_user',{ 'username':'******', }) conn.select_join('profile as p','auth_user as a',where={ 'p.userid':DBFunc('a.id'), })
def test_format_time(): import logger logger.install('stdout') DATABASE = { 'test': # connection name, used for getting connection from pool { 'engine': 'mysql', # db type, eg: mysql, sqlite 'db': 'qiantai', # db name 'host': '172.100.101.151', # db host 'port': 3306, # db port 'user': '******', # db user 'passwd': '123456', # db password 'charset': 'utf8', # db charset 'conn': 10 } # db connections in pool } install(database) with get_connection('test') as conn: print(conn.select('order')) print(conn.select_join( 'app', 'customer', 'inner', )) print(conn.format_table('order as o'))
def test_trans(): import logger logger.install('stdout') DATABASE = {'test': # connection name, used for getting connection from pool {'engine':'pymysql', # db type, eg: mysql, sqlite 'db':'qiantai', # db name 'host':'172.100.101.156', # db host 'port':3306, # db port 'user':'******', # db user 'passwd':'123456', # db password 'charset':'utf8', # db charset 'conn':10} # db connections in pool } install(DATABASE) with get_connection('test') as conn: conn.start() conn.select_one('order') conn.get('select connection_id()') conn.select_one('order') with get_connection('test') as conn: conn.select_one('order') conn.get('select connection_id()')
def test_trans(): import logger logger.install('stdout') DATABASE = { 'test': # connection name, used for getting connection from pool { 'engine': 'pymysql', # db type, eg: mysql, sqlite 'db': 'qiantai', # db name 'host': '172.100.101.156', # db host 'port': 3306, # db port 'user': '******', # db user 'passwd': '123456', # db password 'charset': 'utf8', # db charset 'conn': 10 } # db connections in pool } install(DATABASE) with get_connection('test') as conn: conn.start() conn.select_one('order') conn.get('select connection_id()') conn.select_one('order') with get_connection('test') as conn: conn.select_one('order') conn.get('select connection_id()')
def test_main(): import logger logger.install('stdout') test() print('complete!')
def test_main(): import logger logger.install('stdout') #test('test.xls') #xls2csv('test.xls', 'test.csv') #csv2xls('test3.xls', 'test.csv') #test('test3.xls') #create_xls('test1.xls') #create_xls2('test2.xls') create_xls3('test4.xls')
def main(): global log import logger log = logger.install('stdout') rules = {"result" : ['hello', 'world'], 'rate' : 1.0, 'rule':[['userid', '=', '123330000000000000000000000000000000000000000000000000000000000000000000000'], ['date', 'range', ['123', '234']]]} match = RuleMatcher(rules) input = {"userid" : "12333"} print match.check(input)
def test_format_time(): import logger logger.install('stdout') DATABASE = {'test': # connection name, used for getting connection from pool {'engine':'mysql', # db type, eg: mysql, sqlite 'db':'qiantai', # db name 'host':'172.100.101.151', # db host 'port':3306, # db port 'user':'******', # db user 'passwd':'123456', # db password 'charset':'utf8', # db charset 'conn':10} # db connections in pool } install(database) with get_connection('test') as conn: print conn.select('order') print conn.select_join('app','customer','inner',) print conn.format_table('order as o')
def test(): import random, logger logger.install('stdout') #log.install("SimpleLogger") dbcf = {'test1': {'engine': 'sqlite', 'db': 'test1.db', 'conn': 1}} #dbcf = {'test1': {'engine': 'sqlite', 'db':':memory:', 'conn':1}} install(dbcf) sql = "create table if not exists user(id integer primary key, name varchar(32), ctime timestamp)" log.debug('acquire') x = acquire('test1') log.debug('acquire ok') x.execute(sql) #sql1 = "insert into user values (%d, 'zhaowei', datetime())" % (random.randint(1, 100)); sql1 = "insert into user values (%d, 'zhaowei', datetime())" % ( random.randint(1, 100)) x.execute(sql1) x.insert("user", {"name": "bobo", "ctime": DBFunc("datetime()")}) sql2 = "select * from user" ret = x.query(sql2) log.debug('result:%s', ret) ret = x.query('select * from user where name=?', 'bobo') log.debug('result:%s', ret) log.debug('release') release(x) log.debug('release ok') log.debug('-' * 60) class Test2: @with_database("test1") def test2(self): ret = self.db.query("select * from user") log.debug(ret) t = Test2() t.test2()
def test(): import random, logger logger.install('stdout') #log.install("SimpleLogger") dbcf = {'test1': {'engine': 'sqlite', 'db':'test1.db', 'conn':1}} #dbcf = {'test1': {'engine': 'sqlite', 'db':':memory:', 'conn':1}} install(dbcf) sql = "create table if not exists user(id integer primary key, name varchar(32), ctime timestamp)" print 'acquire' x = acquire('test1') print 'acquire ok' x.execute(sql) #sql1 = "insert into user values (%d, 'zhaowei', datetime())" % (random.randint(1, 100)); sql1 = "insert into user values (%d, 'zhaowei', datetime())" % (random.randint(1, 100)); x.execute(sql1) x.insert("user", {"name":"bobo","ctime":DBFunc("datetime()")}) sql2 = "select * from user" ret = x.query(sql2) print 'result:', ret ret = x.query('select * from user where name=?', 'bobo') print 'result:', ret print 'release' release(x) print 'release ok' print '-' * 60 class Test2: @with_database("test1") def test2(self): ret = self.db.query("select * from user") print ret t = Test2() t.test2()
def test_main(): import logger logger.install('stdout') #test_sqlite() test_init_db('auto') test_ms_3() #test_with() #test5() #time.sleep(50) #pool = dbpool['test'] #test3() #test4() #test() #test_base_func() #test_new_rw() #test_db_install() #test_trans() print('complete!')
def test_db_install(): import logger logger.install('stdout') DATABASE = {'test': # connection name, used for getting connection from pool {'engine':'pymysql', # db type, eg: mysql, sqlite 'db':'test', # db name 'host':'127.0.0.1', # db host 'port':3306, # db port 'user':'******', # db user 'passwd':'123456', # db password 'charset':'utf8', # db charset 'conn':10} # db connections in pool } install(DATABASE) install(DATABASE) install(DATABASE) install(DATABASE) with get_connection('test') as conn: for i in range(0, 100): print(conn.select_one('order'))
for client in [PycurlClient, RequestsClient, Urllib2Client, Urllib3Client]: c = client() c.get('http://baidu.com', headers={'X-testtest': 'test'}) print c.headers def test_urlencode(): a = { '你好': u'你hhhh好', u'你': u'你hhhh好', } print utf8urlencode(a) b = { 't': 'test', 'g': 'gogo', } print utf8urlencode(b) if __name__ == '__main__': import logger logger.install('stdout') test_get() # test_post() # test_post_json() # test_install() # test_long_conn() # test_headers() # test_urlencode()
def test_new_rw(): import logger logger.install('stdout') database = {'test':{ 'policy': 'round_robin', 'default_conn':'auto', 'master': {'engine':'pymysql', 'db':'test', 'host':'172.100.101.156', 'port':3306, 'user':'******', 'passwd':'123456', 'charset':'utf8', 'conn':10} , 'slave':[ {'engine':'pymysql', 'db':'test', 'host':'172.100.101.156', 'port':3306, 'user':'******', 'passwd':'123456', 'charset':'utf8', 'conn':10 }, {'engine':'pymysql', 'db':'test', 'host':'172.100.101.156', 'port':3306, 'user':'******', 'passwd':'123456', 'charset':'utf8', 'conn':10 } ] } } install(database) def printt(t=0): now = time.time() if t > 0: print 'time:', now-t return now t = printt() with get_connection('test') as conn: t = printt(t) print 'master:', conn._master, 'slave:', conn._slave assert conn._master == None assert conn._slave == None ret = conn.query("select 10") t = printt(t) print 'after read master:', conn._master, 'slave:', conn._slave assert conn._master == None assert conn._slave != None conn.execute('create table if not exists haha (id int(4) not null primary key, name varchar(128) not null)') t = printt(t) print 'master:', conn._master, 'slave:', conn._slave assert conn._master != None assert conn._slave != None conn.execute('drop table haha') t = printt(t) assert conn._master != None assert conn._slave != None print 'ok' print '=' * 20 t = printt() with get_connection('test') as conn: t = printt(t) print 'master:', conn._master, 'slave:', conn._slave assert conn._master == None assert conn._slave == None ret = conn.master.query("select 10") assert conn._master != None assert conn._slave == None t = printt(t) print 'after query master:', conn._master, 'slave:', conn._slave ret = conn.query("select 10") assert conn._master != None assert conn._slave != None print 'after query master:', conn._master, 'slave:', conn._slave print 'ok'
def test_new_rw(): import logger logger.install('stdout') database = { 'test': { 'policy': 'round_robin', 'default_conn': 'auto', 'master': { 'engine': 'pymysql', 'db': 'test', 'host': '172.100.101.156', 'port': 3306, 'user': '******', 'passwd': '123456', 'charset': 'utf8', 'conn': 10 }, 'slave': [{ 'engine': 'pymysql', 'db': 'test', 'host': '172.100.101.156', 'port': 3306, 'user': '******', 'passwd': '123456', 'charset': 'utf8', 'conn': 10 }, { 'engine': 'pymysql', 'db': 'test', 'host': '172.100.101.156', 'port': 3306, 'user': '******', 'passwd': '123456', 'charset': 'utf8', 'conn': 10 }] } } install(database) def printt(t=0): now = time.time() if t > 0: print('time:', now - t) return now t = printt() with get_connection('test') as conn: t = printt(t) print('master:', conn._master, 'slave:', conn._slave) assert conn._master == None assert conn._slave == None ret = conn.query("select 10") t = printt(t) print('after read master:', conn._master, 'slave:', conn._slave) assert conn._master == None assert conn._slave != None conn.execute( 'create table if not exists haha (id int(4) not null primary key, name varchar(128) not null)' ) t = printt(t) print('master:', conn._master, 'slave:', conn._slave) assert conn._master != None assert conn._slave != None conn.execute('drop table haha') t = printt(t) assert conn._master != None assert conn._slave != None print('ok') print('=' * 20) t = printt() with get_connection('test') as conn: t = printt(t) print('master:', conn._master, 'slave:', conn._slave) assert conn._master == None assert conn._slave == None ret = conn.master.query("select 10") assert conn._master != None assert conn._slave == None t = printt(t) print('after query master:', conn._master, 'slave:', conn._slave) ret = conn.query("select 10") assert conn._master != None assert conn._slave != None print('after query master:', conn._master, 'slave:', conn._slave) print('ok')
def test3(): import logger logger.install('stdout') global log log = logger.log DATABASE = { 'test': { 'policy': 'round_robin', 'default_conn': 'auto', 'master': { 'engine': 'mysql', 'db': 'test', 'host': '127.0.0.1', 'port': 3306, 'user': '******', 'passwd': '123456', 'charset': 'utf8', 'idle_timeout': 60, 'conn': 20 }, 'slave': [ { 'engine': 'mysql', 'db': 'test', 'host': '127.0.0.1', 'port': 3306, 'user': '******', 'passwd': '123456', 'charset': 'utf8', 'conn': 20 }, { 'engine': 'mysql', 'db': 'test', 'host': '127.0.0.1', 'port': 3306, 'user': '******', 'passwd': '123456', 'charset': 'utf8', 'conn': 20 }, ], }, } install(DATABASE) while True: x = random.randint(0, 10) print('x:', x) conns = [] print('acquire ...') for i in range(0, x): c = acquire('test') time.sleep(1) c.insert('ztest', {'name': 'zhaowei%d' % (i)}) print(c.query('select count(*) from ztest')) print(c.get('select count(*) from ztest')) conns.append(c) print(dbpool['test'].size()) print('release ...') for c in conns: release(c) time.sleep(1) print(dbpool['test'].size()) time.sleep(1) print('-' * 60) print(dbpool['test'].size()) print('-' * 60) time.sleep(1)
} print utf8urlencode(b) def test_binary(): Urllib2Client().get('https://www.baidu.com/img/bd_logo1.png') Urllib2Client().get('http://baidu.com') def test_post_file(): RequestsClient().post_file('http://httpbin.org/post', {'key1':'value1'}, files={'file1': open('__init__.py', 'rb')}) def test_urllib3(): Urllib3Client().post_xml('http://127.0.0.1:9020/a/b/c',{'a':'1'}) Urllib3Client(conn_pool=True).post_xml('http://127.0.0.1:9020/a/b/c',{'a':'1'}) if __name__ == '__main__': import logger logger.install('stdout') # test_get() # test_post() # test_post_json() # test_post_xml() # test_install() # test_long_conn() # test_headers() # test_urlencode() # test_binary() # test_post_file() test_urllib3()
def test3(): import logger logger.install('stdout') global log log = logger.log DATABASE = {'test':{ 'policy': 'round_robin', 'default_conn':'auto', 'master': {'engine':'mysql', 'db':'test', 'host':'127.0.0.1', 'port':3306, 'user':'******', 'passwd':'123456', 'charset':'utf8', 'idle_timeout':60, 'conn':20}, 'slave':[ {'engine':'mysql', 'db':'test', 'host':'127.0.0.1', 'port':3306, 'user':'******', 'passwd':'123456', 'charset':'utf8', 'conn':20}, {'engine':'mysql', 'db':'test', 'host':'127.0.0.1', 'port':3306, 'user':'******', 'passwd':'123456', 'charset':'utf8', 'conn':20}, ], }, } install(DATABASE) while True: x = random.randint(0, 10) print 'x:', x conns = [] print 'acquire ...' for i in range(0, x): c = acquire('test') time.sleep(1) c.insert('ztest', {'name':'zhaowei%d'%(i)}) print c.query('select count(*) from ztest') print c.get('select count(*) from ztest') conns.append(c) print dbpool['test'].size() print 'release ...' for c in conns: release(c) time.sleep(1) print dbpool['test'].size() time.sleep(1) print '-'*60 print dbpool['test'].size() print '-'*60 time.sleep(1)