o Ec @s>ddlmZmZmZddlmZddlmZGdddZdS)) FrozenSetOptionalSet)canonicalize_name) CommandErrorc @seZdZdZddgZ  ddeeedeeeddfddZde de fd d Z defd d Z e d edeedeeddfddZdedeefddZdddZdS) FormatControlzBHelper for managing formats from which a package can be installed. no_binary only_binaryNreturncCs,|durt}|durt}||_||_dSN)setrr )selfrr rV/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/models/format_control.py__init__ s  zFormatControl.__init__othercs:tjstSjjkrdStfddjDS)NFc3s$|] }t|t|kVqdSr )getattr).0krr rr !s"z'FormatControl.__eq__..) isinstance __class__NotImplemented __slots__all)r rrrr__eq__s  zFormatControl.__eq__cCsd|jj|j|jS)Nz {}({}, {}))formatr__name__rr r rrr__repr__#szFormatControl.__repr__valuetargetcCs|dr td|d}d|vr3|||d|d|dd=d|vr/dSd|vs|D]}|dkr@|q5t|}||||q5dS)N-z7--no-binary / --only-binary option requires 1 argument.,:all:z:none:) startswithrsplitclearaddindexrdiscard)r!r"rnewnamerrrhandle_mutual_excludes(s*     z$FormatControl.handle_mutual_excludescanonical_namecCsxddh}||jvr|dt|S||jvr |dt|Sd|jvr.|dt|Sd|jvr8|dt|S)NZbinarysourcer%)r r,r frozenset)r r0resultrrrget_allowed_formats?s     z!FormatControl.get_allowed_formatscCs|d|j|jdS)Nr%)r/rr rrrrdisallow_binariesKs zFormatControl.disallow_binaries)NN)r N)r __module__ __qualname____doc__rrrstrrobjectboolrr staticmethodr/rr4r5rrrrrs$     $ rN) typingrrrZpip._vendor.packaging.utilsrZpip._internal.exceptionsrrrrrrs