ó
b=0Yc           @   s¸   d  Z  d d l Z d d l m Z d d l m Z m Z d d l m Z d „  Z	 d d „ Z
 d	 „  Z e d
 k r´ d d l Z e ƒ  \ Z Z e r› e GHn  e r´ e j e ƒ q´ n  d S(   s5   
CloudLinux control panel API command line interface
iÿÿÿÿN(   t   cpapi(   t   prepare_data_jsont   prepare_attention_json(   t   cpapiexceptionsc       	   C   sÕ   t  j d d ƒ }  |  j d d d d d t d d	 ƒ|  j d
 d ƒ } | j d ƒ } | j d d d ƒ| j d ƒ } | j d d d ƒ| j d ƒ } | j d d d d d ƒ| j d d d d t d d ƒ|  S(   Nt   descriptions>   %(prog)s - CloudLinux control panel API command line interfaces   -js   --jsont   actiont
   store_truet   defaultt   helps   Output in json formatt   destt   commandt   docroott   domains   Return document root for domaint   userdomainss<   Return domain and document root pairs for control panel usert   dblogin_cplogin_pairss   --cplogin_lstt   nargst   *s$   Return mapping for this system userss   --with_system_userss   Show system users in output(   t   argparset   ArgumentParsert   add_argumentt   Falset   add_subparserst
   add_parser(   t   parsert
   subparserst   docroot_parsert   userdomains_parsert   dblogin_cplogin_pairs_parser(    (    s:   /usr/lib/python2.7/site-packages/clcommon/cpapi/clcpapi.pyt   cpapi_parser   s    "t    c            s   d j  t ‡  f d †  |  ƒ ƒ S(   Ns   
c            s   ˆ  j  |  ƒ S(   N(   t   join(   t   tuple_(   t   sep(    s:   /usr/lib/python2.7/site-packages/clcommon/cpapi/clcpapi.pyt   <lambda>#   s    (   R   t   map(   t   dataR    (    (   R    s:   /usr/lib/python2.7/site-packages/clcommon/cpapi/clcpapi.pyt
   flat_plain"   s    c    
      C   s‘  t  ƒ  }  |  j ƒ  } d  } d } y| j d k r‚ t j | j ƒ \ } } | j rq t i | d 6| d 6ƒ } q0| d | } n® | j d k râ t j	 | j	 ƒ } | j rÓ t
 t d „  | ƒ ƒ } t | ƒ } q0t | ƒ } nN | j d k r0t j | j | j ƒ } | j r!t | ƒ } q0t | ƒ } n  WnS t j t j f k
 r†}	 | j rmt t |	 ƒ ƒ } q‡d	 } d
 t |	 ƒ } n X| | f S(   Ni    R   R   t   userR   R   c         S   s   |  \ } } i | d 6| d 6S(   NR   R   (    (   t   .0R   R   (    (    s:   /usr/lib/python2.7/site-packages/clcommon/cpapi/clcpapi.pyR!   5   s    R   i   s   ERROR: (   R   t
   parse_argst   NoneR
   R    R   R   t   jsonR   R   t   listR"   R$   R   t   cplogin_lstt   with_system_usersR   t   NotSupportedt   NoDomainR   t   str(
   R   t	   namespacet   output_t	   exit_codeR   R%   t   domain_docroot_pairsR#   t
   db_mappingt   e_(    (    s:   /usr/lib/python2.7/site-packages/clcommon/cpapi/clcpapi.pyt   main&   s8    					t   __main__(   t   __doc__R   t   clcommonR    t   clcommon.cloutputR   R   t   clcommon.cpapiR   R   R$   R6   t   __name__t   sysR1   R2   t   exit(    (    (    s:   /usr/lib/python2.7/site-packages/clcommon/cpapi/clcpapi.pyt   <module>   s   		#