9Qg&ddlZddlZddlmZddlmZddlmZ ddlmZn#e$r ddl mZYnwxYw ddl Z ddl m Z ddl mZddlmZddlmZn#e$r dxZ xZZYnwxYwddlmZddlmZejd ZGd d eZGd d eZGddeZGddeZeZ eZ!eZ"GddeZ#GddeZ$GddeZ%Gdde%Z&dS)N)localEvent)Thread)Queue)Greenlet)__deprecated__)SqliteExtDatabasezpeewee.sqliteqceZdZdS) ResultTimeoutN__name__ __module__ __qualname__q/builddir/build/BUILD/imunify360-venv-2.5.0/opt/imunify360/venv/lib/python3.11/site-packages/playhouse/sqliteq.pyr r Drr ceZdZdS) WriterPausedNr rrrrrrrrceZdZdS)ShutdownExceptionNr rrrrr!rrrceZdZdZdZddZddZdZdZeZ e dZ e d Z e d Z d Zd Zd ZdS) AsyncCursor) sqlparamstimeout_event_cursor_exc_idx_rows_readyc||_||_||_||_dx|_x|_x|_|_d|_dS)NF) rrrrrr r!r"r#)selfeventrrrs r__init__zAsyncCursor.__init__)sE   <@@ @ty@49tz rNc||_||_d|_||ng|_|j|S)Nr)rr r!fetchallr"rset)r%cursorexcs r set_resultzAsyncCursor.set_result1sH   *-+V__&&&2   rc||n|j}|j|s|rtd|j|jd|_dS)N)rzresults not ready, timed out.T)rrwaitr r r#)r%rs r_waitzAsyncCursor._wait9s_$0''dl{00 AW A ?@@ @ 9 )O rcX|js||j|j|SN)r#r0r r%s r__iter__zAsyncCursor.__iter__As-{  JJLLL 9 )O rc|js| |j|j}|xjdz c_|S#t$rt wxYw)N)r#r0r"r! IndexError StopIterationr%objs rnextzAsyncCursor.nextHse{  JJLLL *TY'C IINIIJ      s AAcP|js||jjSr2)r#r0r lastrowidr3s rr=zAsyncCursor.lastrowidTs${  JJLLL|%%rcP|js||jjSr2)r#r0rrowcountr3s rr?zAsyncCursor.rowcountZs${  JJLLL|$$rc|jjSr2)r descriptionr3s rrAzAsyncCursor.description`s |''rc8|jdSr2)rcloser3s rrCzAsyncCursor.closeds rc t|Sr2)listr3s rr)zAsyncCursor.fetchallgsDzzrcz|js| t|S#t$rYdSwxYwr2)r#r0r;r8r3s rfetchonezAsyncCursor.fetchonejsL{  JJLLL ::    44 s , ::r2)rrr __slots__r'r-r0r4r;__next__propertyr=r?rArCr)rGrrrrr%sII   H &&X& %%X% ((X(rrc0eZdZdZdZdZdZdZdZdS)Writerdatabasequeuec"||_||_dSr2rM)r%rNrOs rr'zWriter.__init__zs   rc|j} |.|r|j}n||}ng#t$rZt dY|:|j||jj dSdSwxYw#|9|j||jj wwxYw)NTz*writer received shutdown request, exiting.) rN connection wait_unpauselooprloggerinfo_close_statereset)r%conns rrunz Writer.run~s}'')) - |,,..>#'=#;#;#=#=D#yy(KK LMMM $$T*** $**,,,,,    $$T*** $**,,,, s/C AA#"C #$CC CC =Dct|j}|turtddS|t urt |turtddS| dtt d|dS)Nz+writer unpaused - reconnecting to database.Tz-writer received pause, but is already paused.zwriter paused, not handling %s) rOgetUNPAUSErUrVSHUTDOWNrPAUSEerrorr-rwarningr9s rrSzWriter.wait_unpausesjnn '>> KKE F F F4 H__#%% % E\\ LLH I I I I I NN4 0 0 0 NN;S A A A A Arc|j}t|tr||n|t urTt d|j ||jj dS|turt dn2|turtt d||S)Nz,writer paused - closing database connection.z0writer received unpause, but is already running.z&writer received unsupported object: %s)rOr] isinstancerexecuter`rUrVrNrWrXrYr^rar_r)r%rZr:s rrTz Writer.loopsjnn c; ' ' H LL     E\\ KKF G G G M  & & & M & & ( ( ( F G^^ LLK L L L L H__#%% % LLA3 G G G rctd|j |j|j|j}d}n#t $r}d}|}Yd}~nd}~wwxYw|||S)Nzreceived query %s)rUdebugrrN_executer Exceptionr-)r%r:r+r, execute_errs rrezWriter.executes (#'222 ]++CGSZ@@F CC    FCCCCCC  ~~fc***s%A A"AA"N) rrrrHr'r[rSrTrerrrrLrLwsg%I---$ B B B" + + + + +rrLczeZdZdZ dfd ZdZddZdZd Zdd Z d Z d Z d Z dZ dZdZexZxZZxZS)SqliteQueueDatabasezSQLite must be configured to use the WAL journal mode when using this feature. WAL mode allows one or more readers to continue reading while another connection writes to the database.FTNcd|d<||dd}tt|} | j|_| j|g|Rd|i|||_||_d|_ | |||_ | |jr| dSdS)NFcheck_same_threadpragmasT)_validate_journal_modepopsuperrl execute_sqlrhr' _autostart_results_timeout _is_stoppedget_thread_impl_thread_helper_create_write_queuestart) r%rN use_gevent autostartqueue_max_sizeresults_timeoutargskwargsroParent __class__s rr'zSqliteQueueDatabase.__init__s&+"#--fjjD.I.IJJ *D11*  CDCCC'CFCCC# /?d22:>>~NN   """ ?  JJLLLLL  rc"|rtntSr2)GreenletHelper ThreadHelper)r%r{s rrwz#SqliteQueueDatabase.get_thread_impls!+=~~=rc|sddiSt|tstd|D}|dddkrt |jd|d<|S)N journal_modewalc3HK|]\}}||fVdSr2)lower).0kvs r z=SqliteQueueDatabase._validate_journal_mode..s2@@fq!AGGIIq>@@@@@@r)rddictr]r ValueErrorWAL_MODE_ERROR_MESSAGE)r%ros rrpz*SqliteQueueDatabase._validate_journal_modes +"E* *'4(( A@@@@@@@G ;;~u - - 3 3 5 5 > >T899 9"'rcB|j|_dSr2)rxrO _write_queuer3s rryz'SqliteQueueDatabase._create_write_queues /5577rc4|jSr2)rqsizer3s r queue_sizezSqliteQueueDatabase.queue_sizes &&(((rc<|td|dr|||St |j||||jn|}|j ||S)Nz,"commit" has been deprecated and is a no-op.select)r&rrr) r r startswithrhrrxr&rurput)r%rrcommitrr+s rrszSqliteQueueDatabase.execute_sqls   I J J J 99;; ! !( + + .==f-- -%++---4_D))' KKK f%%% rcj5js ddddSfd}j|_jd_ ddddS#1swxYwYdS)NFcZtj}|dSr2)rLrr[)writerr%s rr[z&SqliteQueueDatabase.start..runs&d&788 rT)_lockrvrxthread_writerrz)r%r[s` rrzzSqliteQueueDatabase.starts Z  #               .55c::DL L   $D                   s A1AA11A58A5c$td|j5|jr ddddS|jt |jd|_ ddddS#1swxYwYdS)Nzenvironment stop requested.FT) rUrgrrvrrr_rjoinr3s rstopzSqliteQueueDatabase.stops 2333 Z              ! !( + + + L     #D                    s BABB  B cR|j5|jcdddS#1swxYwYdSr2)rrvr3s r is_stoppedzSqliteQueueDatabase.is_stoppedst Z $ $# $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   c|j5|jtddddS#1swxYwYdSr2)rrrr`r3s rpausezSqliteQueueDatabase.pauses Z ) )   ! !% ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 599c|j5|jtddddS#1swxYwYdSr2)rrrr^r3s runpausezSqliteQueueDatabase.unpause s Z + +   ! !' * * * + + + + + + + + + + + + + + + + + +rc@tdt|z)Nz#This method is not supported by %r.)rtype)r%rrs r__unsupported__z#SqliteQueueDatabase.__unsupported__$s>dKLLLr)FTNNr2)NNN)rrrrr'rwrpryrrsrzrrrrratomic transaction savepoint __classcell__)rs@rrlrls* >B6::>>>    888)))       $$$)))+++MMM'66F6[99999rrlc.eZdZdZddZdZddZdZdS)rr}Nc||_dSr2r)r%r}s rr'zThreadHelper.__init__,s,rctSr2rr3s rr&zThreadHelper.event/s EGG^rc<||n|j}t|pdSNr)maxsize)r}rr%max_sizes rrOzThreadHelper.queue1s('3889LX]++++rc8t|||}d|_|S)N)targetrrT)rdaemon)r%fnrrrs rrzThreadHelper.thread5s"rV<<<  rr2)rrrrHr'r&rOrrrrrr)s[#I----$##,,,,rrc&eZdZdZdZddZdZdS)rrctSr2)GEventr3s rr&zGreenletHelper.event>s FHH_rNc<||n|j}t|pdSr)r}GQueuers rrOzGreenletHelper.queue@s('3889Lhm!,,,,rc.fd}t|g|Ri|S)Nc:tj|i|Sr2)geventsleep)arrs rwrapz#GreenletHelper.thread..wrapEs LNNN2q;A;; r)GThread)r%rrrrs ` rrzGreenletHelper.threadDs<     t-d---f---rr2)rrrrHr&rOrrrrrr;sEI$$$----.....rr)'loggingweakref threadingr thread_localrrr ImportErrorrOrrr gevent.eventr gevent.localgreenlet_local gevent.queuerpeeweer playhouse.sqlite_extr getLoggerrUrir rrobjectrr8r_r`r^rLrlrrrrrrs++++++%MMM******,,,,,,444444,,,,,,,%%% $$G$fvvv%"!!!!!222222  + , ,     I        9           KKKKK&KKKZ  &((@+@+@+@+@+V@+@+@+Fl7l7l7l7l7+l7l7l7^6$ . . . . .\ . . . . .s# 11A A A