o
    í—›d®  ã                   @   sH   d dl Zd dlZd dlZd dlZd dlZG dd„ dƒZG dd„ dƒZdS )é    Nc                   @   s   e Zd Zdg di fdd„ZdS )ÚQuirkNÚ c                 C   s(   || _ || _|| _i  tjjd¡| _d S )Nr   )ÚidÚhandlerÚ	x_snippetÚfromkeysÚQuirksÚ	quirkinfoÚdmi_keysÚ
match_tags)Úselfr   r   r   r   © r   ú4/usr/lib/python3/dist-packages/Quirks/quirkreader.pyÚ__init__   s   zQuirk.__init__)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s    r   c                   @   s   e Zd Zddd„Zdd„ ZdS )Ú	ReadQuirkNc                 C   s´  || _ | j }|d krg }nt|dƒs"t|ddd}| ¡ }| ¡  n| ¡ }d}d}d}d}g | _d}	|D ]!}
|
 ¡  d¡r@q5|r9|r\|
 ¡  ¡  d¡rQd}q5| j|	  j	|
7  _	q5|sˆ|
 ¡  ¡  d	¡rˆd
}d	}|
|
 ¡  
|¡t|ƒ d …  ¡  dd¡}|| j|	 _~q5|s¹|
 ¡  ¡  d¡r¹d
}d}|
|
 ¡  
|¡t|ƒ d …  ¡  dd¡}| d¡}|| j|	 _~q5|
 ¡  ¡  d¡rd}|
|
 ¡  
|¡t|ƒ d …  ¡  d¡}d}d}g }|D ]!}| ¡ r|sï| ¡ }qá| ¡ }| d¡}|| j|	 j|<  nqá~~~q5|
 ¡  ¡  d¡rd
}d| j|	 _	q5|
 ¡  ¡  d¡r8d}| j|	 js4| j |	¡ q5|	d7 }	q5|
 ¡  ¡  d¡rWd|
 ¡ v rWd
}tƒ }| j |¡ ~q5q5d S )NÚwriteÚrzutf-8)ÚencodingFr   ú#ÚendxorgsnippetÚ
identifierTú"r   r   ú|ÚmatchÚxorgsnippetÚ
endsectioné   ÚsectionÚquirk)ÚsourceÚhasattrÚopenÚ	readlinesÚcloseÚ_quirksÚstripÚ
startswithÚlowerr   ÚrfindÚlenÚreplacer   Úsplitr   r   Úpopr   Úappend)r   r"   ÚfileÚ
lines_listÚmyfileÚinside_quirkÚhas_idÚhas_handlerÚinside_x_snippetÚitÚlineÚtemp_strr   r   Úhandlers_listÚ	temp_bitsÚ	tag_matchÚ	tag_valueÚ
tag_valuesÚelemÚ
temp_quirkr   r   r   r   &   s¬   



ÿÿ
ÿÿ
ÿ
ÿ


ø	€€¼zReadQuirk.__init__c                 C   s   | j S ©N)r'   )r   r   r   r   Ú
get_quirksƒ   s   zReadQuirk.get_quirksrB   )r   r   r   r   rC   r   r   r   r   r   $   s    
]r   )	Úxkit.xutilsÚxkitÚxkit.xorgparserÚQuirks.quirkinfor   ÚtempfileÚosr   r   r   r   r   r   Ú<module>   s   