Your IP : 216.73.216.213
B
A!p\� � @ s� d Z ddlmZ ddlZddlZddlZddlmZ ddlm Z m
Z
ddlmZ ddl
mZ ddlmZ d ed
ddd
dddd�fdeddddg dd�fdedddddd�fded dd!d"�fd#ed$dd%dd&d�fd'ed(dd)d"�fd*ed+d,d-d.d/�fd0ed1dd2d3d4d5�fd6ed7d,d-d8d/�fd9ed:d;dd<d=d>d?�fd@dAdBdCdDdEdF�fdGdHd
dIdJdKdL�ffZdMdN� ZG dOdP� dPe�ZedQk�r�eejdRd� � dS )Sz[
%prog [options] <packages>
create UML diagrams for classes and modules in <packages>
� )�print_functionN)�ConfigurationMixIn)�Linker�project_from_files)�DiadefsHandler)�writer)�insert_default_optionszfilter-mode�fZPUB_ONLY�mode�string�storez<mode>a� filter attributes and functions according to
<mode>. Correct modes are :
'PUB_ONLY' filter all non public attributes
[DEFAULT], equivalent to PRIVATE+SPECIAL_A
'ALL' no filter
'SPECIAL' filter Python special functions
except constructor
'OTHER' filter protected and private
attributes)�short�default�dest�type�action�metavar�help�class�c�appendz<class>�classeszbcreate a class diagram with all classes related to <class>; this uses by default the options -ASmy)r
r r r r r zshow-ancestors�az
<ancestor>�intzAshow <ancestor> generations of ancestor classes not in <projects>)r
r r r r z
all-ancestors�Az0show all ancestors off all classes in <projects>)r
r r zshow-associated�sz<association_level>zGshow <association_level> levels of associated classes not in <projects>zall-associated�Sz:show recursively all associated off all associated classeszshow-builtin�b�
store_trueFz4include builtin objects in representation of classes)r
r r r zmodule-names�mZynz[yn]z0include module name in representation of classes)r
r r r r zonly-classnames�kzMdon't show attributes and methods in the class boxes; this disables -f values�output�o�
output_format�dotz<format>z4create a *.<format> output file if format available.)r
r r r r r �ignoreZcsvz<file[,file...]>�
black_list)�CVSzPAdd files or directories to the blacklist. They should be base names, not paths.)r r r r r �project� �pz<project name>zset the project name.)r r r
r r c C sL yt jddgt jt jd� W n* tk
rF td| � t�d� Y nX dS )z5check if we need graphviz for different output formatr$ z-V)�stdout�stderrz~The output format '%s' is currently not available.
Please install 'Graphviz' to have other output formats than 'dot' or 'vcg'.� N)�
subprocess�call�PIPE�OSError�print�sys�exit)r# � r5 �F/opt/alt/python37/lib/python3.7/site-packages/pylint/pyreverse/main.py�_check_graphviz_available� s r7 c @ s$ e Zd ZdZeZdd� Zdd� ZdS )�Runz<base class providing common behaviour for pyreverse commandsc C sH t j| td� t� | �� }| jjdkr4t| jj� t� | �
|�� d S )N)�usage)r$ �vcg)r �__init__�__doc__r Zload_command_line_configuration�configr# r7 r3 r4 �run)�self�argsr5 r5 r6 r; � s zRun.__init__c C s� |st | �� � dS tj�dt�� � z<t|| jj | jj
d�}t|dd�}t| j�}|�
||�}W dtj�d� X | jjdkr�t�| j��|� nt�| j��|� dS )z"checking arguments and run project� r )�project_namer&