B
    lc                 @  sX   d dl mZ d dlZd dlZd dlZd dlZd dlZdd Zdd Z	dd Z
d	d
 ZdS )    )annotationsNc          	   C  s   t jddd}|jddddd || }tj tjtjd d	 d
	tj
d
d d d
	tj
d
d d d}|jrxJt|D ]}t| d||   qW n"td|d  d|d  d  d S )NzShown informationzdials.data info)descriptionprogz-vz	--verbose
store_truez+show more output in machine readable format)actionhelp   .   )zrepository.locationzversion.fullzversion.commitzversion.majorzversion.major_minor=z 
DIALS regression data manager vzversion.fullz

repository location: zrepository.location
)argparseArgumentParseradd_argument
parse_args
dials_datadatasetsrepository_location__version__
__commit__joinsplitverbosesortedprintstrip)cmd_argsparserargsZinformationk r    -lib/python3.7/site-packages/dials_data/cli.pycli_info   s&    

r"   c          
   C  s  t jddd}|jddd |jddd	d
 |jddddd
 |jdddd
 || }|jrn|jrntd |js|	  td t
|jt
tjj }|rtdd| tj }|jstd| d x|jD ]}|jstd|  tjj||j|jd}|s td|  |jrl|js@td| d t| dd}tj||dd W d Q R X |jrt||  qtd| d||  qW d S ) NzDownload datasetszdials.data get)r   r   dataset*)nargsz--create-hashinfor   zSgenerate file integrity information for specified datasets in the current directory)r   r   z-qz--quietzmachine readable outputz--verifyz&verify integrity of downloaded datasetz9Parameter --create-hashinfo can not be used with --verifyr   zUnknown dataset: {}z, zRepository location: r   zDownloading dataset )Zignore_hashinfoverifyzError downloading dataset z&Writing file integrity information to z.ymlwF)Zdefault_flow_stylezDataset z stored in )r   r   r   r   r&   Zcreate_hashinfosysexitr#   
print_helpsetr   r   
definitionformatr   r   quietr   ZdownloadZfetch_datasetopenyamldumpZjoinpath)r   r   r   Zunknown_dataZ
repositoryZdsZhashinfoZfhr    r    r!   cli_get-   sL    




r2   c             C  sh   t jddd}|jdddd |jdd	dd
d || }|jrJtjj}ntjj}tjj	||j
d d S )NzShow dataset informationzdials.data list)r   r   z--missing-hashinfor   z5only list datasets without file integrity information)r   r   z-qz--quietzmachine readable output)r.   )r   r   r   r   Zmissing_hashinfor   r   Zfileinfo_dirtyr,   Zlist_known_definitionsr.   )r   r   r   Zds_listr    r    r!   cli_list_   s    


r3   c              C  s   t jr t jd t jd d  } n
t jd } tjddj| dtjd}|jdtjd	 t	j
d
d }|sx|  t	d ||}t d|j }|r|t	j
dd  S |  t  t	d|j  d S )Nz-gr   z-devzdials.data <command> [<args>]a  DIALS regression data manager v{version}

The most commonly used commands are:
   list     List available datasets
   get      Download datasets

Each command has its own set of parameters, and you can get more information
by running dials.data <command> --help

)version)usager   formatter_class
subcommand)r      r
   r   Zcli_zUnrecognized command: )r   r   r   r   r   r-   RawTextHelpFormatterr   SUPPRESSr(   argvr*   r)   r   globalsgetr7   r   )r4   r   Z
parametersr   r7   r    r    r!   mains   s(    




r>   )Z
__future__r   r   r(   r0   Zdials_data.datasetsr   Zdials_data.downloadr"   r2   r3   r>   r    r    r    r!   <module>   s   !2