$99 GRAYBYTE WORDPRESS FILE MANAGER $18

SERVER : in-mum-web1330.main-hosting.eu #1 SMP Mon Feb 10 22:45:17 UTC 2025
SERVER IP : 147.79.69.24 | ADMIN IP 216.73.216.63
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/python311/lib/python3.11/site-packages/pyroute2/ndb/__pycache__/

HOME
Current File : /opt/alt/python311/lib/python3.11/site-packages/pyroute2/ndb/__pycache__//schema.cpython-311.pyc
�

�;f,���2�dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ddlmZmZddlmZmZmZmZmZmZ	ddlZn
#e$rdZYnwxYweeeeeegad	ZGd
�dej��Zd�ZGd
�de��Z Gd�d��Z!dS)a�
Backends
--------

NDB stores all the records in an SQL database. By default it uses
the SQLite3 module, which is a part of the Python stdlib, so no
extra packages are required::

    # SQLite3 -- simple in-memory DB
    ndb = NDB()

    # SQLite3 -- same as above with explicit arguments
    ndb = NDB(db_provider='sqlite3', db_spec=':memory:')

    # SQLite3 -- file DB
    ndb = NDB(db_provider='sqlite3', db_spec='test.db')

It is also possible to use a PostgreSQL database via psycopg2
module::

    # PostgreSQL -- local DB
    ndb = NDB(db_provider='psycopg2',
              db_spec={'dbname': 'test'})

    # PostgreSQL -- remote DB
    ndb = NDB(db_provider='psycopg2',
              db_spec={'dbname': 'test',
                       'host': 'db1.example.com'})

Database backup
---------------

Built-in database backup is implemented now only for SQLite3 backend.
For the PostgresSQL backend you have to use external utilities like
`pg_dump`::

    # create an NDB instance
    ndb = NDB()  # the defaults: db_provider='sqlite3', db_spec=':memory:'
    ...
    # dump the DB to a file
    ndb.backup('backup.db')

SQL schema
----------

By default NDB deletes the data from the DB upon exit. In order to preserve
the data, use `NDB(db_cleanup=False, ...)`

Here is an example schema (may be changed with releases)::

                List of relations
     Schema |       Name       | Type  | Owner
    --------+------------------+-------+-------
     public | addresses        | table | root
     public | af_bridge_fdb    | table | root
     public | af_bridge_ifs    | table | root
     public | af_bridge_vlans  | table | root
     public | enc_mpls         | table | root
     public | ifinfo_bond      | table | root
     public | ifinfo_bridge    | table | root
     public | ifinfo_gre       | table | root
     public | ifinfo_gretap    | table | root
     public | ifinfo_ip6gre    | table | root
     public | ifinfo_ip6gretap | table | root
     public | ifinfo_ip6tnl    | table | root
     public | ifinfo_ipip      | table | root
     public | ifinfo_ipvlan    | table | root
     public | ifinfo_macvlan   | table | root
     public | ifinfo_macvtap   | table | root
     public | ifinfo_sit       | table | root
     public | ifinfo_tun       | table | root
     public | ifinfo_vlan      | table | root
     public | ifinfo_vrf       | table | root
     public | ifinfo_vti       | table | root
     public | ifinfo_vti6      | table | root
     public | ifinfo_vxlan     | table | root
     public | interfaces       | table | root
     public | metrics          | table | root
     public | neighbours       | table | root
     public | netns            | table | root
     public | nh               | table | root
     public | p2p              | table | root
     public | routes           | table | root
     public | rules            | table | root
     public | sources          | table | root
     public | sources_options  | table | root
    (33 rows)

    rtnl=# select f_index, f_ifla_ifname from interfaces;
     f_index | f_ifla_ifname
    ---------+---------------
           1 | lo
           2 | eth0
          28 | ip_vti0
          31 | ip6tnl0
          32 | ip6_vti0
       36445 | br0
       11434 | dummy0
           3 | eth1
    (8 rows)

    rtnl=# select f_index, f_ifla_br_stp_state from ifinfo_bridge;
     f_index | f_ifla_br_stp_state
    ---------+---------------------
       36445 |                   0
    (1 row)

Database upgrade
----------------

There is no DB schema upgrade from release to release. All the
data stored in the DB is being fetched from the OS in the runtime,
thus no persistence required.

