Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/pkginfo/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/pkginfo/__pycache__/commandline.cpython-37.pyc

B

�ڦT��@s�dZyddlmZWn ek
r4ddlmZYnXddlmZddlZddlZddlZddl	m
Z
ddd�ZGdd	�d	e�Z
Gd
d�de
�ZGdd
�d
e
�ZGdd�de
�ZGdd�de
�Zeeeed�Zddd�ZdS)anPrint the metadata for one or more Python package distributions.

Usage:  %prog [options] path+

Each 'path' entry can be one of the following:

o a source distribution:  in this case, 'path' should point to an existing
  archive file (.tar.gz, .tar.bz2, or .zip) as generated by 'setup.py sdist'.

o a binary distribution:  in this case, 'path' should point to an existing
  archive file (.egg)

o a "develop" checkout:  in ths case,  'path' should point to a directory
  intialized via 'setup.py develop' (under setuptools).

o an installed package:  in this case, 'path' should be the importable name
  of the package.
�)�ConfigParser)�writerN)�get_metadatacCstjtd�}|jddddd�|jdddd	d
d�|jdd
ddd�|jddddddd�|jddddddd�|jdddd d!d�|jd"ddd#d$d%�|jd&d'd(d)d*d�|jd+d,d(d-d.d�|jd/ddd0d1d%�|jd2ddd3d4d%�|�|�\}}t|�d5k�r|�d6�n||fSdS)7N)�usagez-mz--metadata-versionzOverride metadata version)�default�helpz-fz--field�fields�appendz$Specify an output field (repeatable))�dest�actionrz-dz--download-url-prefix�download_url_prefixzDownload URL prefix)r
rz--simple�outputZstore_const�simplez Output as simple key-value pairs)r
r�constrrz-sz--skip�skip�
store_trueTz$Skip missing values in simple output)r
rrrz-Sz	--no-skipZstore_falsez*Don't skip missing values in simple outputz--single�singlezOutput delimited values)r
rrrz--item-delim�
item_delim�store�;z*Delimiter for fields in single-line outputz--sequence-delim�sequence_delim�,z!Delimiter for multi-valued fieldsz--csv�csvz
Output as CSVz--ini�iniz
Output as INIrz3Pass one or more files or directories as arguments.)�optparse�OptionParser�__doc__�
add_option�
parse_args�len�error)�args�parser�options�r$�D/opt/alt/python37/lib/python3.7/site-packages/pkginfo/commandline.py�_parse_optionssF





r&c@s eZdZdZdd�Zdd�ZdS)�BaseNcCs|jr|j|_dS)N)r�_fields)�selfr#r$r$r%�__init__^sz
Base.__init__cCsdS)Nr$)r)r$r$r%�finishbszBase.finish)�__name__�
__module__�__qualname__r(r*r+r$r$r$r%r'\sr'cs$eZdZ�fdd�Zdd�Z�ZS)�Simplecstt|��|�|j|_dS)N)�superr/r*r�_skip)r)r#)�	__class__r$r%r*fszSimple.__init__cCsLxF|jpt|�D]4}t||�}|jr4|dk	r|dkrtd||f�qWdS)Nr$z%s: %s)r(�list�getattrr1�print)r)�meta�field�valuer$r$r%�__call__js
zSimple.__call__)r,r-r.r*r9�
__classcell__r$r$)r2r%r/esr/cs(eZdZdZ�fdd�Zdd�Z�ZS)�
SingleLineNcs$tt|��|�|j|_|j|_dS)N)r0r;r*r�_item_delimr�_sequence_delim)r)r#)r2r$r%r*rszSingleLine.__init__cCst|jdkrt|�|_g}xF|jD]<}t||�}t|ttf�rJ|j�|�}nt|�}|�|�q Wt	|j
�|��dS)N)r(r3r4�
isinstance�tupler=�join�strr	r5r<)r)r6�valuesr7r8r$r$r%r9ws


zSingleLine.__call__)r,r-r.r(r*r9r:r$r$)r2r%r;psr;cs(eZdZdZ�fdd�Zdd�Z�ZS)�CSVNcstt|��|�|j|_dS)N)r0rCr*rr=)r)r#)r2r$r%r*�szCSV.__init__cCs�|jdkrt|�|_|j}|jdkr<ttj�|_|j�|�g}xD|D]<}t||�}t|t	tf�rp|j
�|�}nt|�}|�
|�qFW|j�|�dS)N)r(r3�_writerr�sys�stdoutZwriterowr4r>r?r=r@rAr	)r)r6rrBr7r8r$r$r%r9�s




zCSV.__call__)r,r-r.rDr*r9r:r$r$)r2r%rC�srCcs0eZdZdZ�fdd�Zdd�Zdd�Z�ZS)�ININcstt|��|�t�|_dS)N)r0rGr*r�_parser)r)r#)r2r$r%r*�szINI.__init__cCs�|j}|j}d||f}|j�|�r0td|��|j�|�xH|jpJt|�D]6}t||�}t	|t
tf�rrd�|�}|j�|||�qLWdS)Nz%s-%szDuplicate distribution: %sz
	)
�name�versionrH�has_section�
ValueError�add_sectionr(r3r4r>r?r@�set)r)r6rIrJ�sectionr7r8r$r$r%r9�s

zINI.__call__cCs|j�tj�dS)N)rH�writerErF)r)r$r$r%r+�sz
INI.finish)r,r-r.r(r*r9r+r:r$r$)r2r%rG�s
rG)rrrrcCs�t|�\}}t|dd�}t||�}xV|D]N}t||j�}|dkrDq*|jrp|jdkrptj�	|�}d|j|f|_||�q*W|�
�dS)z!Entry point for pkginfo tool
    r
rNz%s/%s)r&r4�_FORMATTERSr�metadata_versionr�download_url�os�path�basenamer+)r!r#�paths�format�	formatterrUr6�filenamer$r$r%�main�s


r[)N)N)r�configparserr�ImportErrorrrrrTrE�pkginforr&�objectr'r/r;rCrGrQr[r$r$r$r%�<module>s(
=