U
    $P‘ft  ã                   @   s4   d dl mZ d dlZddlmZ G dd„ deƒZdS )é    )Úunicode_literalsNé   )ÚPostProcessorc                       s,   e Zd Z‡ fdd„Zdd„ Zdd„ Z‡  ZS )ÚMetadataFromTitlePPc                    s6   t t| ƒ |¡ || _t d|¡r,|  |¡n|| _d S )Nz	%\(\w+\)s)Úsuperr   Ú__init__Ú_titleformatÚreÚsearchÚformat_to_regexÚ_titleregex)ÚselfÚ
downloaderZtitleformat©Ú	__class__© úN/tmp/pip-unpacked-wheel-7zdooeg3/youtube_dl/postprocessor/metadatafromtitle.pyr   	   s    
ÿþzMetadataFromTitlePP.__init__c                 C   sx   d}d}t  d|¡D ]<}|t  ||| ¡ … ¡7 }|d| d¡ d 7 }| ¡ }q|t|ƒk rt|t  ||d… ¡7 }|S )z“
        Converts a string like
           '%(title)s - %(artist)s'
        to a regex like
           '(?P<title>.+)\ \-\ (?P<artist>.+)'
        r   Ú z%\((\w+)\)sz(?P<r   z>.+)N)r	   ÚfinditerÚescapeÚstartÚgroupÚendÚlen)r   ÚfmtÚlastposÚregexÚmatchr   r   r   r      s    
z#MetadataFromTitlePP.format_to_regexc                 C   s~   |d }t  | j|¡}|d kr8| j d| j ¡ g |fS | ¡  ¡ D ]0\}}|||< | j d||d k	rj|ndf ¡ qDg |fS )NÚtitlez6[fromtitle] Could not interpret title of video as "%s"z[fromtitle] parsed %s: %sZNA)r	   r   r   Z_downloaderZ	to_screenr   Ú	groupdictÚitems)r   Úinfor   r   Ú	attributeÚvaluer   r   r   Úrun"   s"    ÿÿÿÿzMetadataFromTitlePP.run)Ú__name__Ú
__module__Ú__qualname__r   r   r$   Ú__classcell__r   r   r   r   r      s   r   )Ú
__future__r   r	   Úcommonr   r   r   r   r   r   Ú<module>   s   