If you're using a PostgreSQL DB or a file based SQLite, simply drop
all the tables from the DB, and NDB will create them from scratch
on startup.
�N)�OrderedDict)�partial)�config)�
basestring�uuid32�)�address�	interface�	neighbour�netns�route�rule�c��eZdZdZdZd�ZdS)�
DBProvider�sqlite3�psycopg2c�(�t|��|kS�N��str)�self�rs  �F/opt/alt/python311/lib/python3.11/site-packages/pyroute2/ndb/schema.py�__eq__zDBProvider.__eq__�s���4�y�y�A�~��N)�__name__�
__module__�__qualname__rrr�rrrr�s-�������G��H�����rrc�N��t�t��r�fd�}|Sd�_�S)Nc����|_|Sr)�publish)�m�fs �r�decoratezpublish.<locals>.decorate�s����A�I��HrT)�
isinstancerr#)r%r&s` rr#r#�sA����!�S����	�	�	�	�	����A�I��Hrc���eZdZd�Zed��d���Zed��d���Zed��d���Zed���Zed	���Z	ed
���Z
dS)�DBDictc�"�||_||_dSr)�schema�table)rr+r,s   r�__init__zDBDict.__init__�s�������
�
�
r�getc��|j�d|j�d|jj�d�|f��D]\}t	j|��cSt
d|�d����)Nz!
            SELECT f_value FROM �
            WHERE f_key = �
            zkey z
 not found)r+�fetchr,�plch�json�loads�KeyError)r�key�records   r�__getitem__zDBDict.__getitem__�s�����*�*�
�!%��
�
��;�+�
�
�
��F�
�
�	&�	&�I�V��:�f�%�%�%�%�%��-�c�-�-�-�.�.�.r�setc	��||=|j�d|j�d|jj�d|jj�d�|t	j|��f��dS)Nz
            INSERT INTO z
            VALUES (�, �)
            )r+�executer,r3r4�dumps�rr7�values   r�__setitem__zDBDict.__setitem__�s~����I�����
���
�
��[�%�
�
�)-��)9�
�
�
��$�*�U�#�#�$�	
�	
�	
�	
�	
r�delc�j�|j�d|j�d|jj�d�|f��dS)Nz
            DELETE FROM r0r1)r+r>r,r3�rr7s  r�__delitem__zDBDict.__delitem__�sX������
���
�
��;�+�
�
�
��F�	
�	
�	
�	
�	
rc#�`K�|j�d|j����D]\}|V��	dS)NzSELECT f_key FROM )r+r2r,rEs  r�keyszDBDict.keys�sG�����k�'�'�(I�T�Z�(I�(I�J�J�	�	�F�S��I�I�I�I�	�	rc#�K�|j�d|j����D]\}}|tj|��fV��dS)NzSELECT f_key, f_value FROM �r+r2r,r4r5r@s   r�itemszDBDict.items�sb�����+�+�+�6�$�*�6�6�
�
�	)�	)�J�C���t�z�%�(�(�(�(�(�(�(�	)�	)rc#�K�|j�d|j����D]\}tj|��V��dS)NzSELECT f_value FROM rJ)rrAs  r�valuesz
DBDict.values�sU������)�)�*M���*M�*M�N�N�	$�	$�H�U��*�U�#�#�#�#�#�#�	$�	$rN)rrrr-r#r9rBrFrHrKrMr rrr)r)�s����������
�W�U�^�^�	/�	/��^�	/�
�W�U�^�^�
�
��^�
�
�W�U�^�^�
�
��^�
�
���
�W��
�)�)�
�W�)�
�$�$�
�W�$�$�$rr)c�\�eZdZdZdZdZdZe��ZiZ	iZ
iZd�Zd�Z
d�Zd�Zed���Zd�Zed���Zed	���Zed
���Zedd���Zd
�Zed���Zd�Zd�Zed���Zed���Zed���Zed���Zdd�Zdd�Z dS)�DBSchemaNc	�j�||_t|d��|_i|_d|_d|_||_i|_i|_i|_	|d|_
|d|_tD]l}|j
dD]?\}}|���|j|<|j|j|<|j|j|<�@|j
dD]\}}||j|<��m|�|��tD]�}|j
d}	|	���D]w\}
}g}|D]c}
t-|
t.��r)|�t3|j|
�����@|�t3|
|�����d||j	|
<�x��t7j��x|_|_dS)Nr�
rtnl_debug�provider�specs�classes�	event_map)�sourcesr)r�stats�
connection�cursor�log�	snapshots�key_defaultsrU�rtnl_logrR�plugins�init�as_dict�spec�index�indices�foreign_keysrT�initdbrKr'r�appendr�load_netlink�time�gctime�ctime)rrrVrU�log_channel�plugin�namera�cls�emap�etype�ehndl�handlers�hs              rr-zDBSchema.__init__�s�������T�8�,�,�����
�������������������
�|�,��
��z�*��
��	)�	)�F�%�k�'�2�
<�
<�
��d�"&�,�,�.�.��	�$��%)�Z���T�"�*.�*;��!�$�'�'�$�[��3�
)�
)�	��c�%(���T�"�"�
)�	
���F�����	1�	1�F��;�{�+�D� $�
�
���
1�
1���u����:�:�A�!�!�Z�0�0�:� �����0A�1�(E�(E�F�F�F�F� �����4�(8�(8�9�9�9�9�(0���u�%�%�
1�$(�9�;�;�.���d�j�j�jrc���|j�|���|dtjkrAtj|d��|_d|_|j�d��nI|dtjkr$tjd
i|d��|_d|_ntd���|j�	��|_	i|_
|j���D]L}|�
||j||j|��|j
|<|�|���M|�d��|�d��|�d	��|�d
��|�d��|�d��|j��D]\}}||j|<�dS)NrRra�?zPRAGMA foreign_keys = ON�%szDB provider not supportedzP
                     DROP TABLE IF EXISTS sources_options
                     zH
                     DROP TABLE IF EXISTS sources
                     z1
            DROP TABLE IF EXISTS config
        zi
            CREATE TABLE config
                (f_key TEXT PRIMARY KEY, f_value TEXT NOT NULL)
        z�
                     CREATE TABLE IF NOT EXISTS sources
                     (f_target TEXT PRIMARY KEY,
                      f_kind TEXT NOT NULL)
                     a�
                     CREATE TABLE IF NOT EXISTS sources_options
                     (f_target TEXT NOT NULL,
                      f_name TEXT NOT NULL,
                      f_type TEXT NOT NULL,
                      f_value TEXT NOT NULL,
                      FOREIGN KEY (f_target)
                          REFERENCES sources(f_target)
                          ON UPDATE CASCADE
                          ON DELETE CASCADE)
                     r )rX�closerr�connectr3r>r�	TypeErrorrY�compiledrarH�compile_specrc�create_tablerKr)rrr,r7rAs     rrezDBSchema.initdb#s���?�&��J�J�L�L�L��*���!3�3�3�%�o�f�V�n�=�=�D�O��D�I��O�#�#�$>�?�?�?�?�
