B
    T[N                 @   sp   d Z ddlmZ ddlmZ ddlZedZdZ	dZ
dd	 ZdddZdddZdddZdd Zdd ZdS )z'
Created on Aug 8, 2013

@author: sean
    )unicode_literals)parseNzbinstar.pprintz{     %(full_name)-25s | %(latest_version)8s | %(access)-12s | %(package_types)-15s | %(conda_platforms)-15s | %(builds)-10szk     %(full_name)-25s | %(latest_version)8s | %(package_types)-15s | %(conda_platforms)-15s | %(builds)-10sc             C   s*   t d x| D ]}t d|  qW d S )NzOrganizations:z   + %(login)25s)loggerinfo)ZorgsZorg r   Zlib/python3.7/site-packages/anaconda_client-1.7.2-py3.7.egg/binstar_client/utils/pprint.pypprint_orgs   s    

r   TFc             C   s>   dddddddd}| rt nt}|r,d	| }t||  d S )
NNameZAccesszPackage TypesZVersionZ	PlatformsZRevZBuilds)	full_nameaccesspackage_typeslatest_versionconda_platformsrevisionbuildsz%(revision)-6s | )
fmt_accessfmt_no_accessr   r   )r   	revisionspackage_headerfmtr   r   r   pprint_package_header   s    r   c             C   s  |   } | drdn| d r"dnd| d< | drPddd | d D | d< |s`| d	 | d
< | drddd | d D | d< | drddd | d D | d< nd| d< |rtnt}|rd| }t||   | drtdd| d   d S )NZ	publishedpublicprivater   r   z, c             s   s   | ]}|d k	rt |V  qd S )N)str).0xr   r   r   	<genexpr>.   s    z!pprint_package.<locals>.<genexpr>namer
   r   c             s   s   | ]}|d k	rt |V  qd S )N)r   )r   r   r   r   r   r   4   s    r   c             s   s   | ]}|d k	rt |V  qd S )N)r   )r   r   r   r   r   r   7   s     z%(revision)-6s | Zsummaryz"                                  z        : %s)copygetjoinr   r   r   r   )packager   r
   r   r   r   r   r   pprint_package(   s"    "



r#   c                s   | rt d n
t d |r"tnt}|r2d| }t||d ddddddd	d
}t ||  x,t|  fdddD ]}t|| |d qvW d S )Nz	Packages:zNo packages foundz%(revision)-6s | )r   z-------------------------z------------z------z---------------z
----------)r
   r   r   r   r   r   r   c                s    r| d S | d S )Nr
   r   r   )pkg)r
   r   r   <lambda>[   s    z!pprint_packages.<locals>.<lambda>)key)r   )r   r   r   r   r   sortedr#   )Zpackagesr   r
   r   r   r   r"   r   )r
   r   pprint_packagesD   s"    
r(   c             C   sX   |   } td| d tdt| d  x|  D ]}td|  q>W d S )NzUsername: %sZloginzMember since: %sZ
created_atz	  +%s: %s)r   r   r   pop
parse_dateZctimeitems)user	key_valuer   r   r   pprint_user_   s
    r.   c             C   sB   | rt d x.| D ]&}|d r$dnd|d< t d|  qW d S )NzCollections:r   r   Z
permissionz1   + %(name)25s: [%(permission)s] %(description)s)r   r   )collectionsZ
collectionr   r   r   pprint_collectionsh   s
    

r0   )TF)TTF)TTF)__doc__Z
__future__r   Zdateutil.parserr   r*   ZloggingZ	getLoggerr   r   r   r   r   r#   r(   r.   r0   r   r   r   r   <module>   s   



	