ó
éÐLac           @   sö   d  d l  Z  d  d l Z d  d l Z d Z Z e e j d e ƒ ƒ Z d Z	 d Z
 d Z d Z d e f d	 „  ƒ  YZ d
 Z d d d e e d d g d e d d d d d d d d d d d e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿNs   1.4.2s   [.-]s   2020-10-10 08:15:56t
   pypiservers4   A minimal PyPI server for use with pip/easy_install.s(   https://github.com/pypiserver/pypiservert   Configurationc           B   s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   sA   
    .. see:: config-options: :func:`pypiserver.configure()`
    c         K   s   t  |  ƒ j | ƒ d  S(   N(   t   varst   update(   t   selft   kwds(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   __init__   s    c         O   s   d t  |  ƒ S(   Ns   Configuration(**%s)(   R   (   R   t   argst   kwargs(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   __repr__   s    c         O   s-   d d j  d „  t t |  ƒ j ƒ  ƒ Dƒ ƒ S(   Ns   Configuration:
%ss   
c         s   s%   |  ] \ } } d  | | f Vq d S(   s	   %20s = %sN(    (   t   .0t   kt   v(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pys	   <genexpr>   s   (   t   joint   sortedR   t   items(   R   R   R   (    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   __str__   s    c         C   s8   t  | t ƒ r | n	 t | ƒ } t |  ƒ j | ƒ d  S(   N(   t
   isinstancet   dictR   R   (   R   t   propst   d(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyR      s    !(   t   __name__t
   __module__t   __doc__R   R	   R   R   (    (    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyR      s
   			t   autos   0.0.0.0i  R   t   md5i   t   stderrs9   %(asctime)s|%(name)s|%(levelname)s|%(thread)d|%(message)ss   %(bottle.request)ss
   %(status)ss&   %(body)s: %(exception)s 
%(traceback)sc         C   s   t  ƒ  S(   sÙ  
    Fetch default-opts with overridden kwds, capable of starting-up pypiserver.

    Does not validate overridden options.
    Example usage::

        kwds = pypiserver.default_config(<override_kwds> ...)
        ## More modifications on kwds.
        pypiserver.app(**kwds)``.

    Kwds correspond to same-named cmd-line opts, with '-' --> '_' substitution.
    Non standard args are described below:

    :param return_defaults_only:
            When `True`, returns defaults, otherwise,
            configures "runtime" attributes and returns also the "packages"
            found in the roots.
    :param root:
            A list of paths, derived from the packages specified on cmd-line.
            If `None`, defaults to '~/packages'.
    :param redirect_to_fallback:
            see :option:`--disable-fallback`
    :param authenticated:
            see :option:`--authenticate`
    :param password_file:
            see :option:`--passwords`
    :param log_file:
            see :option:`--log-file`
            Not used, passed here for logging it.
    :param log_frmt:
            see :option:`--log-frmt`
            Not used, passed here for logging it.
    :param callable auther:
            An API-only options that if it evaluates to a callable,
            it is invoked to allow access to protected operations
            (instead of htpaswd mechanism) like that::

                auther(username, password): bool

            When defined, `password_file` is ignored.
    :param host:
            see :option:`--interface`
            Not used, passed here for logging it.
    :param port:
            see :option:`--port`
            Not used, passed here for logging it.
    :param server:
            see :option:`--server`
            Not used, passed here for logging it.
    :param verbosity:
            see :option:`-v`
            Not used, passed here for logging it.
    :param VERSION:
            Not used, passed here for logging it.

    :return: a dict of defaults

    (   t   locals(   t   roott   hostt   portt   servert   redirect_to_fallbackt   fallback_urlt   authenticatedt   password_filet	   overwritet	   hash_algot	   verbosityt   log_filet
   log_streamt   log_frmtt   log_req_frmtt   log_res_frmtt   log_err_frmtt   welcome_filet   cache_controlt   authert   VERSION(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   default_config%   s    Pc          K   sŠ   d d l  m } t d t ƒ  t ƒ  d g d ƒ } t j j d d ƒ t	 |    }  | j
 |    \ } } | | _ | | _ | | j _ | j S(   s¨   
    :param dict kwds: Any overrides for defaults, as fetched by
        :func:`default_config()`. Check the docstring of this function
        for supported kwds.
    i   (   t   coret   _appt   .s   pypiserver._appN(   t    R2   t
   __import__t   globalsR   t   syst   modulest   popt   NoneR1   t	   configuret   configt   packagest   appt   module(   R   R2   R3   R=   R>   (    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyR?   x   s    !		c         C   s,   |  d  k	 r( |  d k r( |  j ƒ  d k S| S(   NR5   t   not   offt   0t   false(   RA   RB   RC   RD   (   R;   t   lower(   t   st   default(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   str2boolŒ   s    c         C   s
   |  j  ƒ  S(   s5   Provide a generic strip method to pass as a callback.(   t   strip(   t   string(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt
   _str_strip’   s    c   
   	   K   sê   d „  } d „  } d „  } d t  d „ } d „  } t ƒ  } | | d | ƒ | | d | ƒ | | d	 | d
 d ƒ| | d | d
 d d | ƒ| | d | ƒ d d d d d d d d d g	 } x | D] }	 | | |	 | ƒ qÆ Wt |   S(   s'   Parse a paste config and return an app.c         S   s'   t  | j | d  ƒ |  | ƒ |  | <d  S(   N(   RH   R:   R;   (   t   conft   attrt   sdict(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   upd_conf_with_bool_itemš   s    c         S   s/   | j  | d  ƒ } | d  k	 r+ | |  | <n  d  S(   N(   R:   R;   (   RL   RM   RN   t   value(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   upd_conf_with_str_item   s    c         S   s5   | j  | d  ƒ } | d  k	 r1 t | ƒ |  | <n  d  S(   N(   R:   R;   t   int(   RL   RM   RN   RP   (    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   upd_conf_with_int_item¢   s    t    c         S   sJ   | j  | d  ƒ } | rF t t d  t | | j | ƒ ƒ ƒ ƒ |  | <n  d  S(   N(   R:   R;   t   listt   filtert   mapt   split(   RL   RM   RN   t   sept   parset   values(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   upd_conf_with_list_item§   s    c         S   s/   |  j  ƒ  }  |  j d ƒ r+ t j j |  ƒ S|  S(   Nt   ~(   RI   t
   startswitht   ost   patht
   expanduser(   R   (    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt
   _make_root¬   s    R$   R    R"   RY   R   s   
RZ   R&   R!   R%   R,   R'   R)   R*   R+   R#   R-   (   RK   R1   R?   (
   t   global_configt
   local_confRO   RQ   RS   R\   Rb   t   ct	   str_itemst   str_item(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   paste_app_factory—   s.    						c         C   si   | re d d d g } x1 | D]) } | j  | ƒ r | t | ƒ  } q q W| re |  j | | ƒ qe n  d  S(   Ns   
s   
s   
(   t   endswitht   lent   log(   t   loggert   levelt   msgt   line_endingst   le(    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt	   _logwriteÌ   s    (   R_   t   ret   _reR8   t   versiont   __version__t   tupleRX   t   __version_info__t   __updated__t	   __title__t   __summary__t   __uri__t   objectR   t   DEFAULT_SERVERR;   t   Truet   FalseR1   R?   RH   RK   Rh   Rq   (    (    (    sN   /var/www/html/packages/venv/lib/python3.8/site-packages/pypiserver/__init__.pyt   <module>   sH   
>				5