a
    8Wa                     @   sl   d Z ddlZddlZddlmZ ddlmZ eeZ	e	
 ejkZddddZd	d
 Zdd Zdd ZdS )z
Optimized images (jpg and png)
Assumes that jpegtran and optipng are isntalled on path.
http://jpegclub.org/jpegtran/
http://optipng.sourceforge.net/
Copyright (c) 2012 Irfan Ahmad (http://i.com.pk)
    N)call)signals)z7svgo {flags} --input="{filename}" --output="{filename}"--quiet )zUjpegtran {flags} -copy none -optimize -progressive -outfile "{filename}" "{filename}"r   z-v)zoptipng {flags} "{filename}"r   r   )z.svgz.jpgz.pngc                 C   sL   t | jd D ]6\}}}|D ]&}t j|d t v rt|| qqdS )zP
    Optimized jpg and png images

    :param pelican: The Pelican instance
    OUTPUT_PATH   N)oswalksettingspathsplitextCOMMANDSkeysoptimize)pelicandirpath_	filenamesname r   V/var/www/html/pharmacie-a-vendre.fr/pelican-plugins/optimize_images/optimize_images.pyoptimize_images   s    r   c                 C   sb   t j| |}td| t j|d }t| \}}}tr@|n|}|j||d}t	|dd dS )z
    Check if the name is a type of file that should be optimized.
    And optimizes it if required.

    :param dirpath: Path of the file to be optimzed
    :param name: A file name to be optimized
    zoptimizing %sr   )filenameflagsT)shellN)
r   r   joinloggerinfor   r   SHOW_OUTPUTformatr   )r   r   filepathextcommandsilentverboser   r   r   r   r   *   s    r   c                   C   s   t jt d S )N)r   	finalizedconnectr   r   r   r   r   register<   s    r'   )__doc__loggingr   
subprocessr   r   r   	getLogger__name__r   getEffectiveLevelDEBUGr   r   r   r   r'   r   r   r   r   <module>   s   
