/opt/cloudlinux/venv/lib/python3.11/site-packages/pylint/__pycache__
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/pylint/__pycache__/graph.cpython-311.pyc (10263B)
§
V{tx‰óàã ó” — d Z ddlmZ ddlZddlZddlZddlZddlZddlm Z ddl
mZ dd
„Z G d„ d¦ « Z
dd„Z d d!d„Zd"d„ZdS )#z^Graph manipulation utilities.
(dot generation adapted from pypy/translator/tool/make_dot.py)
é )ÚannotationsN)ÚSequence)ÚAnyÚfilenameÚstrÚreturnútuple[str, str, str]c ó — t j | ¦ « }t j t j | ¦ « ¦ « }t j | ¦ « d dd… }|||fS )zDTransforms /some/path/foo.png into ('/some/path', 'foo.png', 'png').éÿÿÿÿé N)ÚosÚpathÚbasenameÚdirnameÚabspathÚsplitext)r r ÚstoredirÚtargets ú^/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pylint/graph.pyÚtarget_info_from_filenamer sh € åŒw×Ò Ñ)Ô)€HÝŒw�Š�rœwŸš¨xÑ8Ô8Ñ9Ô9€HÝ
ŒW×
Ò
˜hÑ
'Ô
'¨Ô
+¨A¨B¨BÔ
/€FØ�X˜vÐ%Ð%ó c ój — e Zd ZdZ dd d„Zd!d„Z ee¦ « Z d"d#d„Zd$d„Z d%d„Z
d&d„ZdS )'Ú
DotBackendzDot File back-end.Núutf-8ÚdotÚ graphnamer Úrankdirú
str | NoneÚsizer ÚratioÚcharsetÚrendererÚadditional_paramúdict[str, Any] | Noner ÚNonec ó* — |€i }|| _ || _ g | _ d | _ | dt |¦ « › d�¦ « |r| d|› �¦ « |r| d|› �¦ « |r| d|› d�¦ « |r<| ¦ « dv s
J d|› �¦ « ‚| d |› d�¦ « | ¦ « D ]*}| d
|¦ « ¦ « Œ+d S )Nzdigraph z {zrankdir=zratio=zsize="ú"> ú
iso-8859-1Úlatin1r zunsupported charset z charset="ú=) r r" ÚlinesÚ_sourceÚemitÚnormalize_node_idÚlowerÚitemsÚjoin) Úselfr r r r r! r" r# Úparams r Ú__init__zDotBackend.__init__ sf € ð Ð#Ø!ÐØ"ˆŒØ ˆŒ
Ø "ˆŒ
Ø#'ˆŒØ� Š Ð>Õ.¨yÑ9Ô9Ð>Ð>Ð>Ñ?Ô?Ð?Øð ,Ø�IŠIÐ* Ð*Ð*Ñ+Ô+Ð+Øð (Ø�IŠIÐ&˜uÐ&Ð&Ñ'Ô'Ð'Øð (Ø�IŠIÐ&˜tÐ&Ð&Ð&Ñ'Ô'Ð'Øð .Ø—=’=‘?”?ð 'ð ð ð ð 0 gÐ/Ð/ñ ô ð ð
�IŠIÐ, 'Ð,Ð,Ð,Ñ-Ô-Ð-Ø%×+Ò+Ñ-Ô-ð 'ð 'ˆEØ�IŠI�c—h’h˜u‘o”oÑ&Ô&Ð&Ð&ð 'ð 'r c óŠ — | j €6| d¦ « d | j ¦ « | _ | `| j S )zReturns self._source.Nz}
ú
)r, r- r1 r+ )r2 s r Ú
get_sourcezDotBackend.get_sourceA s> € àŒ<ÐØ�IŠI�eÑÔÐØŸ9š9 T¤ZÑ0Ô0ˆDŒLØ�
ØŒ|Ðr Ú
outputfileÚmapfilec ó0 — d}| j }|€[d}t j d|¦ « \ }}t j d|¦ « \ }}t j |¦ « t j |¦ « nRt |¦ « \ } } }|s
d}|dz |z }||vr-t j d|¦ « \ }}t j |¦ « n|}t
j |dd¬ ¦ « 5 }
|
| j ¦ « ddd¦ « n# 1 swxY w Y ||vr�t j | j ¦ « €t d
|› d| j › d�¦ « ‚|r%t j | j d
d|d||d|g d¬¦ « n!t j | j d||d|gd¬¦ « t j |¦ « |S )a+ Generates a graph file.
:param str outputfile: filename and path [defaults to graphname.png]
:param str mapfile: filename and path
:rtype: str
:return: a path to the generated file
:raises RuntimeError: if the executable for rendering was not found
)r ÚgvNÚpngz.gvz.pngú.ÚwÚutf8)ÚencodingzCannot generate `z` because 'zg' executable not found. Install graphviz, or specify a `.gv` outputfile to produce the DOT source code.z-Tcmapxz-oz-TT)Úcheck)r ÚtempfileÚmkstempr
Úcloser ÚcodecsÚopenÚwriteÚsourceÚshutilÚwhichr" ÚRuntimeErrorÚ
subprocessÚrunÚunlink)r2 r8 r9 Úgraphviz_extensionsÚnamer ÚpdotÚdot_sourcepathÚppngÚ_Úfiles r ÚgeneratezDotBackend.generateK s: € ð ,ÐØŒ~ˆØÐ؈FÝ#+Ô#3°E¸4Ñ#@Ô#@Ñ ˆD�.Ý'Ô/°¸Ñ=Ô=шD�*ÝŒH�T‰NŒNˆNÝŒH�T‰NŒNˆNˆNå4°ZÑ@Ô@‰LˆAˆq�&Øð
7Ø�Ø'¨#Ñ-°Ñ6�
ØÐ0Ð0Ð0Ý'/Ô'7¸¸tÑ'DÔ'DÑ$��nÝ”˜‘”��à!+�Ý
Œ[˜¨°vÐ
>Ñ
>Ô
>ð $À$Ø�JŠJ�t”{Ñ#Ô#Ð#ð $ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $àÐ,Ð,Ð,ÝŒ|˜DœMÑ*Ô*Ð2Ý"ðA¨
ð Að A¸t¼}ð Að Að Añô ð ð
ð
Ý”àœ
Ø!ØØØØØ&ØØ"ð
ð ð
ñ
ô
ð
ð
õ ”Ø”] D¨&°.À$È
ÐSØðñ ô ð õ
ŒI�nÑ%Ô%Ð%ØÐs ÃC7Ã7C;Ã>C;Úlinec ó: — | j |¦ « dS )zAdds
to final output.N)r+ Úappend)r2 rW s r r- zDotBackend.emitŠ s € àŒ
×Ò˜$ÑÔÐÐÐr Úname1Úname2Úpropsc óú — d„ | ¦ « D ¦ « }t |¦ « t |¦ « }}| |› d|› dd t |¦ « ¦ « › d�¦ « dS )z}Emit an edge from to .
For edge properties: see https://www.graphviz.org/doc/info/attrs.html
c ó$ — g | ]
\ }}|› d |› d�‘ŒS ©z="r' © ©Ú.0ÚpropÚvalues r ú
z(DotBackend.emit_edge..“ ó- € ÐFÐFÐF©¨¨u�DÐ$Ð$˜EÐ$Ð$Ð$ÐFÐFÐFr z -> ú [ú, ú];N)r0 r. r- r1 Úsorted)r2 rZ r[ r\ ÚattrsÚn_fromÚn_tos r Ú emit_edgezDotBackend.emit_edgeŽ s} € ð
GÐF¸¿º¹
¼
ÐFÑFÔFˆÝ(¨Ñ/Ô/Õ1BÀ5Ñ1IÔ1I�ˆØ� Š �VÐEÐE ÐEÐE¨¯ªµ6¸%±=´=Ñ)AÔ)AÐEÐEÐEÑFÔFÐFÐFÐFr rP c óÒ — d„ | ¦ « D ¦ « }| t |¦ « › dd t |¦ « ¦ « › d�¦ « dS )zzEmit a node with given properties.
For node properties: see https://www.graphviz.org/doc/info/attrs.html
c ó$ — g | ]
\ }}|› d |› d�‘ŒS r_ r` ra s r re z(DotBackend.emit_node..œ rf r rg rh ri N)r0 r- r. r1 rj )r2 rP r\ rk s r Ú emit_nodezDotBackend.emit_node— sd € ð
GÐF¸¿º¹
¼
ÐFÑFÔFˆØ� Š Õ& tÑ,Ô,ÐLÐL°· ² ½&À¹-¼-Ñ0HÔ0HÐLÐLÐLÑMÔMÐMÐMÐMr )NNNr r N)r r r r r r r r r! r r" r r# r$ r r% )r r )NN)r8 r r9 r r r )rW r r r% )rZ r r[ r r\ r r r% )rP r r\ r r r% )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r4 r7 ÚpropertyrH rV r- rn rq r` r r r r sÔ € € € € € ØÐð
#ØØØØØ26ð'ð 'ð 'ð 'ð 'ðBð ð ð ð ˆX�jÑ
!Ô
!€Fð DHð=ð =ð =ð =ð =ð~ ð ð ð ðGð Gð Gð GðNð Nð Nð Nð Nð Nr r Únidc ó — d| › d�S )z)Returns a suitable DOT node id for `nid`.r' r` )rw s r r. r. s € àˆsˆ:ˆ:ˆ:Ðr Ú
graph_dictúdict[str, set[str]]Úverticesúlist[str] | NoneúSequence[list[str]]c ó — | sdS g }|€!t | ¦ « ¦ « }|D ]!}t | g t ¦ « ||¦ « Œ"|S )z�Return a list of detected cycles based on an ordered graph (i.e. keys are
vertices and values are lists of destination vertices representing edges).
r` )ÚlistÚkeysÚ_get_cyclesÚset)ry r{ ÚresultÚvertices r Ú
get_cyclesr… ¥ sd € ð ð ØˆrØ €FØÐݘ
ŸšÑ)Ô)Ñ*Ô*ˆØð <ð <ˆÝ�J ¥C¡E¤E¨6°7Ñ;Ô;Ð;Ð;Ø€Mr r ú list[str]Úvisitedúset[str]rƒ úlist[list[str]]r„ r% c óø — ||v rƒ|g}|ddd… D ] }||k r n| d|¦ « Œ!t |¦ « }| |¦ « }||d… |d|… z }||vr| |¦ « dS | |¦ « | | D ].}||vr(t | ||||¦ « | |¦ « Œ/n# t $ r Y nw xY w| ¦ « dS )z6Recursive function doing the real work for get_cycles.Nr r )ÚinsertÚminÚindexrY r� ÚaddÚKeyErrorÚpop) ry r r‡ rƒ r„ ÚcycleÚnodeÚ
start_fromr� s r r� r� µ sA € ð �$€€Ø� ˆØ˜˜˜2˜”Jð "ð "ˆDØ�wŠˆØ�Ø�LŠL˜˜DÑ!Ô!Ð!Ð!嘑Z”Zˆ
Ø—’˜JÑ'Ô'ˆØ�e�f�f”
a¨ g¤Ñ.ˆà˜ÐÐØ�MŠM˜%Ñ Ô Ð ØˆØ‡K‚K�ÑÔÐð
ؘwÔ'ð "ð "ˆDà˜7Ð"Ð"ݘJ¨¨g°v¸tÑDÔDÐDØ—’˜DÑ!Ô!Ð!øð "øõ
ð
ð
ð
؈ð
øøøà‡H‚H�J„J€J€J€Js Â7C Ã
C#Ã"C#)r r r r )rw r r r )N)ry rz r{ r| r r} )ry rz r r† r‡ rˆ rƒ r‰ r„ r r r% )ru Ú
__future__r rE r
rI rL rB Úcollections.abcr Útypingr r r r. r… r� r` r r úr— s ðð
ð ð
#Ð "Ð "Ð "Ð "Ð "à
€
€
€
Ø € € € Ø
€
€
€
Ø Ð Ð Ð Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð ð&ð