U Ê—ReØ ã@s>ddlmZmZmZddlmZddlmZGdd„dƒZdS)é)Ú FrozenSetÚOptionalÚSet)Úcanonicalize_name)Ú CommandErrorc@sœeZdZdZddgZdeeeeeeddœdd„Ze e dœd d „Z ed œd d „Z e eeeeeddœdd„ƒZeeedœdd„Zdd œdd„ZdS)Ú FormatControlzBHelper for managing formats from which a package can be installed.Ú no_binaryÚ only_binaryN)rr ÚreturncCs,|dkrtƒ}|dkrtƒ}||_||_dS©N)Úsetrr )Úselfrr ©rú’/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/models/format_control.pyÚ__init__ s zFormatControl.__init__)Úotherr cs:tˆˆjƒstSˆjˆjkr dSt‡‡fdd„ˆjDƒƒS)NFc3s"|]}tˆ|ƒtˆ|ƒkVqdSr )Úgetattr)Ú.0Úk©rr rrÚ !sz'FormatControl.__eq__..)Ú isinstanceÚ __class__ÚNotImplementedÚ __slots__Úall)r rrrrÚ__eq__s   zFormatControl.__eq__)r cCsd |jj|j|j¡S)Nz {}({}, {}))ÚformatrÚ__name__rr ©r rrrÚ__repr__#s ÿzFormatControl.__repr__)ÚvalueÚtargetrr cCsœ| d¡rtdƒ‚| d¡}d|kr`| ¡| ¡| d¡|d| d¡d…=d|krdSq|D]2}|dkrz| ¡qdt|ƒ}| |¡| |¡qddS)Nú-z7--no-binary / --only-binary option requires 1 argument.ú,ú:all:éz:none:)Ú startswithrÚsplitÚclearÚaddÚindexrÚdiscard)r!r"rÚnewÚnamerrrÚhandle_mutual_excludes(s& ÿ   z$FormatControl.handle_mutual_excludes)Úcanonical_namer cCsfddh}||jkr| d¡n@||jkr4| d¡n*d|jkrJ| d¡nd|jkr^| d¡t|ƒS)NÚbinaryÚsourcer%)r r,rÚ frozenset)r r0ÚresultrrrÚget_allowed_formats?s        z!FormatControl.get_allowed_formatscCs| d|j|j¡dS)Nr%)r/rr rrrrÚdisallow_binariesKs ýzFormatControl.disallow_binaries)NN)rÚ __module__Ú __qualname__Ú__doc__rrrÚstrrÚobjectÚboolrr Ú staticmethodr/rr5r6rrrrrsý  ü   rN) ÚtypingrrrÚpip._vendor.packaging.utilsrÚpip._internal.exceptionsrrrrrrÚs