403Webshell
Server IP : 217.160.0.244  /  Your IP : 216.73.217.138
Web Server : Apache
System : Linux infong-eu155 4.4.400-icpu-108 #2 SMP Wed Feb 11 11:51:01 UTC 2026 x86_64
User : u100174116 ( 6746176)
PHP Version : 8.5.10
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/breezy/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/breezy/__pycache__/plugin.cpython-313.pyc
�

p��g�U��t�SrSSKrSSKrSSKrSSKJr SSKrSSKJ	r	J
r
JrJr Sr
SrS,SjrS-S	jrS
rSr"SS
\5rSrS.SjrS/SjrS0SjrSrSrSrSrSrSrSrS1Sjr Sr!Sr"Sr#Sr$Sr%Sr&S r'S!r(S"r)S,S#jr*"S$S%5r+"S&S'5r,"S(S)5r-"S*S+5r.g)2�google�N)�util�)�debug�errors�osutils�tracezbreezy.plugins.z.pycc�B�Uc[R"5n0Ulg)z�Disable loading plugins.

Future calls to load_plugins() will be ignored.

Args:
  state: The library state object that records loaded plugins.
N)�breezy�get_global_state�plugins)�states �//usr/lib/python3/dist-packages/breezy/plugin.py�disable_pluginsr5s��
�}��'�'�)���E�M�c�<�Uc[R"5n[USS5bgUcSSKJn 0Ul[
X5 [5UlU(aDUR
R5H%up4UHn[R"SU5 M M' gg)a�Load breezy plugins.

The environment variable BRZ_PLUGIN_PATH is considered a delimited
set of paths to look through. Each entry is searched for `*.py`
files (and whatever other extensions are used in the platform,
such as `*.pyd`).

Args:
  path: The list of paths to search for plugins.  By default,
    it is populated from the __path__ of the breezy.plugins package.
  state: The library state object that records loaded plugins.
Nr
r)�__path__z%s)rr�getattr�breezy.pluginsr�plugin_warnings�
_load_pluginsr
�itemsr	�warning)�pathr�warn_load_problems�_pluginr�errors      r�load_pluginsrBs���
�}��'�'�)���u�i��&�2���|�3��E���%���I�E�M��$�4�4�:�:�<�O�G����
�
�d�E�*� � =�rc��UR[5(a%URS5n[U5S:�aUS$g)z/Gives unprefixed name from module_name or None.�.�N)�
startswith�_MODULE_PREFIX�split�len)�module_name�partss  r�plugin_namer(bs:�����n�-�-��!�!�#�&���u�:��>���8�O�rc��[5n[U5 [5n[U5 [	[5U5n[
XX45$)a!Helper so breezy.plugins can be a sort of namespace package.

To be used in similar fashion to pkgutil.extend_path:

    from breezy.plugins import extend_path
    __path__ = extend_path(__path__, __name__)

Inspects the BRZ_PLUGIN* envvars, sys.path, and the filesystem to find
plugins. May mutate sys.modules in order to block plugin loading, and may
append a new meta path finder to sys.meta_path for plugins@ loading.

Returns a list of paths to import from, as an enhanced object that also
contains details of the other configuration used.
)�_env_disable_plugins�_block_plugins�_env_plugins_at�_install_importer_if_needed�_iter_plugin_paths�_env_plugin_path�_Path)r�name�blocks�
extra_details�pathss     r�extend_pathr5ksA��"�
#�F��6��#�%�M��
�.��/�1�4�8�E���}�4�4rc�2^�\rSrSrSrU4SjrSrSrU=r$)r0�z�List type to use as __path__ but containing additional details.