�J�
�:�#6�
6�
6�&�.�@�@����@�@�D�O��D�I�I��7�8�8�8��o�,�,�.�.�����
��Y�^�^�%�%�	%�	%�E�#'�#4�#4��t�y��'���e�)<�$�$�D�M�%� �
���e�$�$�$�$�	
���
�	
�	
�	
�
	
���
�	
�	
�	
�
	
���
�	
�	
�	
�
	
���
�	
�	
�	
�	
���
�	
�	
�	
�	
���

�	
�	
�	
�'�&�,�.�.�	%�	%�J�C��$�D�K����	%�	%rc�J����j|}�j�}|d|ddd�z}|d|ddd�z}|d|ddd�z}	d|z}
d�|D��}�fd�|D��}d	�|
D��}
��fd
�|
D��}�jgt|��z}|||	|
d�|��d�|��d�|��d�|
��d�|��d
�	S)N�names����	all_names��
norm_names��target�tflagsc��g|]}d|z��S�zf_%sr ��.0�xs  r�
<listcomp>z'DBSchema.merge_spec.<locals>.<listcomp>o���1�1�1�!�6�A�:�1�1�1rc�*��g|]}d|�d�j����S��f_� = �r3�r�r�rs  �rr�z'DBSchema.merge_spec.<locals>.<listcomp>p�(���A�A�A�!�!����4�9�9�-�A�A�Arc��g|]}d|z��Sr�r r�s  rr�z'DBSchema.merge_spec.<locals>.<listcomp>q���)�)�)���!��)�)�)rc�.��g|]}��d|�d�j����S��.r�r�)r�r�r�table2s  ��rr�z'DBSchema.merge_spec.<locals>.<listcomp>rs,���L�L�L��v�v�v�q�q�q�$�)�)�<�L�L�Lr�,� AND )	r~r�r��idx�fnames�plchs�fset�knames�fidx)rzr3�len�join)r�table1r�r,�
schema_idx�spec1�spec2r~r�r�r��f_names�f_set�f_idx�f_idx_matchr�s` `             r�
merge_speczDBSchema.merge_spechsJ�����
�f�%���
�f�%���g���w�����!4�4���+�&��{�);�A�b�D�)A�A�	��<�(�5��+>�q��t�+D�D�
�"�Z�/��1�1�y�1�1�1��A�A�A�A�y�A�A�A��)�)�S�)�)�)��L�L�L�L�L�e�L�L�L�����c�'�l�l�*���"�$���h�h�w�'�'��X�X�e�_�_��H�H�U�O�O��h�h�u�o�o��L�L��-�-�

�

�
	
rc�^����g}ddg}ddg}�j����}|D]�}|�|d��|�|d��|�t|��dkr7|dd�D],}	t	�j��}
t
�|
|	����-|���|d������d�|D��}�fd�|D��}�jgt|��z}
d|z}d�|D��}�fd	�|D��}��fd
�|D��}|||||d�	|��d�	|
��d�	|��d�	|��d�	|���j
d
�S)Nr�r�rrc��g|]}d|z��Sr�r r�s  rr�z)DBSchema.compile_spec.<locals>.<listcomp>�r�rc�*��g|]}d|�d�j����Sr�r�r�s  �rr�z)DBSchema.compile_spec.<locals>.<listcomp>�r�rr�c��g|]}d|z��Sr�r r�s  rr�z)DBSchema.compile_spec.<locals>.<listcomp>�r�rc�:��g|]}��|����Sr )�nla2name)r�r��iclasss  �rr�z)DBSchema.compile_spec.<locals>.<listcomp>�s%���4�4�4�1�F�O�O�A�&�&�4�4�4rc�.��g|]}��d|�d�j����Sr�r�)r�r�rr,s  ��rr�z)DBSchema.compile_spec.<locals>.<listcomp>�s,���K�K�K��u�u�u�a�a�a����;�K�K�Krr�r�)r~r�r�r��norm_idxr�r�r�r�r��lookup_fallbacks)rTr.rfr��dict�nla_map�getattrr�r3r�r�)rr,�schema_namesr�r~r�r��bclassrm�step�imapr�r�r�r�r�r�r�r�s``                @rr{zDBSchema.compile_spec�s���������x�(�	���)�
���!�!�%�(�(�� �		9�		9�D��L�L��b��"�"�"����T�"�X�&�&�&��F��4�y�y�1�}�}� ��"��I�9�9�D����/�/�D�$�V�T�$�Z�8�8�F�F����f�o�o�d�2�h�7�7�8�8�8�8�2�1�y�1�1�1��B�A�A�A�y�A�A�A�����c�'�l�l�*��#�Z�/��*�)�S�)�)�)��5�4�4�4��4�4�4��L�K�K�K�K�U�K�K�K���"�$�� ��h�h�w�'�'��X�X�e�_�_��H�H�U�O�O��h�h�u�o�o��L�L��-�-� &� 7�
�
�	
rc��|�d|jz|f��|�d|jz|f��|�d|j�d|j�d�||f��|���D]Y\}}t|t��rdnd}|�d|j�d|j�d|j�d|j�d	�	||||f���Zd
S)z6
        A temprorary method, to be moved out
        z]
                DELETE FROM sources_options
                WHERE f_target = %s
            zU
                DELETE FROM sources
                WHERE f_target = %s
            zP
                INSERT INTO sources (f_target, f_kind)
                VALUES (r<r=�intrz�
                    INSERT INTO sources_options
                    (f_target, f_name, f_type, f_value)
                    VALUES (z)
                N)r>r3rKr'r�)rr��kindrar7rA�vtypes       r�
