
    ؄_
                        d dl Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 dd	lm
Z
 dd
lmZ  ej        d          d             Z e	j        d          d             Z ej        d          d             Z ej        d          d             Z ej        d          d             Z e
j        d          d             ZdS )    N   )url)	create_db)drop_db)follower_url_from_main)log)post_configure_engine)run_reap_dbs)temp_table_keyword_argssqlitec                     t          j        |           } | j        r| j        dk    r| S t          j        d|z            S )Nz:memory:zsqlite:///%s.db)sa_urlmake_urldatabase)r   idents     i/var/www/book.euthymeo.com/html/venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/provision.py_sqlite_follower_url_from_mainr      sB    
/#

C< :3<:55
058999    c                 V    ddl m} |                    |d          fd            }d S )Nr   )eventconnectc                 j    s|                      d           d S |                      dz             d S )Nz/ATTACH DATABASE "test_schema.db" AS test_schemaz2ATTACH DATABASE "%s_test_schema.db" AS test_schema)execute)dbapi_connectionconnection_recordfollower_idents     r   r   z._sqlite_post_configure_engine.<locals>.connect   sc      	 $$A     $$D !    r   )
sqlalchemyr   listens_for)r   enginer   r   r   s     `  r   _sqlite_post_configure_enginer       sS          
vy))    *)  r   c                     d S )N )cfgengr   s      r   _sqlite_create_dbr%   .   s    Dr   c                     d|z  d|z  fD ]L}t           j                            |          r+t          j        d|z             t          j        |           Md S )N%s.db%s_test_schema.db!deleting SQLite database file: %s)ospathexistsr   inforemove)r#   r$   r   r+   s       r   _sqlite_drop_dbr/   3   sd    5"5"=>  7>>$ 	H84?@@@IdOOO r   c                     ddgiS )Nprefixes	TEMPORARYr"   )r#   r$   s     r   _sqlite_temp_table_keyword_argsr3   ;   s    &&r   c                 8   t          j        d|            t          j        dd                    |                     |D ]Y}d|z  d|z  fD ]L}t          j                            |          r+t          j        d|z             t          j        |           MZd S )Nzdb reaper connecting to %rzidentifiers in file: %sz, r'   r(   r)   )r   r-   joinr*   r+   r,   r.   )r   identsr   r+   s       r   _reap_sqlite_dbsr7   @   s    H)3///H&		&(9(9:::     u_&9E&AB 	  	 Dw~~d##  <tCDDD	$	    r   )r*   r   r   r   testing.provisionr   r   r   r   r	   r
   r   for_dbr   r    r%   r/   r3   r7   r"   r   r   <module>r:      s   				 # # # # # # * * * * * * ( ( ( ( ( ( 7 7 7 7 7 7 $ $ $ $ $ $ 6 6 6 6 6 6 - - - - - - 8 8 8 8 8 8 x((: : )(: h''  ('. (	 	 	     ))' ' *)' X
  
  
  
  
 r   