https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /proc/self/root/opt/alt/python37/lib/python3.7/site-packages/ssa/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/opt/alt/python37/lib/python3.7/site-packages/ssa/__pycache__/db.cpython-37.pyc
B

��cZ
�@s�ddlZddlZddlZddlmZmZddlmZmZmZm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZdZdZe�ZGd	d
�d
e�Zdd�Zd
d�Zdd�Zdd�Zdd�Zddd�Zejed�dd��ZdS)�N)�datetime�	timedelta)�Column�Boolean�DateTime�Integer�String�
create_engine�event�func)�declarative_base)�	Inspector)�Sessionz/var/lve/ssa.db�c@s�eZdZdZdZeedd�Zeeddd�Z	eeddd�Z
eedd�Zeedd�Zee
dd�Zee
dd�Zeedd�Zeedd�Zee
dd�Zeedd�e��d	�Zeedd�e��e��d
�ZdS)�
RequestResultay
    Describes processed request stored in database file.

    E.g.
    {
        "timestamp": "1650008727",
        "url": "http://mydomain.com/index.php",
        "duration": 162077,
        "hitting_limits": false,
        "throttled_time": 0,
        "io_throttled_time": 0,
        "wordpress": true
    }

    Note: created_at, updated_at is saved in local TZ format
    Z
scrape_resultT)Zprimary_keyF)�index�nullable)r)�timezone)�server_default)ZonupdaterN)�__name__�
__module__�__qualname__�__doc__Z
__tablename__rr�idr�domain�path�	timestamp�durationr�is_slow_request�hitting_limits�throttled_time�io_throttled_time�	wordpressrr�now�
created_atZ
updated_at�r%r%�7/opt/alt/python37/lib/python3.7/site-packages/ssa/db.pyr"src	CsDt��ttd�}t|�� }|�t��tj|k��	�WdQRXdS)zD
    Removes outdated records from database, saving disk space.
    )�daysN)
r�todayr�RETENTION_TIME_DAYS�
session_scope�queryr�filterr$�delete)�engine�
n_days_ago�sessionr%r%r&�cleanup_old_dataGs

r1cCst|�stj�|�dS)N)�
is_db_present�Base�metadataZ
create_all)r.r%r%r&�create_db_if_not_existRsr5cCs8tj�t�sdSt�|�}dd�|��D�}t|�dkS)NFcSsg|]}|�qSr%r%)�.0�tabler%r%r&�
<listcomp>[sz!is_db_present.<locals>.<listcomp>r)�osr�isfile�SSA_DBr
Zfrom_engineZget_table_names�len)r.Zdatabase_inspectionZtablesr%r%r&r2Ws

r2cCs|�d�dS)NzPRAGMA journal_mode = WAL)�execute)Z	dbapi_conZ
con_recordr%r%r&�setup_wal_mode_sr>csLdt���|r��d���fdd�}td|dd�}t�|dt�t|�|S)	Nzfile:z?mode=rocstj�dd�S)NT)�uri)�sqlite3�connectr%)�connection_stringr%r&�<lambda>g�z!_setup_database.<locals>.<lambda>zsqlite:////F)�creator�echorA)r;r	r
�listenr>r5)�readonlyrEr.r%)rBr&�_setup_databasecs

rIFcCst|�S)N)rI)rHr%r%r&�setup_databasepsrJ)�returnccsHt|d�}z.y|V|��Wn|���YnXWd|��XdS)zF
    Provide a transactional scope around a series of operations.
    )�bindN)rZcommitZrollback�close)r.r0r%r%r&r*ts
r*)F) r9�
contextlibr@rrZ
sqlalchemyrrrrrr	r
rZsqlalchemy.ext.declarativerZsqlalchemy.engine.reflectionr
Zsqlalchemy.ormrr;r)r3rr1r5r2r>rIrJ�contextmanagerr*r%r%r%r&�<module>
s&(	%


https://t.me/AnonymousX5 - 2025