a
    »ÏOcJ  ã                   @   s~   d dl Z d dlZd dlmZ d dlZd dlmZmZ ejejej	ej
ejejejdœdd�ejdœZdd	„ Zejfd
d„ZdS )é    N)ÚArgumentParser)ÚcommandsÚconfig)ÚsetÚshowzlist-codecszConfiguration management)Úhelp)ÚgetZwhoisÚsyncr   zdrop-tablesc                 C   s`   d}t  | ¡pi }t  |¡r4tdƒ d}t  |¡}nt  ¡ }t  ||¡ |r\t j|| dd� |S )NFzNFound config file with pre-0.7 schema; backing up and converting to new formatT)Zbackup_existing)r   Zread_configZ
detect_oldÚprintZconvert_oldZdefault_configZrecursive_updateZwrite_config)Ú
config_dirÚconvertZloadedÚcfg© r   úD/var/www/html/gsl.tools/lib/python3.9/site-packages/peeringdb/cli.pyÚcheck_load_config   s    
ÿr   c              
   C   s  t  ¡  tƒ }|jdddt j d� |jddtj dtj	¡dd	� t
 t¡}| |¡ z| | d
d … ¡}W n* ty– } z|jW  Y d }~S d }~0 0 t|jƒ}t|d|jƒ}z|f d|it|ƒ¤ŽW S  t jj�y } zt|tjd� W Y d }~d
S d }~0 0 d S )Nz	--versionÚversionz	%(prog)s )Úactionr   z-Cz--config-dirZPEERINGDB_HOMEz(Directory containing configuration files)Údefaultr   é   Úhandlerr   )Úfile)Ú	peeringdbZ_config_logsr   Úadd_argumentÚ__version__ÚosÚenvironr   r   ZDEFAULT_CONFIG_DIRr   ÚCommandGroupÚCOMMANDSÚadd_argumentsÚ
parse_argsÚ
SystemExitÚcoder   r   ÚgetattrZusage_handlerÚvarsZ_fetchZCompatibilityErrorr
   ÚsysÚstderr)ÚargsÚparserÚcmdÚoptionsÚer   r   r   r   r   Úmain+   s0    ÿü


r+   )r   r$   Úargparser   r   r   r   ZGetZWhoisZSyncr   ZPromptConfigZ
DumpConfigZ
ListCodecsZ
DropTablesr   r   Úargvr+   r   r   r   r   Ú<module>   s$   ýúô