a
    K56a¶
  ã                   @   sR   d dl mZ ddlmZ ddlmZ d dlmZ dZG dd„ deƒZ	dd
d„Z
d	S )é    )Ú
HTMLParseré   )Úutils)Úopen_url)Ú	NoNetworkz2https://buildd.debian.org/build.php?arch=%s&pkg=%sc                   @   s>   e Zd Zdd„ Zdd„ Zdd„ Zddd	„Zd
d„ Zdd„ ZdS )ÚBuilddParserc                 C   s    t  | ¡ i | _d | _d| _d S )NF)r   Ú__init__ZversionsÚsavedataÚfound_succeeded©Úself© r   ú7/usr/lib/python3/dist-packages/reportbug/checkbuildd.pyr   %   s    
zBuilddParser.__init__c                 C   s   | j d ur| j | | _ d S )N©r	   )r   Údatar   r   r   Úhandle_data.   s    
zBuilddParser.handle_datac                 C   s
   d| _ d S )NÚ r   r   r   r   r   Úsave_bgn3   s    zBuilddParser.save_bgnr   c                 C   s*   | j }d | _ |s&|d ur&d | ¡ ¡}|S )Nú )r	   ÚjoinÚsplit)r   Úmoder   r   r   r   Úsave_end6   s
    zBuilddParser.save_endc                 C   s   |dkr|   ¡  d S )NÚtd)r   )r   ÚtagÚattrsr   r   r   Úhandle_starttag=   s    zBuilddParser.handle_starttagc                 C   s*   |dkr&|   ¡ }|r&d| ¡ v r&d| _d S )Nr   Z
successfulT)r   Úlowerr
   )r   r   r   r   r   r   Úhandle_endtagA   s    zBuilddParser.handle_endtagN)r   )	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r   r   $   s   	
r   Nc                 C   sX   |st  ¡ }ztt|| f ||ƒ}W n ty8   Y dS 0 |sBdS tƒ }| |¡ |jS )z>Return True if built in the past, False otherwise (even error)F)r   Zget_archr   Ú
BUILDD_URLr   r   Zfeedr
   )Zsrc_packageZtimeoutZarchZ
http_proxyZpageÚparserr   r   r   Úcheck_builtH   s    
r$   )NN)Zhtml.parserr   r   r   Zurlutilsr   Zreportbug.exceptionsr   r"   r   r$   r   r   r   r   Ú<module>   s   $