Python 3 allows any iterable for __path__ but Python 2 is more fussy.
c�H>�[TU]U5 XlX lX0lg�N)�super�__init__�package_name�
blocked_namesr3)�selfr<�blocked�extrar4�	__class__s     �rr;�_Path.__init__�s"���
�����(��$��"�rc	��SRURRURURUR
[RU55$)Nz{}({!r}, {!r}, {!r}, {}))�formatrA�__name__r<r=r3�list�__repr__�r>s rrG�_Path.__repr__�sI��)�0�0��N�N�#�#�����������M�M�$��
�	
r)r=r3r<)	rE�
__module__�__qualname__�__firstlineno__�__doc__r;rG�__static_attributes__�
__classcell__)rAs@rr0r0�s����
#�
�
rr0c�z�[R"SU5c[R"SXU5 g[	U5$)aValidate given name from envvar is usable as a Python identifier.

Returns the name as a native str, or None if it was invalid.

Per PEP 3131 this is no longer strictly correct for Python 3, but as MvL
didn't include a neat way to check except eval, this enforces ascii.
z^[A-Za-z_][A-Za-z0-9_]*$NzInvalid name '%s' in %s='%s')�re�matchr	r�str)r1�env_key�	env_values   r�_expect_identifierrV�s4��
�x�x�+�T�2�:�
�
�
�4�d�Y�O���t�9�rc���/n[RRU5nU(aHUR[R5H%n[X0U5nUcMUR
U5 M' U$)z<Gives list of names for plugins to disable from environ key.)�os�environ�getr$�pathseprV�append)�key�disabled_names�envr1s    rr*r*�s[���N�
�*�*�.�.��
�C�
��I�I�b�j�j�)�D�%�d��5�D����%�%�d�+�*��rc��/n[RRU5nU(a�UR[R5H�nSU;aURSS5upEO+Un[
R"U5RSS5Sn[X@U5nUcMZURU[RRU545 M� U$)zCGives list of names and paths of specific plugins from environ key.�@rr r)rXrYrZr$r[r�basenamerVr\r�abspath)r]�plugin_detailsr_�pairr1rs      rr,r,�s����N�
�*�*�.�.��
�C�
��I�I�b�j�j�)�D��d�{�!�Z�Z��Q�/�
��d����'�'��-�3�3�C��;�A�>��%�d��5�D����%�%�t�R�W�W�_�_�T�-B�&C�D�*��rc��/n[RRU5nU(+SSS.nU(aqUR[R5HNnUSSUSSpeUS;a)Xc;a$US:XaX6bURSU45 SX6'M;URUS45 MP SH!nX6(dMURSU45 M# U$)z�Gives list of paths and contexts for plugins from environ key.

Each entry is either a specific path to load plugins from and the value
'path', or None and one of the three values 'user', 'core', 'site'.
T)�user�core�siteNr)�+�-rjr)rXrYrZr$r[r\)r]�path_detailsr_�defaults�p�flagr1s       rr/r/�s����L�
�*�*�.�.��
�C������H�
����2�:�:�&�A��2�A���!�"��$��z�!�d�&6��3�;�8�>�#=� �'�'��t��5�!%����#�#�Q��K�0�'�)���>�>�����t��-�)��rc#��# �UH�up#US:Xa#[RRU5v� M.US:Xa6[5n[RR	U5(aUv� MhMjUS:Xa[U5HnUv� M	 M�US:XdM�[
[R5H-n[RR	U5(dM)Uv� M/ M� g7f)z3Generate paths using paths_from_env and core_paths.rrgrhriN)rXrrc�get_user_plugin_path�isdir�_get_core_plugin_paths�_get_site_plugin_paths�sys)�paths_from_env�
core_pathsr�contexts    rr.r.�s����(�
���f���'�'�/�/�$�'�'�
��
�'�)�D��w�w�}�}�T�"�"��
�#�
��
�.�z�:���
�;�
��
�.�s�x�x�8���7�7�=�=��&�&��J�9�(�s�BC$�>C$�
C$c�t�U(a1[[U5n[RR	SU5 gg)z;Install a meta path finder to handle plugin_details if any.r!N)�_PluginsAtFinderr#ru�	meta_path�insert)rd�finders  rr-r-�s*���!�.�.�A���
�
���Q��'�rc�h�[5n[U5H�up4X2;dM[U5(d3[U5n[R
"SR
X4U55 MO[X45nUb+URRU/5RU5 URU5 M� g)z(Do the importing all plugins from paths.zqUnable to load {!r} in {!r} as a plugin because the file path isn't a valid module name; try renaming it to {!r}.N)�set�_iter_possible_plugins�valid_plugin_name�sanitise_plugin_namer	rrD�_load_plugin_moduler�
setdefaultr\�add)rr4�imported_namesr1r�sanitised_name�msgs       rrrs����U�N�,�U�3�
���%�$�T�*�*�!5�d�!;���
�
�"�"(�&��^�"D��
�%�d�1�C����%�%�0�0��r�:�A�A�#�F����t�$�4rc��UHVn[U-n[RRU5b[R
"SU5 S[RU'MX g)z1Add names to sys.modules to block future imports.Nz!Blocked plugin %s already loaded.)r#ru�modulesrZr	�mutter)�namesr1r<s   rr+r+sF����%��,���;�;�?�?�<�(�4��L�L�<�d�C�$(����L�!�	rc���[R"US5n[RR	U5(aU$USS[
-n[RR	U5(aU$g)zEGet path of __init__ file from package_path or None if not a package.z__init__.pyN���)r�pathjoinrXr�exists�COMPILED_EXT)�package_path�	init_paths  r�_get_package_initr�sY��� � ��}�=�I�	�w�w�~�~�i� � ����#�2���-�I�	�w�w�~�~�i� � ���rc#�# �[USS5Shv�N UHjn[RRU5(a0UR	S5(a[
R"S5 MUMW[U5Shv�N Ml gNuN7f)z?Generate names and paths of possible plugins from plugin_paths.r3�Nz.zipz+Don't yet support loading plugins from zip.)rrXr�isfile�endswithr	r��
_walk_modules)�plugin_pathsrs  rr�r�(sq����|�_�b�9�9�9���
�7�7�>�>�$����}�}�V�$�$����J�K�%�%�T�*�*�*��:�
+�s"�B
�B	�A+B
�?B�
B
�B
c#�# �[R"U5H�upnUR5 UHEnUSSS:wdMURS[45(dM,URSS5SU4v� MG UR5 UH9nUSSS:wdM[R"X5n[U5nUcM4XV4v� M; USS2	M� g7f)z7Generate name and path of modules and packages on path.Nr!�__�.pyr rr)	rX�walk�sortr�r��rsplitrr�r�)r�root�dirs�files�f�d�package_dir�fullpaths        rr�r�5s�����W�W�T�]���E�
�
�
���A���!�u��}��:�:�u�l�3�4�4��(�(�3��*�1�-�t�3�3��	
�	�	���A���!�u��}�%�.�.�t�7��,�[�9���'��.�(��
��G�+�s�9C�C�9C�"C�Cc#��# �Uc[R"5n[US05n[[US/55n[	[UR55R
U55nUH�nXR;a�X%nURnUS:XaSnSRXW5v� URRnU(aURS5Sn	OS	n	S
RU	5v� U(a!SRUR55v� OSRU5v� XQR;a URUH
n
S
U
-S-v� M Sv� M� g7f)a
Generate text description of plugins.

Includes both those that have loaded, and those that failed to load.

Args:
  show_paths: If true, include the plugin path.
  state: The library state object to inspect.

Returns:
  Iterator of text lines (including newlines.)
Nr
r�unknown�z{} {}
�
rz(no description)z  {}
z   {}
z{} (failed to load)
z  ** )rrrr�sorted�keys�union�__version__rD�modulerMr$rr)�
show_pathsr�loaded_pluginsr�	all_namesr1�plugin�versionr��doc�lines           r�describe_pluginsr�Hs9���
�}��'�'�)���U�I�r�2�N��'�%�):�B�?�@�O��s�>�.�.�0�1�7�7��H�I�I����!�#�)�F��(�(�G��)�#����"�"�4�1�1��
�
�%�%�A���g�g�d�m�A�&��(���?�?�3�'�(�� �'�'����
�6�7��)�0�0��6�6��(�(�(��-�-�d�3����n�t�+�+�4��
�)�s�EEc#�# �[[SS5(aF[R"[R"[R
"[5S55v� gUHn[R"U5v� M g7f)z@Generate possible locations for plugins based on existing_paths.�frozenFz../../../pluginsN)rrurrcr��dirname�__file__)�existing_pathsrs  rrsrsps\����s�H�e�$�$��o�o����W�_�_�X�6�8J�K�
�	
�#�D��/�/�$�'�'�#�s�A?Bc#�# �UHBn[RRU5S;dM([R"USS5v� MD g7f)z=Generate possible locations for plugins from given sys_paths.)z
dist-packagesz
site-packagesrr
N)rXrrbrr�)�	sys_pathsrs  rrtrt�s<�����
�7�7���D�!�%G�G��"�"�4��9�=�=��s
�'A�Ac�F�SSKJn [R"U"5S5$)Nr��
config_dirr
)�breezy.beddingr�rr�r�s rrqrq�s��)����J�L�)�4�4rc�2�[R"U5 U$r9)r	r�)�warning_messages r�record_plugin_warningr��s��	�L�L��!��rc�:�[R"SU5(+$)Nz\.|-| )rQ�search)r1s rr�r��s���y�y��D�)�)�)rc�~�[R"SSU5nURS5(aU[S5SnU$)Nz[-. ]�_�brz_)rQ�subr"r%)r1r�s  rr�r��s;���V�V�G�S�$�/�N�� � ��(�(�'��F��
�6���rc�L�[U-[R;ag[[U-5 g![R
aPnSR
XRRURUR5n[U5sSnA$SnAf[a�n[R"5 S[R ;a8[R""[R$"5[R&5 [SR
XU55sSnA$SnAff=f)z�Load plugin by name.

Args:
  name: The plugin name in the breezy.plugins namespace.
  dir: The directory the plugin is loaded from for error messages.
NzVUnable to load plugin {!r}. It supports {} versions {!r} but the current version is {}rz(Unable to load plugin {!r} from {!r}: {})r#rur��
__import__r�IncompatibleVersionrD�apirE�wanted�currentr��	Exceptionr	�log_exception_quietlyr�debug_flags�print_exception�exc_info�stderr)r1�dir�er�s    rr�r��s���������+��
��>�D�(�)���%�%�6�
:�:@�&��e�e�n�n�a�h�h��	�	�;�	�%�_�5�5���
�
�#�#�%��e�'�'�'��!�!�#�,�,�.�#�*�*�=�$�6�=�=�d��K�
�	
��	
�s/�1�D#�AB�
D#�
D#�A;D�D#�D#c��0n[RHnnUR[5(dMU[	[5SnSU;dM9[RUcMO[U[RU5X'Mp U$)zUReturn a dictionary of the plugins.

Each item in the dictionary is a PlugIn object.
Nr )rur�r"r#r%�PlugIn)�result�fullnamer1s   rr
r
�sm��
�F��K�K�����~�.�.��C��/�1�2�D��$��3�;�;�x�#8�#D�%�d�C�K�K��,A�B���	 �
�Mrc�v�[R[U-nUcg[	X5$![a gf=f)zSRetrieve an already loaded plugin.

Returns None if there is no such plugin loaded
N)rur�r#�KeyErrorr��r1r�s  r�get_loaded_pluginr��sC��
����^�d�2�3���~���$����	����s�+�
8�8c��Uc[R"5n/n[[US05R	55H/up#URSR
X#R55 M1 SRU5$)zDReturn a string holding a concise list of plugins and their version.r
z{}[{}]z, )	rrr�rrr\rDr��join)rrr1�a_plugins    r�format_concise_plugin_listr��sh���}��'�'�)���E� ���	�2�!>�!D�!D�!F�G���
���X�_�_�T�+?�+?�@�A�H��9�9�U��rc�$�\rSrSrSrSrSrSrg)�PluginsHelpIndexi�z2A help index that returns help topics for plugins.c��SUlg)Nzplugins/��prefixrHs rr;�PluginsHelpIndex.__init__�s	�� ��rc��U(d/$URUR5(aU[UR5Sn[U-n[R
Un[
U5/$![a /s$f=f)z�Search for topic in the loaded plugins.

This will not trigger loading of new plugins.

Args:
  topic: A topic to search for.

Returns:
  A list which is either empty or contains a single
  RegisteredTopic entry.
N)r"r�r%r#rur��ModuleHelpTopicr�)r>�topic�plugin_module_namer�s    r�
get_topics�PluginsHelpIndex.get_topics�s|����I����D�K�K�(�(��#�d�k�k�*�,�-�E�+�e�3��	-��[�[�!3�4�F�$�F�+�,�,���	��I�	�s�A+�+A:�9A:r�N)rErJrKrLrMr;r�rNr�rrr�r��s��<�!�-rr�c�.�\rSrSrSrSrSSjrSrSrg)	r�iz6A help topic which returns the docstring for a module.c��Xlg)zMConstructor.

Args:
  module: The module for which help should be generated.
N�r�)r>r�s  rr;�ModuleHelpTopic.__init__s	���rNc��SSKJn URR(d&SR	URR
5nOURRnUSS:waUS-
nXCR
U5-
nU$)zReturn a string with the help for this topic.

Args:
  additional_see_also: Additional help topics to be
    cross-referenced.
r)�help_topicszPlugin '{}' has no docstring.
���r�)r�r�r�rMrDrE�_format_see_also)r>�additional_see_also�verboser�r�s     r�
get_help_text�ModuleHelpTopic.get_help_textsk��	"��{�{�"�"�6�=�=�d�k�k�>R�>R�S�F��[�[�(�(�F��"�:����d�N�F��.�.�/B�C�C���
rc�N�URR[[5S$)z+Return the module help topic: its basename.N)r�rEr%r#rHs r�get_help_topic�ModuleHelpTopic.get_help_topic s���{�{�#�#�C��$7�$9�:�:rr�)NT)	rErJrKrLrMr;r�rrNr�rrr�r�s��@���$;rr�c�L�\rSrSrSrSrSrSrSrSr	Sr
\S	5rS
r
g)r�i%znThe breezy representation of a plugin.

The PlugIn object provides a way to manipulate a given plugin module.
c��XlX lg)zConstruct a plugin for module.Nr�)r>r1r�s   rr;�PlugIn.__init__+s���	��rc���[URSS5b6[RR	URR
S5$[URSS5bp[RR	URR5nUSS[:Xa.USSS-n[RRU5(aUnU$[UR5$)z.Get the path that this plugin was loaded from.rNrr����r�)
rr�rXrrcrr�r�r��repr)r>r�pypaths   rr�PlugIn.path0s����4�;�;�
�D�1�=��7�7�?�?�4�;�;�#7�#7��#:�;�;�
�T�[�[�*�d�
3�
?��7�7�?�?�4�;�;�#7�#7�8�D��B�C�y�L�(��c�r��U�*���7�7�>�>�&�)�)�!�D��K�����$�$rc��SRURRURRURUR
5$)Nz<{}.{} name={}, module={}>)rDrArJrEr1r�rHs rrG�PlugIn.__repr__>s:��+�2�2��N�N�%�%�t�~�~�'>�'>��	�	�4�;�;�
�	
rc�h�[URSS5bURR5$g)zReturn the plugin's test suite.�
test_suiteN)rr�r
rHs rr
�PlugIn.test_suiteCs+���4�;�;��d�3�?��;�;�)�)�+�+�rc�j�[URSS5bURUR5$g)z}Return the adapted plugin's test suite.

Args:
  loader: The custom loader that should be used to load additional
    tests.
�
load_testsN)rr��loadTestsFromModule)r>�loaders  r�load_plugin_tests�PlugIn.load_plugin_testsJs/���4�;�;��d�3�?��-�-�d�k�k�:�:�rc��[URSS5nUbH[U[5(aUR	S5nU$[U5S:Xa[
U5S-nU$U$![a [R"5 U4nU$f=f)z5Return the plugin's version_tuple or None if unknown.�version_infoNr �)�finalr)
rr��
isinstancerSr$r%�tuple�	TypeErrorr	r�)r>rs  rr�PlugIn.version_infoVs����t�{�{�N�D�A���#�
/��l�C�0�0�#/�#5�#5�c�#:�L���
��&�!�+�#(��#6��#E�L�
��|���	�
/��+�+�-� ,�����	
/�s�&A%�A%�%"B�
Bc��UR5nUb[U5S:Xag[R"U5nU$![[
[4a8 [R"5 SR[[U55nU$f=f)Nrr�r )rr%r�_format_version_tuple�
ValueErrorr�
IndexErrorr	r�r��maprS)r>r�version_strings   rr��PlugIn.__version__es����(�(�*����3�|�#4��#9��	>�#�9�9�,�G�N�
���	�I�z�2�	>��'�'�)� �X�X�c�#�|�&<�=�N���		>�s�=�A	B
�	B
)r�r1N)rErJrKrLrMr;rrGr
rr�propertyr�rNr�rrr�r�%s9���
�
%�
�
�
�
��
��
rr�c�.�\rSrSrSrSrSrSSjrSrg)	rzisz9Meta path finder to support BRZ_PLUGINS_AT configuration.c�Z�XlUVVs0sH
up4X-U_M snnUlgs snnfr9)r��
names_to_path)r>r��names_and_paths�nrns     rr;�_PluginsAtFinder.__init__vs)����8G�H����f�j�!�m��H����Hs�'c�b�SRURRUR5$)Nz	<{} {!r}>)rDrArEr�rHs rrG�_PluginsAtFinder.__repr__zs#���!�!�$�.�.�"9�"9�4�;�;�G�GrNc��XR;agURUn[RRU5(a([	U5nUc[SR
XA55e[R"X5$)z&New module spec returning find method.Nz&Not loading namespace package {} as {})	r'rXrrrr��ImportErrorrD�importlib_util�spec_from_file_location)r>r�r4�targetrs     r�	find_spec�_PluginsAtFinder.find_spec}ss���-�-�-���!�!�(�+��
�7�7�=�=����$�T�*�D��|�"�<�C�C�D�S����5�5�h�E�Er)r'r�r9)	rErJrKrLrMr;rGr2rNr�rrrzrzss��C�I�H�
Frrzr9)NNT)�BRZ_DISABLE_PLUGINS)�BRZ_PLUGINS_AT)�BRZ_PLUGIN_PATH)FN)/�
__docformat__rXrQru�	importlibrr/rr�rrrr	r#r�rrr(r5rFr0rVr*r,r/r.r-rr+r�r�r�r�rsrtrqr�r�r�r�r
r�r�r�r�r�rzr�rr�<module>r9s���"�
��(
�	�
�,�
�+�+�"����
�+�@�5�4
�D�
�,�	��"�@�&(�%�&)��
+��&%�P(�*>�5��
*��
�8� ��-�-�>;�;�DK�K�\F�Fr

Youez - 2016 - github.com/yon3zu
LinuXploit