mNrC~ T d Z ddlmZmZ ddlmZ g dZ G d dej ZdS ) z
Warn about features that are not present in Python 2.5, giving a message that
points to the earliest version of Python 2.x (or 3.x, if none) that supports it
)FeatureFeatures )
fixer_base))
memoryviewz4power < 'memoryview' trailer < '(' any* ')' > any* >z2.7)numberszimport_from< 'from' 'numbers' 'import' any* > |
import_name< 'import' ('numbers' dotted_as_names< any* 'numbers' any* >) >2.6)abczyimport_name< 'import' ('abc' dotted_as_names< any* 'abc' any* >) > |
import_from< 'from' 'abc' 'import' any* >r )iozvimport_name< 'import' ('io' dotted_as_names< any* 'io' any* >) > |
import_from< 'from' 'io' 'import' any* >r )binz+power< 'bin' trailer< '(' any* ')' > any* >r )
formattingz trailer< '(' any* ')' > >r )nonlocalzglobal_stmt< 'nonlocal' any* >3.0)with_tracebackztrailer< '.' 'with_traceback' >r c t e Zd ZdZ e Z ed eD Zej Z fdZ
d Z xZS )FixFeatures c 8 g | ]\ }}}t ||| S )r ).0namepatternversions r/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/libpasteurize/fixes/fix_features.py
zFixFeatures.; s@ D D D 6gw !w88 D D D c t t | | } |d= n# t $ r Y nw xY w|S )Nnode)superr match Exception)selfr to_ret __class__s r r zFixFeatures.match@ sW {D))//55 w
D
s /
<<c |D ]l}|| j v r| j | }|j dk r| j }n| j } ||| | j | md S )N3)reason)features_warnedfeaturesr cannot_convertwarningmessage_textadd)r" r resultsfeature_namecurr_featurefails r transformzFixFeatures.transformK s #
7
7Lt333#}\:'4//.DD>>>$((6666
7
7r )
__name__
__module____qualname__ run_ordersetr( r FEATURESr) PATTERNr r2
__classcell__)r$ s @r r r 3 s I ceeO x D D:BD D D E EH G 7 7 7 7 7 7 7r r N) __doc__feature_baser r lib2to3r r8 BaseFixr r r r r? s
, + + + + + + + ( ( (T#7 #7 #7 #7 #7*$ #7 #7 #7 #7 #7r