
    Wwg                        U d dl Z d dlZd dlmZmZ d dlZd dlmZ d dlm	Z	 d dl
mZmZ d dlmZmZ d dlmZmZ d dlmZmZ d	gZ ej.                          ej0                  d
e       ej2                  dde dd ej4                  d             ej2                  dddded       ej2                  dded      ej8                  dej:                  fd                                          Zdee   defdZeZ ejB                  e"d	<   y)    N)IterableOptional)__version__)
CLIContext)CLIRootConfigparse_cli_config) SIGNING_PLUGIN_ENTRY_POINT_GROUPSIGNING_PLUGIN_REGISTRY)DEFAULT_CONFIG_FILElogging_setup)	LogConfigparse_logging_configcli_rootpyHanko)	prog_nameversionz--configz.YAML file to load configuration from[default: ]Fr)helprequiredtypez	--verbosezRun in verbose modeT)r   r   defaultr   is_flagz--no-pluginsz"Disable non-builtin plugin loading)r   r   r   ctxc           	      &   d }|1	 t        t        d      5 }|j                         }d d d        t        }n	 |j                         }| j                  t               | j                  }d }|)t        |      }|j                  |_        |j                  }	nt        i       }	ddlm}
 t#        ||       } |
|       |r.|	d    }t%        t&        j(                  |j*                        |	d <   nO|	d    j*                  }t%        t&        j,                  |      |	d	<   d
|	vrt%        t&        j,                  |      |	d
<   t/        |	|       |rt'        j0                  d       |t'        j0                  d| d       y t'        j0                  d       y # 1 sw Y   kxY w# t        $ r Y bt        $ r-}t        j                  dt         dt        |             d }~ww xY w# t        $ r&}t        j                  dt        |             d }~ww xY w)Nr   zFailed to read z: zFailed to read configuration:    )register)plugins_enabled)leveloutputzpyhanko_certvalidator.fetcherszfontTools.subsetzRunning with --verbosez$Finished reading configuration from .z$There was no configuration to parse.)openr   readFileNotFoundErrorIOErrorclickClickExceptionstrensure_objectr   objr   config
log_configr   commands.signingr   _load_pluginsr   loggingDEBUGr    WARNINGr   debug)r   r+   verbose
no_pluginsconfig_textfectx_objcfgr,   r   plugins_to_registerroot_logger_config
log_outputs                 H/var/www/horilla/myenv/lib/python3.12/site-packages/pyhanko/cli/_root.py_rootr>      s   6 K~		)3/ '1ffh'(F	 ++-K j!''G#'C{+^^
 *"-
*'^L !'-$--(:(A(A

4
  %,,
7@//*8

34 Z/ .7ooj.J)* *g&./<VHAFG<=y' ' ! 	 	&&!"5!6bQA 	  	&&0Q9 	sJ   F FF G! FF 	G)G1(GG!	H*!HHroot_configr   c                    dd l }ddlm} g d}g }|rr| &|| j                  D cg c]  }t	        |       c}z  }|j
                  dk  r%|j                         j                  t        g       }n|j                  t              }|D cg c]  }|j                  d|t               }}t        t              }	t        d t        D              }
t        j                  ||      D ]  }|j                         }t!        |t"              sEt%        j&                  t%        j(                  d	|j*                   d
t#        |       dd             h||
vsm|
j-                  |       |	j/                   |               |	S c c}w c c}w )Nr   )metadata)z4pyhanko.cli.commands.signing.pkcs11_cli:PKCS11Pluginz0pyhanko.cli.commands.signing.simple:PKCS12Pluginz0pyhanko.cli.commands.signing.simple:PemderPlugin)   
   )group )namevaluerD   c              3   2   K   | ]  }t        |        y w)N)r   ).0xs     r=   	<genexpr>z _load_plugins.<locals>.<genexpr>   s     81tAw8s   zTPlugins must be defined as references to classes with a nullary init function, but 'z' is a z. Disregarding...T)bold)sys	importlibrA   plugin_endpointsr(   version_infoentry_pointsgetr	   
EntryPointlistr
   set	itertoolschainload
isinstancer   r&   echostylerG   addappend)r?   r   rM   rA   to_loadeps_from_metadatamodvto_load_as_endpointsresulting_pluginsseenep
plugin_clss                r=   r.   r.   q   s   "G 8:"K,H,HISCIIG g% ( 5 5 7 ; ;0"! !) 5 56 !6 ! ;  	2 	 	
; ; 458 788Doo24EF 3WWY
*d+JJ33588* =j)**;= 	 T!HHZ $$Z\23 M J;s   E=	F)#rV   r/   typingr   r   r&   pyhankor   pyhanko.cli._ctxr   pyhanko.cli.configr   r   pyhanko.cli.plugin_apir	   r
   pyhanko.cli.runtimer   r   pyhanko.config.loggingr   r   __all__rD   version_optionoptionFileboolpass_contextContextr>   r.   r   Group__annotations__     r=   <module>ry      s-     %   ' > C B, 	;?	()	, 	C 		 	-		 @>u}} @>  @ 4@>F4x6 4 4n %++ rx   