ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/dnf/__pycache__/plugin.cpython-36.opt-1.pyc
3

gV%@sddlmZddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZejdZdZGdd	d	eZGd
ddeZdd
ZddZddZddZddZdS))absolute_import)print_function)unicode_literalsN)_dnfzdnf.plugin.dynamicc@s\eZdZdZdZdZeddZddZdd	Z	d
dZ
dd
ZddZddZ
ddZdS)Pluginz5The base class custom plugins must derive from. #:apiz	<invalid>Ncstjj}|jr|jn|jfdd|jD}xb|D]Z}tjj|r6y|j	|Wq6t
k
r}ztjj
tdt|WYdd}~Xq6Xq6W|S)Ncsg|]}d|fqS)z
%s/%s.conf).0path)namer/usr/lib/python3.6/plugin.py
<listcomp>9sz&Plugin.read_config.<locals>.<listcomp>zParsing file failed: %s)libdnfconfZConfigParserconfig_namerZpluginconfpathosr
isfileread	Exceptionr
exceptionsZConfigErrorrstr)clsrparserfilesfileer)rrread_config4s

.zPlugin.read_configcCs||_||_dS)N)basecli)selfrrrrr__init__BszPlugin.__init__cCsdS)Nr)rrrr
pre_configGszPlugin.pre_configcCsdS)Nr)rrrrconfigKsz
Plugin.configcCsdS)Nr)rrrrresolvedOszPlugin.resolvedcCsdS)Nr)rrrrsackSszPlugin.sackcCsdS)Nr)rrrrpre_transactionWszPlugin.pre_transactioncCsdS)Nr)rrrrtransaction[szPlugin.transaction)__name__
__module____qualname____doc__rrclassmethodrr r!r"r#r$r%r&rrrrr.src@s~eZdZddZddZddZddZd	d
ZddZd
dZ	dddZ
ddZddZddZ
ddZddZddZdS)PluginscCsg|_g|_dS)N)
plugin_clsplugins)rrrrr aszPlugins.__init__cCs|jdS)N)_unload)rrrr__del__eszPlugins.__del__cCs~xx|jD]n}yt||Wqtjjk
r6Yqtk
rttj\}}}tj	|||}t
jdj|YqXqWdS)N)
r.getattrrrErrorrsysexc_info	tracebackformat_exceptionloggerZcriticaljoin)rmethodpluginexc_type	exc_value
exc_tracebackZexcept_listrrr_callerhszPlugins._callercsxxr|jddD]`}|jtfdd|Dr2q|j|}|jdo^|jddo^|jdd}|r|jj|qWdS)zwChecks whether plugins are enabled or disabled in configuration files
           and removes disabled plugins from listNc3s|]}tj|VqdS)N)fnmatch)r	pattern)rrr	<genexpr>xsz)Plugins._check_enabled.<locals>.<genexpr>mainZenabled)r-ranyrZhas_sectionZ
has_optionZ
getbooleanremove)rrenable_pluginsZplug_clsrZdisabledr)rr_check_enabledss

zPlugins._check_enabledcCsttjkrtdtjjttjt<}g|_t|j	||}t
||tdd|_|j
||t|jdkrtdd|jD}tjtddj|dS)z)Dynamically load relevant plugin modules.zload_plugins() called twiceNrcss|]}|jVqdS)N)r)r	r;rrrrBsz Plugins._load.<locals>.<genexpr>zLoaded plugins: %sz, )DYNAMIC_PACKAGEr4modulesRuntimeErrorrZpycomp
ModuleType__path___get_plugins_filesZ
pluginpath_import_modules_plugin_classesr-rGlensortedr8debugrr9)rrZskipsrFpackagernamesrrr_loads

z
Plugins._loadcCs|jddS)Nr!)r?)rrrr_run_pre_configszPlugins._run_pre_configcCs|jddS)Nr")r?)rrrr_run_configszPlugins._run_configNcCs*x$|jD]}|||}|jj|qWdS)N)r-r.append)rrrZp_clsr;rrr	_run_inits
zPlugins._run_initcCs|jddS)Nr$)r?)rrrrrun_sackszPlugins.run_sackcCs|jddS)Nr#)r?)rrrrrun_resolvedszPlugins.run_resolvedcCs|jddS)Nr%)r?)rrrrrun_pre_transactionszPlugins.run_pre_transactioncCs|jddS)Nr&)r?)rrrrrun_transactionszPlugins.run_transactioncCs&ttjkr"tjtjjdtjt=dS)NzPlugins were unloaded.)rHr4rIr8logrloggingZDDEBUG)rrrrr/s
zPlugins._unloadcCs|js
dSt}x|jD]}||tj|j<qWt|j}t}x |jD]}|j|j	|j
qJW|sldSx|jD]}|j|j
qtWx|D]}|jj
||qWdS)zH
        Unload plugins that were removed in the `transaction`.
        N)Z
remove_setdictr.inspectZgetfile	__class__setkeysupdateintersectionrZinstall_setdifference_updaterE)rr&r.r;Zplugin_filesZerased_plugin_filesZpkgZplugin_filerrrunload_removed_pluginss
zPlugins.unload_removed_plugins)N)r'r(r)r r0r?rGrUrVrWrYrZr[r\r]r/rhrrrrr,`s
r,cCstjS)N)r__subclasses__rrrrrOsrOcCsx|D]}tjj|\}}|jj|tjj|\}}d|j|f}ytj|}Wqt	k
r}z,t
jtd||t
j
tjjdddWYdd}~XqXqWdS)Nz%s.%szFailed loading plugin "%s": %sr1T)r5)rr
splitrLrXsplitextr'	importlib
import_modulerr8errorrr^rr_ZSUBDEBUG)rSZpy_filesfnr
moduleZextrrrrrrNs
rNcCsJg}t|}t|}t}t}x|D]}xtjd|D]}tjjtjj|\}}	d}
d}xN|D]F}t||rd|j|d}
x$|D]}
t||
rd}
|j|
qWd}qdW|sx |D]}
t||
r|j|
qW|
r:|j|q:Wq&W|j	|}|rt
jtdj
djt||j	|}|rFt
jtdj
djt||S)Nz%s/*.pyTFz=No matches found for the following enable plugin patterns: {}z, z>No matches found for the following disable plugin patterns: {})rcglobrr
rkbasename_plugin_name_matches_patternaddrX
differencer8Zwarningrformatr9rQ)pathsZdisable_pluginsrFr.Zpattern_enable_foundZpattern_disable_foundproplugin_nameZdummyZmatchedZenable_pattern_testedZpattern_skipZpattern_enableZenable_not_foundZdisable_not_foundrrrrMsD









rMcs*t||jddf}tfdd|DS)z
    Checks plugin name matches the pattern.

    The alternative plugin name using dashes instead of underscores is tried
    in case of original name is not matched.

    (see https://bugzilla.redhat.com/show_bug.cgi?id=1980712)
    r-c3s|]}tj|VqdS)N)r@)r	r)rArrrBsz/_plugin_name_matches_pattern.<locals>.<genexpr>)rcreplacerD)ryrAZ	try_namesr)rArrss
rscs<fdd}ttjdtjf|jdd}|_S)z5A class decorator for automatic command registration.cs|r|jdS)N)register_command)rrr)
command_classrrr sz"register_command.<locals>.__init__rr)r r)typerr'rraliasesZ_plugin)r}r Zplugin_classr)r}rr|sr|)Z
__future__rrrr@rqrlrar_operatorrr4r6rZdnf.loggingrZ
dnf.pycompZdnf.utilZdnf.i18nrZ	getLoggerr8rHobjectrr,rOrNrMrsr|rrrr<module>s2
2k
%