Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÝPf‚ã @srddlmZmZddlZddlZyeWnek r@eZYnXddlm Z m Z m Z m Z m Z Gdd„de ƒZdS)é)Úabsolute_importÚdivisionNé)ÚLockBaseÚ NotLockedÚ NotMyLockÚ LockTimeoutÚ AlreadyLockedc@sPeZdZdZdZddd„Zddd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dS)ÚSQLiteLockFilezDemonstrate SQL-based locking.NTc CsÐtj||||ƒt|jƒ|_t|jƒ|_tjdkrdddl}|jƒ\}}t j |ƒt j |ƒ~~|t_ddl }|j tjƒ|_|jjƒ}y|jdƒWn|jk r¨Yn$X|jjƒddl} | jt j tjƒdS)zu >>> lock = SQLiteLockFile('somefile') >>> lock = SQLiteLockFile('somefile', threaded=False) NrzGcreate table locks( lock_file varchar(32), unique_name varchar(32)))rÚ__init__ÚunicodeÚ lock_fileÚ unique_namer ÚtestdbÚtempfileZmkstempÚosÚcloseÚunlinkÚsqlite3ZconnectÚ connectionÚcursorÚexecuteZOperationalErrorÚcommitÚatexitÚregister) ÚselfÚpathZthreadedÚtimeoutrZ_fdrrÚcr©rú$/usr/lib/python3.6/sqlitelockfile.pyr s(        zSQLiteLockFile.__init__cCsH|dk r |n|j}tjƒ}|dk r2|dkr2||7}|dkr@d}n|dkrNd}n|d}|jjƒ}xâ|jƒsÎ|jd|j|jfƒ|jjƒ|jd|jfƒ|j ƒ}t |ƒdkrÈ|jd|jfƒ|jjƒqödSn(|jd|jfƒ|j ƒ}t |ƒdkrödS|dk �r6tjƒ|k�r6|dk�r(t d|j ƒ‚nt d |j ƒ‚tj|ƒqbWdS) Nrgš™™™™™¹?é z;insert into locks (lock_file, unique_name) values (?, ?)z*select * from locks where unique_name = ?rz(delete from locks where unique_name = ?z&Timeout waiting to acquire lock for %sz%s is already locked)rÚtimerrÚ is_lockedrr rrÚfetchallÚlenrrr Zsleep)rrZend_timeÚwaitrÚrowsrrr Úacquire5sD          zSQLiteLockFile.acquirecCs\|jƒstd|jƒ‚|jƒs4td|j|jƒfƒ‚|jjƒ}|j d|jfƒ|jj ƒdS)Nz%s is not lockedz#%s is locked, but not by me (by %s)z(delete from locks where unique_name = ?) r#rrÚ i_am_lockingrrÚ_who_is_lockingrrrr)rrrrr Úreleasets  zSQLiteLockFile.releasecCs&|jjƒ}|jd|jfƒ|jƒdS)Nz2select unique_name from locks where lock_file = ?r)rrrr Zfetchone)rrrrr r*€s  zSQLiteLockFile._who_is_lockingcCs*|jjƒ}|jd|jfƒ|jƒ}| S)Nz(select * from locks where lock_file = ?)rrrr r$)rrr'rrr r#‡s   zSQLiteLockFile.is_lockedcCs*|jjƒ}|jd|j|jfƒ|jƒ S)Nz?select * from locks where lock_file = ? and unique_name = ?)rrrr rr$)rrrrr r)�s zSQLiteLockFile.i_am_lockingcCs(|jjƒ}|jd|jfƒ|jjƒdS)Nz&delete from locks where lock_file = ?)rrrr r)rrrrr Ú break_lock—s  zSQLiteLockFile.break_lock)TN)N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rr r(r+r*r#r)r,rrrr r s " ? r )Z __future__rrr"rr Ú NameErrorÚstrÚrrrrr r rrrr Ús