Ñò ÅEBMc@s”ddkZddkZddkZddkZddkZddkZddkZddkZedjo1dZ ddk Z ye i e ƒWq¤q¤XndZ ei e ƒZ yqe iƒZyeidƒWnCyeidƒWqej oZeideƒ‚qXnXeiƒWn*eij oZeGHeidƒnXd „Zd „Zd „Zd „Zd „Zd„Zd„ZdS(iÿÿÿÿNt__main__sid_user_unittest.dbs id_user.dbsselect * from userssÆcreate table users (username VARCHAR(32), md5 VARBINARY(32), email VARBINARY(64), status TINYINT(4) default '1', alert TEXT, reset VARBINARY(32) default null)s/Fatal error: Unable to create table 'users': %sicCsŒtiƒ}yG|id|fƒ|iƒ}|iƒ|ddjotStSWn2tj o&}ti |ƒ|GH|iƒtSXdS(Ns-select count(*) from users where username = ?ii( tCONNtcursortexecutetfetchonetclosetFalsetTruet Exceptiont tracebackt print_exc(tnametctreste((s&/usr/local/www/weave/account_sqlite.pytnameIsAvailable7s     cCsõ|djpt|ƒdjotidƒ‚n|djpt|ƒdjotidƒ‚ntiƒ}y<ti|ƒiƒ}|i d|||fƒ|i ƒWn@t j o4}t i |ƒ|GH|i ƒtidƒ‚nXdS(NisInvalid usernamesInvalid passwordsDinsert into users (username, md5, email, status) values (?, ?, ?, 1)sUnable to create user(tNonetlentaccounttWeaveUserExceptionRRthashlibtmd5t hexdigestRRRR R (R tpasswordtemailR RR((s&/usr/local/www/weave/account_sqlite.pytcreateGs     cCs‡|djpt|ƒdjotidƒ‚ntiƒ}y!|id|fƒ|iƒWn |iƒtidƒ‚nXdS(NisInvalid usernames$delete from users where username = ?sUnable to delete user(RRRRRRRR(R R ((s&/usr/local/www/weave/account_sqlite.pytdeleteXs   cCsì|djpt|ƒdjotidƒ‚n|djpt|ƒdjotidƒ‚ntiƒ}yati|ƒiƒ}|i d||fƒ|i ƒ}|o|ddjot St St SWn|i ƒt SXdS(NisInvalid usernamesInvalid passwords7select status from users where username = ? and md5 = ?i(RRRRRRRRRRRRRR(R RR RR ((s&/usr/local/www/weave/account_sqlite.pyt checkPasswordcs"     cCsdS(N(R(R ((s&/usr/local/www/weave/account_sqlite.pytgetStorageNodexscCsÒ|djpt|ƒdjotidƒ‚n|djpt|ƒdjotidƒ‚ntiƒ}y9ti|ƒiƒ}|i d||fƒ|i ƒWn |i ƒtidƒ‚nXdS(NisInvalid usernamesInvalid passwords*update users set md5 = ? where username =?sUnable to change password( RRRRRRRRRRR(R RR R((s&/usr/local/www/weave/account_sqlite.pyt setPassword{s    cCs½|djpt|ƒdjotidƒ‚n|djpt|ƒdjotidƒ‚ntiƒ}y$|id||fƒ|iƒWn |iƒtidƒ‚nXdS(NisInvalid usernames Invalid emails,update users set email = ? where username =?sUnable to change email(RRRRRRRR(R RR ((s&/usr/local/www/weave/account_sqlite.pytsetEmail‹s    (RR tloggingttimetjsonRtsqlite3tsyst__name__tdbNametostunlinktconnectRRR RRRRRtexitRRRRRRR(((s&/usr/local/www/weave/account_sqlite.pytsJ