Files
ServerSync/lib/invoke/__pycache__/util.cpython-314.pyc

106 lines
10 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
t<10>i"'<00><00><><00>^RIHt^RIHt^RIHt^RIHtHtH t H
t
H t H t H t Ht^RIt^RIt^RIt^RIt^RIt^RIHt^RIHtRtR R
lt]P8P;R 4'd]!4]P<!R 4t]P@t R Rlt!]RRl4t"RRlt#RRlt$RRlt%!RR]PL4t']!RR4t(R# ]d^RIHt^RItL<>i;i)<1B>)<01>
namedtuple)<01>contextmanager)<01> TracebackType)<08>Any<6E> Generator<6F>List<73>IO<49>Optional<61>Tuple<6C>Type<70>UnionN)<01>Lexicon)<01>yamlz-%(name)s.%(module)s.%(funcName)s: %(message)sc<00><00>V^8<>dQhRR/#<00><03><00>returnN<6E>)<01>formats"<22>2/tmp/pip-target-zhdecbcm/lib/python/invoke/util.py<70> __annotate__rs<00><00>@<01>@<01><04>@<01>c<00>Z<00>\P!\P\R7R#))<02>levelrN)<04>logging<6E> basicConfig<69>DEBUG<55>
LOG_FORMATrrr<00>enable_loggingrs<00><00> <0B><17><17>g<EFBFBD>m<EFBFBD>m<EFBFBD>J<EFBFBD>?r<00> INVOKE_DEBUG<55>invokec<00>h<00>V^8<>dQhR\R\\\,\3,/#)r<00>namer)<03>strr r)rs"rrr-s'<00><00><06><06>S<EFBFBD><06>U<EFBFBD>4<EFBFBD><03>9<EFBFBD>c<EFBFBD>><3E>%:<3A>rc<04>@<00>VPR4pVRRVR,3#)z_
Return key tuple for use sorting dotted task names, via e.g. `sorted`.
.. versionadded:: 1.0
<EFBFBD>.N<><4E><EFBFBD><EFBFBD><EFBFBD>)<01>split)r#<00>partss& r<00>task_name_sort_keyr*-s-<00><00> <11>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>E<EFBFBD>
<0E>c<EFBFBD>r<EFBFBD>
<EFBFBD> <0A>b<EFBFBD> <09>  <06>rc<00>><00>V^8<>dQhR\R\R,/#)r<00>wherer)NNN)r$r)rs"rrr@s <00><00><16><16>c<EFBFBD><16>i<EFBFBD> 0<>1<>rc#<00><>"<00>\P!4p\P!V4Rx<00>\P!V4R# \P!T4i;i5i)N)<03>os<6F>getcwd<77>chdir)r,<00>cwds& r<00>cdr2?s9<00><00><00>
<0C>)<29>)<29>+<2B>C<EFBFBD><06>H<EFBFBD>H<EFBFBD>U<EFBFBD>O<EFBFBD><16> <0A>
<EFBFBD><08><08><13> <0A><><02><08><08><13> <0A>s<00>,A&<01>A <00>A&<01> A#<03>#A&c<00>0<00>V^8<>dQhR\R\/#<00>r<00>streamr)r <00>bool)rs"rrrIs<00><00><15><15>r<EFBFBD><15>d<EFBFBD>rc<04><><00>\VP4\4# \\P
3dR#i;i)aA
Cleanly determine whether ``stream`` has a useful ``.fileno()``.
.. note::
This function helps determine if a given file-like object can be used
with various terminal-oriented modules and functions such as `select`,
`termios`, and `tty`. For most of those, a fileno is all that is
required; they'll function even if ``stream.isatty()`` is ``False``.
:param stream: A file-like object.
:returns:
``True`` if ``stream.fileno()`` returns an integer, ``False`` otherwise
(this includes when ``stream`` lacks a ``fileno`` method).
.. versionadded:: 1.0
F)<06>
isinstance<EFBFBD>fileno<6E>int<6E>AttributeError<6F>io<69>UnsupportedOperation<6F>r5s&r<00>
has_filenor?Is7<00><00>$<15><19>&<26>-<2D>-<2D>/<2F>3<EFBFBD>/<2F>/<2F><> <1A>B<EFBFBD>3<>3<> 4<><15><14><15>s <00> <00>?<03>?c<00>R<00>V^8<>dQhR\R\\\3,/#r4)r r r6r)rs"rrras#<00><00><11><11>2<EFBFBD><11>%<25><04>c<EFBFBD> <09>*<2A>rc<04><><00>\VR4'd,\VP4'dVP4#\V4'd%\P!VP 44#R#)a<>
Cleanly determine whether ``stream`` is a TTY.
Specifically, first try calling ``stream.isatty()``, and if that fails
(e.g. due to lacking the method entirely) fallback to `os.isatty`.
.. note::
Most of the time, we don't actually care about true TTY-ness, but
merely whether the stream seems to have a fileno (per `has_fileno`).
However, in some cases (notably the use of `pty.fork` to present a
local pseudoterminal) we need to tell if a given stream has a valid
fileno but *isn't* tied to an actual terminal. Thus, this function.
:param stream: A file-like object.
:returns:
A boolean depending on the result of calling ``.isatty()`` and/or
`os.isatty`.
.. versionadded:: 1.0
<EFBFBD>isattyF)<06>hasattr<74>callablerBr?r.r9r>s&rrBrBasP<00><00>.<0F>v<EFBFBD>x<EFBFBD> <20> <20>X<EFBFBD>f<EFBFBD>m<EFBFBD>m<EFBFBD>%<<3C>%<<3C><15>}<7D>}<7D><EFBFBD><1E> <13>F<EFBFBD> <1B> <1B><11>y<EFBFBD>y<EFBFBD><16><1D><1D><1F>)<29>)<29> rc<00>F<00>V^8<>dQhR\R\\,/#)r<00>objr)<03>objectr
r$)rs"rrr<00>s<00><00> .<2E> .<2E>&<26> .<2E>X<EFBFBD>c<EFBFBD>]<5D> .rc<04><><00>VPpV'd1VP4'dV\V4P8XdR#VP4P 4^,#)zc
Yield an object's first docstring line, or None if there was no docstring.
.. versionadded:: 1.0
N)<05>__doc__<5F>strip<69>type<70>lstrip<69>
splitlines)rF<00> docstrings& r<00>helplinerO<00>sO<00><00> <14> <0B> <0B>I<EFBFBD> <15><18><EFBFBD><EFBFBD> <20> <20> <14><04>S<EFBFBD> <09>)<29>)<29> )<29><13> <14> <1B> <1B> <1D> (<28> (<28> *<2A>1<EFBFBD> -<2D>-rc<00><>aa<01>]tRt^<5E>toRtV3RlV3RlltV3RlV3RlltV3RlRlt]V3RlR l4t V3R
lR lt
R t Vt V;t #) <0A>ExceptionHandlingThreada
Thread handler making it easier for parent to handle thread exceptions.
Based in part on Fabric 1's ThreadHandler. See also Fabric GH issue #204.
When used directly, can be used in place of a regular ``threading.Thread``.
If subclassed, the subclass must do one of:
- supply ``target`` to ``__init__``
- define ``_run()`` instead of ``run()``
This is because this thread's entire point is to wrap behavior around the
thread's execution; subclasses could not redefine ``run()`` without
breaking that functionality.
.. versionadded:: 1.0
c<00>$<<01>V^8<>dQhRS[RR/#)r<00>kwargsrN)r)r<00> __classdict__s"<22>rr<00>$ExceptionHandlingThread.__annotate__<5F>s<00><><00><11><11><13><11><14>rc <0C>P<<01>\SV`!R/VBRVnWnRVnR#)z<>
Create a new exception-handling thread instance.
Takes all regular `threading.Thread` keyword arguments, via
``**kwargs`` for easier display of thread identity when raising
captured exceptions.
TNr)<05>super<65>__init__<5F>daemonrS<00>exc_info)<03>selfrS<00> __class__s&,<2C>rrX<00> ExceptionHandlingThread.__init__<5F>s/<00><><00> <0E><07><18>"<22>6<EFBFBD>"<22><1B><04> <0B><1C> <0B> <11> <0A> rc<00><<01>V^8<>dQhRR/#rr)rrTs"<22>rrrU<00>s<00><><00>$6<>$6<>T<EFBFBD>$6rc<08><><<01>\VR4'd.\VP4'dVP4R#\SV`4R# \
d}\ P!4TnRpRpRTP9dTPR,Pp\TPTP^,T44R#i;i)<04>_runz-Encountered exception {!r} in thread for {!r}<7D>targetN) rCrDr`rW<00>run<75> BaseException<6F>sysrZrS<00>__name__<5F>debugr)r[<00>msgr#r\s& <20>rrb<00>ExceptionHandlingThread.run<75>s<><00><><00># 6<> <17>t<EFBFBD>V<EFBFBD>$<24>$<24><18>$<24>)<29>)<29>)<<3C>)<<3C><15> <09> <09> <0B><15><07> <0B> <0A><><1C> 6<><1F>L<EFBFBD>L<EFBFBD>N<EFBFBD>D<EFBFBD>M<EFBFBD>B<01>C<EFBFBD><1A>D<EFBFBD><17>4<EFBFBD>;<3B>;<3B>&<26><1B>{<7B>{<7B>8<EFBFBD>,<2C>5<>5<><04> <11>#<23>*<2A>*<2A>T<EFBFBD>]<5D>]<5D>1<EFBFBD>-<2D>t<EFBFBD>4<> 5<> 6<>s<00>A<00>+A<00>A<00>BC<03>Cc<00>.<<01>V^8<>dQhRS[R,/#)rr<00>ExceptionWrapper)r
)rrTs"<22>rrrU<00>s<00><><00> =<3D> =<3D>8<EFBFBD>$6<>7<> =rc <0C>d<00>VPfR#\VP.VPO5!#)a
If an exception occurred, return an `.ExceptionWrapper` around it.
:returns:
An `.ExceptionWrapper` managing the result of `sys.exc_info`, if an
exception was raised during thread execution. If no exception
occurred, returns ``None`` instead.
.. versionadded:: 1.0
N)rZrjrS<00>r[s&r<00> exception<6F>!ExceptionHandlingThread.exception<6F>s)<00><00> <10>=<3D>=<3D> <20><17><1F><04> <0B> <0B><<3C>d<EFBFBD>m<EFBFBD>m<EFBFBD><<3C><rc<00> <<01>V^8<>dQhRS[/#<00>rr)r6)rrTs"<22>rrrU<00>s<00><><00> C<01> C<01><14> Crc <0C>X<00>VP4'*;'dVPRJ#)z<>
Returns ``True`` if not alive and has a stored exception.
Used to detect threads that have excepted & shut down.
.. versionadded:: 1.0
N)<02>is_aliverZrls&r<00>is_dead<61>ExceptionHandlingThread.is_dead<61>s$<00><00><19>M<EFBFBD>M<EFBFBD>O<EFBFBD>#<23>B<>B<><14><1D><1D>d<EFBFBD>)B<>Brc<00> <<01>V^8<>dQhRS[/#rp)r$)rrTs"<22>rrrU<00>s<00><><00>3<>3<>#<23>3rc<08>N<00>\VPR,P4#)ra)r$rSrerls&r<00>__repr__<5F> ExceptionHandlingThread.__repr__<5F>s<00><00><12>4<EFBFBD>;<3B>;<3B>x<EFBFBD>(<28>1<>1<>2<>2r)rYrZrS)re<00>
__module__<EFBFBD> __qualname__<5F>__firstlineno__rIrXrbrm<00>propertyrsrw<00>__static_attributes__<5F>__classdictcell__<5F> __classcell__)r\rTs@@rrQrQ<00>sN<00><><00><00><08>$<11><11>,$6<>$6<>L =<3D> =<3D><0E> C<01><0E> C<01>3<>3<>3rrQrjzkwargs type value traceback))<29> collectionsr<00>
contextlibr<00>typesr<00>typingrrrr r
r r r r<rr.<00> threadingrd<00>vendor.lexiconr<00>vendorr<00> ImportError<6F>lexiconrr<00>environ<6F>get<65> getLogger<65>logrfr*r2r?rBrO<00>ThreadrQrjrrr<00><module>r<>s<><00><01>"<22>%<25><1F>I<>I<>I<> <09><0E> <09><10>
<EFBFBD><10>'<27><1C> =<3D>
<EFBFBD>@<01> <06>:<3A>:<3A>><3E>><3E>.<2E>!<21>!<21><12><14><0E><17><17><08>!<21><03> <0B> <09> <09><05><06>$<10><16><10><16><15>0<11>B .<2E> n3<>i<EFBFBD>.<2E>.<2E>n3<>p<1E><16>5<><02><10><>g<13><10><1F><0F><10>s<00> C<00>C-<03>,C-