
    df4                         d dl mZ d dlmZmZ ddlmZ  ej                         Zdge_	         ej                  e       d Zd Zd Zd	 Zd
 Zd Zd Zy)    )Path)parserequest   )Abort)z
User-agentzMozilla/5.0c                 j    t        t        | j                        t        | j                        d       y)D
        Download ``source`` and store it to disk as ``target``
     N)retrive_from_urlstrsourcetarget)argss    O/home/api-vastappli/venv/lib/python3.12/site-packages/make/make_get/make_get.pymake_getr      s"     S%s4;;'7<    c                 h    t        | t              rt        j                  |       } | j                  dvS )N)filer
   )
isinstancer   r   urlsplitscheme)uris    r   can_retriever      s)    #snnS!zz\))r   c                     t        | t              rt        j                  |       } t	        | d      \  } }| j
                  j                  d      S )Nr
   zip)r   r   r   r   
expand_uripathendswith)r   _s     r   uri_is_zipfiler       s?    #snnS!R FC88U##r   c                    | j                   dk(  r| j                  j                  d      }dj                  |      }|s(|}t	        |      dkD  rdj                  |g|dd  z         }t        j                  dddj                  | j                        dd      } | |fS | j                   d	k(  r| j                  j                  d      }dj                  |      }|rt        j                  d
|i      }nlt	        |      dkD  rZt        j                  d
dj                  |dd        i      }dj                  |g|dd  z         }dj                  |g|dd  z         }nd}|}t        j                  dddj                  ||      |d      } | |fS )Ngh/z{0[1]}-masterr   httpsz
github.comz{}/archive/master.zipr
   glr   -z
gitlab.comz'/{0[0]}/{0[1]}/-/archive/master/{1}.zip)	r   r   splitformatlenjoinr   SplitResult	urlencode)r   subpath
path_partsmasterqssubpath_roots         r   r   r      s   
zzTXX^^C(
 ''
3G:"((G9z!"~#=>\#:#A#A#((#KRQS
4 <- 
t	 XX^^C(
 ''
3&'!23B_q &#((:ab>*B!CDB88VHz!"~$=>Lhh~
12>?GBG5<<ZP
 <r   c                 6   t        j                  |       }t        |      st        dj	                  |             t        ||      \  }}|j                         } t        ||      }t        |      }|j                         rhdj                  g d      }dj	                  |j                        }t        dj	                  ||            }|dk(  s|dk(  r||fS |dk(  rnt        d	      t        d
|        t        d|       t        j                  | |       ||fS )r	   zURI not supported: {}
)z1) Use existingz2) Overwritez	3) Cancelztarget file: {} already existsz-{}
Options:
{}
Choose an option ([1], 2, 3): 1r
   2zAborted by userz
Download: z
Into    : )r   r   r   r   r(   r   geturlabs_from_urlr   existsr*   nameinputprintr   urlretrieve)r   r   r-   r   target_pathnamesquestionreplys           r   r   r   G   s    ..
 C+226:;;c7+LCZZ\FsF+KF		JK3::;;K;KL>EEhPUV
 C<5B;7?"c\)**	,	,'7?r   c                     t        | t              rt        j                  |       } |rt	        |      j                         }|S t	        t	        | j                        j                        j                         }|S )N)r   r   r   r   r   absoluter   r9   )r   r   s     r   r7   r7   j   s^    #snnS!f&&( M d388n))*335Mr   c                     | j                  dd      }|j                  dt        d       |j                  dt        dd	d
       |j                  t               y )Ngetz#Download source and store as target)helpr   z
source URL)typerE   r   ?r
   z
target dir)rF   nargsdefaultrE   )func)
add_parseradd_argumentr   set_defaultsr   )
subparsersparsers     r   setuprP   t   sW    ""5/T"UF
s>
s#rU
X&r   N)pathlibr   urllibr   r   errorsr   build_openeropener
addheadersinstall_openerr   r   r    r   r   r7   rP    r   r   <module>rY      s^     ! 				23    v =*$%P F'r   