add_nl_sourcezDBSchema.add_nl_source�s/��	
���
��i�	
�
�I�
	
�	
�	
�	
���
��i�	
�
�I�
	
�	
�	
�	
����
�y�y�y�$�)�)�)�	
%�
�T�N�
	
�	
�	
��*�*�,�,�
	�
	�J�C��'��s�3�3�>�E�E��E��L�L�L��9�9�9�d�i�i�i�����D�I�I�I�?���e�U�+�
�
�
�
�
	�
	rc��	tt��D][}	|jj|i|��nZ#tjtjf$r'}|j�d|z��Yd}~�Td}~wwxYwtd|�d|�����n#t$r�wxYw	|j
���n#|j
���wxYw|jS)NrvzDB execute error: � )�range�MAX_ATTEMPTSrYr>r�InterfaceError�OperationalErrorrZ�debug�	ExceptionrX�commit)r�argv�kwarg�_�es     rr>zDBSchema.execute�s��	%��<�(�(�

K�

K��
�'�D�K�'��7��7�7�7��E���.��0H�I�����H�N�N�4�!�8�,�,�,��D�D�D�D��������� �i�T�T�T�5�5� I�J�J�J����	�	�	��	�����
�O�"�"�$�$�$�$��D�O�"�"�$�$�$�$�����{�sC�B�-�B�A/�A*�%B�*A/�/B�B2�B�B2�2C
c�,�|j|i|��D]}|cSdSr)r2)rr�r��rows    r�fetchonezDBSchema.fetchones0���4�:�t�-�u�-�-�	�	�C��J�J�J��trc/�pK�|j|i|��	|j���}|sdS|D]}|V���'r)r>rY�	fetchmany)rr�r��row_setr�s     rr2zDBSchema.fetchsa�������d�$�e�$�$�$�	��k�+�+�-�-�G��
����
�
���	�	�	�	�	rc���tjdkrY|jtjkrDt	j|��}|j�|��|���dSt���)N)��)
�sys�version_inforRrrrxrX�backuprw�NotImplementedError)rra�backup_connections   rr�zDBSchema.backup'sj����v�%�%�$�-�:�;M�*M�*M� '��� 5� 5���O�"�"�#4�5�5�5��#�#�%�%�%�%�%�%�'�'�'r�stdoutc�&�d}|dvrtt|��}n't|t��rt	|d��}d}	|j���D]�}|�d|z��|�d|z��D]I}|�d�	d�|D������|�d	���J|j
rz|�d
|z��|�d|z��D]I}|�d�	d�|D������|�d	���J��	|r|���dSdS#|r|���wwxYw)
NF)r��stderr�wTz

