
    @(i                         S r SSKrSSKrSSKrSSKJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  S\R2                  4S jrS\R6                  S\4S jrg)z[
Implementation of the 'conda repoquery' subcommand.

Based on 'mamba repoquery' for v1.x.
    N)chain)context)conda_argparse)
PrefixData)
CondaError)Channel)	MatchSpec)get_spinner)Context   )LibMambaIndexHelperparserc                 \   [         R                  " SS9nUR                  SSSS9  UR                  S5      nUR                  SS	S
S[         R                  S9  UR                  SS[
        R                  SS9  UR                  SS
SS9  UR                  SS
SS9  UR                  SSS
SS9  UR                  SS
SS9  [         R                  " SS9nUR                  S5      nUR                  SSS
SS9  UR                  SS
S S9  U R                  S!S"9nUR                  S#S$X/S%9nUR                  S&S'X/S%9nUR                  S(S)U/S%9nXhU4 H[  n	[        R                  " U	5        [        R                  " U	5        [        R                  " U	5        [        R                  " U	5        M]     g )*NF)add_helpspecszThe target package(s).+)helpnargszSubcommand optionsz-iz--installed
store_trueT)actiondefaultr   z-pz
--platformzEPlatform/subdir to search packages for. Defaults to current platform.)r   r   z--no-installedz+Do not search currently installed packages.)r   r   z--prettyz"Prettier output with more details.z-az--all-channelsz.Look at all channels (for depends / whoneeds).z--use-cache-onlyzSearch in pkgs_dirs toozDependency optionsz-tz--treez(Show dependencies in a tree-like format.z--recursivezShow dependencies recursively.subcmd)destwhoneedsz*Show packages that depend on this package.)r   parentsdependsz"Show dependencies of this package.searchz$Show all available package versions.)argparseArgumentParseradd_argumentadd_argument_groupSUPPRESSr   subdiradd_subparsers
add_parserr   add_parser_channelsadd_parser_networkingadd_parser_knownadd_parser_json)
r   package_cmdspackage_grp	view_cmdsview_grp	subparserr   r   r   cmds
             W/data/cameron/miniconda/lib/python3.13/site-packages/conda_libmamba_solver/repoquery.pyconfigure_parserr1      s    **E:Lg,DCP112FGK   T	   4a   <.R   =	   &   ''7I++,@AHh|2\   l1Q   %%8%4I##9) $ H ""1) # G !!3 " F '***3/,,S1'',&&s+	 +    argsreturnc           
         U R                   (       d1  [        S[        R                  S9  [        S[        R                  S9  gS Vs/ s H  n[	        XS5      PM     nn[        [        R                  /UQ5      S:  a  [        S[        R                  S9  g[        U S5      (       a  U R                  nOS nU R                  (       d  Uc/  U(       a  [        S	[        R                  S9  [        R                  nU R                  nU R                  (       a  SnU R                   S
;   a  U(       a	  U(       a  SnU R                   S:X  a  U R                  (       d  SnO-U R                  (       d  U(       a  [        U5      (       a  SnOSnU(       a*  U R                  (       a  [        S[        R                  S9  gU(       a:  [        [        R                   5      nUR#                  5         UR%                  5       nOSnU R&                  (       aM  [)        S5         [+        SSU R,                  S4[        R.                  S   [        R0                  S9nS S S 5        O/ n	U R2                   H9  n
[5        U
5      nUR7                  S5      nU(       d  M(  U	R9                  U5        M;     [)        S5         [+        U[;        U=(       d    S[<        R?                  U	5      5       Vs/ s H  n[A        U5      PM     snU R,                  S4[        R.                  S   S9nS S S 5        U R                   S:X  a  WRC                  U R2                  SS9n[        R                  (       a<  [        [        RD                  " URG                  S5      RI                  5       SS95        g[	        U SS 5      (       a  [        URK                  SS95        g[        URG                  S5      RM                  5       5         gU R                   S:X  a  [        U R2                  5      S:  a  [O        S5      eWRQ                  U R2                  S   [	        U SS5      =(       d    [	        U S S5      SS!9n[        R                  (       a-  [        [        RD                  " URI                  5       SS95        g[	        U SS 5      (       d  [	        U SS 5      (       a  [O        S"5      e[        UR[                  S5      RM                  5       5         gU R                   S#:X  a  [        U R2                  5      S:  a  [O        S$5      eWR]                  U R2                  S   [	        U SS5      =(       d    [	        U S S5      SS!9n[        R                  (       a-  [        [        RD                  " URI                  5       SS95        g[	        U SS 5      (       d  [	        U SS 5      (       a  [O        S"5      e[        UR[                  S5      RM                  5       5         g[O        S%U R                    35      es  snf ! , (       d  f       GN= fs  snf ! , (       d  f       GN+= f)&NzArepoquery needs a subcommand (search, depends or whoneeds), e.g.:)filez"    conda repoquery search python
r   )tree	recursiveprettyFz9Use only one of --json, --tree, --recursive and --pretty.channelz;WARNING: Using all channels instead of configured channels
)r   r   r   Tz4No channels selected. Use -a to search all channels. z*Collecting package metadata from pkgs_dirsnoarch)installed_recordschannelssubdirsrepodata_fn	pkgs_dirszCollecting package metadata)r>   r?   r@   rA   raw)return_typename   )indentr9   )show_all_buildsr   z'Only one query supported for 'depends'.r   r7   r8   )r7   rD   z3--tree currently not available for this subcommand.r   z(Only one query supported for 'whoneeds'.zUnrecognized subcommand: )/r   printsysstderrgetattrsumr   jsonhasattrr:   all_channelsr?   	installedno_installedlenr   target_prefixloaditer_recordsuse_cache_onlyr
   r   platformrepodata_fnsrB   r   r	   get_exact_valueappendr   dictfromkeysr   r   dumpsgroupbyto_dictr9   tabler   r   r7   LibmambaContextinstancegraphics_paramssortr   )r3   attr	cli_flagsr?   use_installedonly_installedprefix_datar>   indexchannels_from_specsspecmsr:   cresults                  r0   	repoqueryrq   d   s   ;;QX[XbXbc3#**E8WX8WU+8WIX
GLL%9%&*IPSPZPZ[tY<<H,PWZWaWab##NNM {{---H{{ht~~			xCMM$++D3::V !6!67'446EF'"$1#004!++E GF !JJD4B((3Gw#**73	 
 67'"3(-hn"dmmL_>`(a(a1GAJ(a 1#004E 8 {{hdjje<<<$**V^^F3;;=aHIP O T8T**&---56L I &..(..01H G 
		!tzz?QFGGJJqMvu-R{E1R  

 <<$**V^^-a894 3 T64((GD(D,I,IRSS &++f%++-.( ' 

	"tzz?QGHHJJqMvu-R{E1R   

 <<$**V^^-a89  T64((GD(D,I,IRSS &++f%++-.  4T[[MBCCY YT GF$ 87s0   X%9X*31Y$X<9$Y*
X9<Y
Y)__doc__r   rN   rJ   	itertoolsr   conda.base.contextr   	conda.clir   conda.core.prefix_datar   conda.exceptionsr   conda.models.channelr   conda.models.match_specr	   conda.reportersr
   
libmambapyr   rb   rk   r   r   r1   	Namespaceintrq   r;   r2   r0   <module>r~      sd   
   
  & $ - ' ( - ' 1 &E,X44 E,PtH&& t3 tr2   