EVOLUTION-MANAGER
Edit File: jars.cpython-36.pyc
3 �f� � @ s^ d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm Z m Z G dd� dee �ZdS )� N)�partial)�Plugin�RedHatPlugin� PluginOptc @ sj e Zd ZdZdZdZeddedd�edd d d�gZdZ dZ dd� Zedd� �Z edd� �Zedd� �ZdS )�Jarsz1Collect information about available Java archives�jars�java�append_locations� z,colon-delimited list of additional JAR paths)�defaultZval_type�desc�all_known_locationsFzscan all known paths)r r �/usr/share/java� /usr/lib/java�/opt� /usr/local�/var/libc C s dg i}g }t tj�}| jd�r.|t tj�7 }| jd�}|rJ||jd�7 }xT|D ]L}xFtj|�D ]8\}}}x,|D ]$} | j|| �} tj | �rp|j | � qpW q`W qPW xB|D ]:}tj|�}tj|�} |s�| r�|| |d�}|d j |� q�W t j|dd d �}| j|d dd� d S )Nr r r �:)�path�sha1�maven_id� �,�: )�indentZ separatorsz jars.jsonT)Zplug_dir)r r )�listr � jar_locationsZ get_option�extra_jar_locations�split�os�walkZ path_join�is_jar�append�get_maven_id� get_jar_id�json�dumpsZadd_string_as_file)�self�resultsZ jar_pathsZ locationsZuser_locations�location�dirpath�_� filenames�filenamer �jar_pathr �jar_id�recordZresults_str� r1 �/usr/lib/python3.6/jars.py�setup1 s0 z Jars.setupc C s` t jj| �r\tj| �r\y*tj| ��}d|j� kr4dS W dQ R X W n ttjfk rZ Y nX dS )z�Check whether given file is a JAR file. JARs are ZIP files which usually include a manifest at the canonical location 'META-INF/MANIFEST.MF'. zMETA-INF/MANIFEST.MFTNF) r r �isfile�zipfileZ is_zipfile�ZipFile�namelist�IOErrorZ BadZipfile)r �filer1 r1 r2 r! T s zJars.is_jarc s� i }y�t j| ���}tjd�� � fdd�|j� D �}t|�dkrBdS |j|d ��v}xn|j� D ]b}|j� }|j d�s\y6|j d�\}}|jd �j� }|jd �j� }|||<