table %s
zSELECT * FROM %sr�c�,�g|]}t|����Sr rr�s  rr�z#DBSchema.export.<locals>.<listcomp><s��%=�%=�%=��c�!�f�f�%=�%=�%=r�
z
table %s_log
zSELECT * FROM %s_logc�,�g|]}t|����Sr rr�s  rr�z#DBSchema.export.<locals>.<listcomp>As��)A�)A�)A�Q�#�a�&�&�)A�)A�)Ar)r�r�r'r�openrarH�writer>r�r]rw)rr%rwr,r8s     r�exportzDBSchema.export0s������$�$�$���Q���A�A�
��:�
&�
&�	��Q����A��E�
	�����)�)�	
&�	
&�������.�/�/�/�"�l�l�+=��+E�F�F�"�"�F��G�G�C�H�H�%=�%=�f�%=�%=�%=�>�>�?�?�?��G�G�D�M�M�M�M��=�&��G�G�.��6�7�7�7�"&�,�,�/E��/M�"N�"N�&�&��������)A�)A�&�)A�)A�)A� B� B�C�C�C�����
�
�
�
��	
&��
����	�	�	�	�	�
�
��u�
����	�	�	�	�
���s
�DE7�7Fc��|jddkr-|���|j���|j���dS)Nraz:memory:)r�purge_snapshotsrXr�rw�rs rrwzDBSchema.closeGsT���;�v��*�,�,�� � �"�"�"��O�"�"�$�$�$���������rc�8�|j���dSr)rXr�r�s rr�zDBSchema.commitNs������ � � � � rc���ddg}g}i|j|<|j|���D]�}|dd|df}|�d|z��|�d|z��|d����d��rd|j||d<��d|j||d<��||jvr�|j|D]�}d	d
�|d��z|d�d
d
�|d���d�f}|�d|z��t|d��dkrHd|d�dd�|d����}|�	d|�d|d������d
�|��}d|�d|�d�}|�	|��d
�ddgd�|j
|D��z��}d|�d|�d|�d�}|�	|��|jr:gd�|z}d
�|��}|�	d|�d|�d���dSdS)N�f_target TEXT NOT NULLz"f_tflags BIGINT NOT NULL DEFAULT 0rrrzf_%s %s�TEXT�z(%s)r��fields�parent�(�
parent_fields�)zAFOREIGN KEY %s REFERENCES %s ON UPDATE CASCADE ON DELETE CASCADE �uidx_r�z"CREATE UNIQUE INDEX IF NOT EXISTS z ON zCREATE TABLE IF NOT EXISTS � (�f_target�f_tflagsc��g|]}d|z��Sr�r r�s  rr�z)DBSchema.create_table.<locals>.<listcomp>�s��7�7�7�a�v��z�7�7�7rz_idx ON )zf_tstamp BIGINT NOT NULLr�zf_event INTEGER NOT NULL�_log ()r\rarKrf�strip�
startswithrdr�r�r>rcr])	rr,�reqr��fieldr7ra�idxnamerbs	         rr|zDBSchema.create_tableRs���'�)M�N����#%���%� ��Y�u�%�+�+�-�-�	7�	7�E��1�X�b�\�5��8�,�E��M�M�)�e�+�,�,�,��J�J�y�5�(�)�)�)��Q�x�~�~���*�*�6�2�2�
7�57��!�%�(��q��2�2�56��!�%�(��q��2�2��D�%�%�%��(��/�
�
���S�X�X�c�(�m�4�4�4� #�H�
�
�
�s�x�x��O�8L�/M�/M�/M�/M�N����
�
�)�+/�0�����s�8�}�%�%��)�)�)��H�
�
�
�����_�!5�6�6�6��G��L�L�L�4;�G�G�T�!�W�W�F�����
�h�h�s�m�m���9>������D�����S�������
��$�7�7�4�<��#6�7�7�7�
8�
�
���

�E�E��E�E��E�E�
��
	
���S���� �=�		�����	�C�
�(�(�3�-�-�C��L�L�L�?D�u�u�c�c�c�J�
�
�
�
�
�		�		rc
�r�|jD].}|�d|�d|j�d|j�d�||f���/dS)N�!
                         UPDATE � SET f_tflags = z+
                         WHERE f_target = �
                         �rar>r3)rr��markr,s    rrz
DBSchema.mark�sa���Y�	�	�E��L�L�L�
�5�5�$�)�)�)�T�Y�Y�Y�	0�
�v��

�
�
�
�	�	rc�`�|jD]%}|�d|�d|j�d�|f���&dS)Nz&
                         DELETE FROM z WHERE f_target = rr)rr�r,s   r�flushzDBSchema.flush�sW���Y�	�	�E��L�L�L��5�5�$�)�)�)�%��	�
�
�
�
�	�	rc��t��}|��}|j}|j|j}g}g}	|D]}}
|�d|
�d|j����|
|vr|	�||
���B|	�|�|�|
�������~|�d|j�dd�	|���d�|	���
��d}|�|��|jD]j}|j
�d|�d	|����|�d
|�d	|�d|�d���|�d
|�d	|�d|�d|j�d�	|g���k|�|��|jD]7}|�d|�d	|�d|j�d�|g��||j|�d	|��<�8dS)Nr�r�z1
                           SELECT f_tflags FROM z"
                           WHERE r�z
                           rzcreate snapshot r�z5
                         CREATE TABLE IF NOT EXISTS z+
                         AS SELECT * FROM zg
                         WHERE
                             f_tflags IS NULL
                         z&
                         INSERT INTO z(
                         SELECT * FROM zH
                         WHERE
                             f_tflags = rrr)rr7rcr,rfr3r.r�r>r�r��mark_tflagsrarZr�r[)
r�ctxid�weak_refr��uuid�obj�obj_kr��
conditionsrMr7r�r,s
             r�	save_depszDBSchema.save_deps�sX���x�x���h�j�j������l�3�9�%���
����	=�	=�C�����S�S�S�$�)�)�<�=�=�=��e�|�|��
�
�e�C�j�)�)�)�)��
�
�c�g�g�f�o�o�c�&:�&:�;�;�<�<�<�<�����
�y�y�y�'�,�,�z�2�2�2�2�	
4�

�

�
��(�*�*�Q���	��������Y�	�	�E��H�N�N�N�e�e�e�U�U�C�D�D�D�
�L�L�L��5�5�%�%�%����
(�
�
�
�
�L�L�L��5�5�%�%�%�����	�	�	�
3���	
�	
�	
�	
�	��������Y�	@�	@�E��L�L�L��5�5�%�%�%�����,���
�
�
�8@�D�N�e�e�e�U�U�3�4�4�	@�	@rc���t|j��D]�}tt��D]�}	|jt
jkr|�d|z��n-|jt
jkr|�d|z��|j	�
��|j|=nI#tj$r(tj
tj����Y��wxYwtd�����dS)N�
DROP TABLE %szDROP TABLE %s CASCADEzDB snapshot error)�tupler[r�r�rRrrr>rrXr�r�rh�sleep�randomr�)rr,r�s   rr�zDBSchema.purge_snapshotss���4�>�*�*�	5�	5�E��<�(�(�
5�
5��
0��}�
�(:�:�:����_�u�%<�=�=�=�=���*�*=�=�=����%<�u�%D�E�E�E��O�*�*�,�,�,���u�-��E���/�0�0�0�
�J�v�}���/�/�/�/�/�0���� � 3�4�4�4��	5�	5s�A<B,�,4C#�"C#c#�K�g}g}|j|}|j|}|���D]r\}}||dvr|�|��}||dvrt	d���|�d|�d|j����|�|���sd|�dd�|����}	|�|	|��D]2}
tt|j|d|
����V��3dS)Nr�zfield name not foundr�r�zSELECT * FROM � WHERE r�)rTrzrK�name2nlar6rfr3r�r2r��zip)rr,rarrMrn�cspecr7rAr�r8s           rr.zDBSchema.gets:�����
����l�5�!���
�e�$���*�*�,�,�	!�	!�J�C���%��,�,�,��l�l�3�'�'���%��,�,�,��5�6�6�6�����S�S�S�$�)�)�<�=�=�=��M�M�%� � � � �
	!�.3�U�U�G�L�L��4L�4L�4L�M���j�j��f�-�-�	G�	G�F��s�4�=��/��<�f�E�E�F�F�F�F�F�F�	G�	Grc	��|j|d}d�gd�d�|D��z��}d�|jgt|��dzz��}t	tj��dz��||�di���dd	��g}|D]�}	|�|	��p|�|	��}
|
�$|	|j|p|vr|j	||	}
t|
ttttf��rtj|
��}
|�|
����|�d
|�d|�d|�d
�|��dS)Nr~r�)�f_tstampr��f_eventc��g|]}d|z��Sr�r r�s  rr�z(DBSchema.log_netlink.<locals>.<listcomp>9s��2M�2M�2M�!�6�A�:�2M�2M�2Mrr�i��header�typer�INSERT INTO r��
) VALUES (r�)rzr�r3r�r�rhr.�get_attrrcr\r'r��listrr:r4r?rfr>)rr,r��event�ctable�fkeysr��pchrMr�rAs           r�log_netlinkzDBSchema.log_netlink3s����
�e�$�W�-�����/�/�/�2M�2M�u�2M�2M�2M�M�
�
���h�h��	�{�c�%�j�j�1�n�5�6�6����	���d�"�#�#���I�I�h��#�#�'�'���2�2�
��
�	!�	!�E��N�N�5�)�)�=�U�Y�Y�u�-=�-=�E��}��$�,�v���*G�!G�!G��)�%�0��7���%�$��e�S�!9�:�:�
*��
�5�)�)���M�M�%� � � � �����5:�U�U�F�F�F�C�C�C�H��	
�	
�	
�	
�	
rFc��|jr|�||||��d|dvr|dd|j|<tj��|jz
t
jkr�tj��|_t|j�	����D]h\}}|���Y|j|=	|�
d|z���1#t$r*}|j�
d|�d|����Yd}~�`d}~wwxYw�i|�
d|jzttj����f��|d�dd��d	zr�d
|jzg}	|g}
|j|D]�}|	�d|�d|j����|�|��p|�|��}|�|j||}t+|t,t.tt0f��rt3j|��}|
�|����|�
d
|�dd�|	����|
��dS|dg}
|dg}
|j|}i}|j|�	��D�]�\}}|}t=|��dkrg|dd�|vr3|dd�D]}|�|��}|�n�|||dd�<||dd�}|�|
�d����|�|d��}|�|�|d��}|�W|d|j|dvr<|j||d}|d�|d|f��t+|t,t.tt0f��rt3j|��}|d|dvr|
�|��|
�|�����	|jt@j!krN|�
d|�d|d�d|d�d|d�d|d�d|d��|
|
z|
z��dS|jt@j"kr�|�
d|�d|d�d�|
���#��d}|dkr.|�
d |�d|d�d|d�d!�|
��dS|�
d"|�d#|d�d|d�d$�|
|
z��dStI���#t$r`}|r|�|j�
d%|�d&|�d&|����|j�%d'tMj'��z��Yd}~dSd}~wwxYw)(NrWrrzfailed to remove table z: z-DELETE FROM routes WHERE (f_gc_mark + 5) < %sr rr�z
f_target = %sr�r�zDELETE FROM rr�rrr��attrsr!r�r�r"r�z) ON CONFLICT (r�z) DO UPDATE SET r�r�z<
                                      SELECT count(*) FROM z'
                                      z2
                                     INSERT INTO z')
                                     z-
                                     UPDATE z SET z&
                                     zload_netlink: r�zload_netlink: %s)(r]r)rWrhrir�
gc_timeoutrr[rKr>r�rZr�r3r�r.rcrfr#r\r'r�r$r:r4r?r�rzrar�rRrrrr�r��error�	traceback�
format_exc)rr,r�r%r&�	propagaterm�wrefr�rrMr7rA�ivaluesrz�nodes�fname�ftype�node�steg�counts                     rrgzDBSchema.load_netlinkMs����=�	;����U�F�E�6�:�:�:��e�H�o�%�%�!&�x���!9�D�J�v���9�;�;���$�v�'8�8�8��)�+�+�D�K�$�D�N�$8�$8�$:�$:�;�;�
�
�
��d��4�6�6�>���t�,�����_�t�%;�<�<�<�<��$���������?C�t�t�Q�Q�G�����������������	"�
�L�L�B�T�Y�N��T�Y�[�[�!�!�#�
�
�
���?���v�q�)�)�A�-�D	L�*�D�I�5�6�J��X�F��|�E�*�
%�
%���!�!�!����d�i�i�"@�A�A�A��	�	�#���=�%�.�.��*=�*=���=� �-�e�4�S�9�E��e�d�D�%��%=�>�>�.� �J�u�-�-�E��
�
�e�$�$�$�$��L�L�L�������Z� 8� 8� 8�:��
�
�
�
�
��a�[�F��q�k�G��}�U�+�H��E�!%�	�%� 0� 6� 6� 8� 8�
%�
%���u����u�:�:��>�>��S�b�S�z��.�.�$)�#�2�#�J�&�&�D�#'�=�=��#6�#6�D�#�|� %�� ,�,0��e�C�R�C�j�)� ��s��s��,�D��|��
�
�d�+�+�+� ��
�
�e�B�i�0�0���=� �H�H�U�2�Y�/�/�E��=�U�2�Y�$�-��2F�u�2M�%M�%M� �-�e�4�U�2�Y�?�E���M�(�(�%��)�U�);�<�<�<��e�d�D�%��%=�>�>�.� �J�u�-�-�E���9����/�/��N�N�5�)�)�)��
�
�e�$�$�$�$�C
L��=�J�$7�7�7�
����
!&��� (�� 2� 2� 2� (�� 1� 1� 1� (�� 2� 2� 2� (�� 0� 0� 0� (�� 0� 0�
�$�f�_�w�6�
�
�
�
�
� �]�j�&8�8�8����� %�u�u�h�v�&6�&6�&6�8�$���#�(�*�*���E���z�z����� %�u�u�h�x�&8�&8�&8�(�7�:K�:K�:K�M�#���������� %�u�u�h�v�&6�&6�&6���8H�8H�8H�J�$�g�-������.�/�/�/���	
L�	
L�	
L����G������05���v�v�v�u�u�E��������1�I�4H�4J�4J�J�K�K�K�K�K�K�K�K�K�����	
L���sE�?C�
D�" D�D�-A!U�BU�/U�U�
V=�AV8�8V=)r�r)NF)!rrrrXrUr\r[rrarTrcrdr-rer�r{r#r�r>r�r2r�r�rwr�r|rrrr�r.r)rgr rrrOrO�s�������J��I��L��I��;�=�=�D��G��G��L�//�//�//�bC%�C%�C%�J
�
�
�0Q
�Q
�Q
�f
�(�(�
�W�(�T���2
���
�W��

���
�W��
�(�(�
�W�(�
����
�W��, � � �
�!�!�
�W�!�R�R�R�h	�	�	�
���
�W��
�I@�I@�
�W�I@�V
�5�5�
�W�5�(
�G�G�
�W�G�*
�
�
�
�4fL�fL�fL�fL�fL�fLrrO)"�__doc__�enumr4rrr�rhr.�collectionsr�	functoolsr�pyroute2r�pyroute2.commonrr�objectsr	r
rrr
rr�ImportErrorr^r��Enumrr#r�r)rOr rr�<module>rBs���u�u�n��������
�
�
�
�����
�
�
�
���������#�#�#�#�#�#�������������.�.�.�.�.�.�.�.�G�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F���O�O�O�O�������H�H�H������g�y�%���
=��������������

�

�

�5$�5$�5$�5$�5$�T�5$�5$�5$�pQL�QL�QL�QL�QL�QL�QL�QL�QL�QLs�
A�A�A

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
8 May 2024 6.33 PM
root / root
0755
__init__.cpython-311.pyc
0.177 KB
8 May 2024 6.33 PM
root / root
0644
auth_manager.cpython-311.pyc
4.221 KB
8 May 2024 6.33 PM
root / root
0644
cli.cpython-311.pyc
3.682 KB
8 May 2024 6.33 PM
root / root
0644
cluster.cpython-311.pyc
1.909 KB
8 May 2024 6.33 PM
root / root
0644
compat.cpython-311.pyc
4.436 KB
8 May 2024 6.33 PM
root / root
0644
events.cpython-311.pyc
5.438 KB
8 May 2024 6.33 PM
root / root
0644
main.cpython-311.pyc
27.599 KB
8 May 2024 6.33 PM
root / root
0644
messages.cpython-311.pyc
1.171 KB
8 May 2024 6.33 PM
root / root
0644
noipdb.cpython-311.pyc
12.07 KB
8 May 2024 6.33 PM
root / root
0644
query.cpython-311.pyc
5.717 KB
8 May 2024 6.33 PM
root / root
0644
report.cpython-311.pyc
21.99 KB
8 May 2024 6.33 PM
root / root
0644
schema.cpython-311.pyc
40.11 KB
8 May 2024 6.33 PM
root / root
0644
source.cpython-311.pyc
26.183 KB
8 May 2024 6.33 PM
root / root
0644
task_manager.cpython-311.pyc
15.573 KB
8 May 2024 6.33 PM
root / root
0644
transaction.cpython-311.pyc
16.595 KB
8 May 2024 6.33 PM
root / root
0644
transport.cpython-311.pyc
10.714 KB
8 May 2024 6.33 PM
root / root
0644
view.cpython-311.pyc
25.083 KB
8 May 2024 6.33 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF