3
Z$
                 @   s   d dl Z d dlZd dlZG dd dZd dlZd dlZejejdd d\ZZ	e
e	dk r~ejjejd  ZejjedgZ	d Zx e	D ]ZeeZej sdZqW eje dS )    Nc               @   s   e Zd Zdd Zdd ZdS )	Validatorc             C   s
   || _ d S )N)	_filename)selffilename r   0/usr/share/system-config-printer/xml/validate.py__init__   s    zValidator.__init__c             C   s  | j }td|  tjjjt|j }|j \}}d}t	 }x$|j D ]}|j
d}|j| qHW x|j D ]x}	g }
|	jd}|d k	r|
j|j  |	jd}|d k	r|
j|j  x.|
D ]&}|jj }tj||}|t	|8 }qW qnW x"|D ]}d}td| tjd qW |S )	NzValidating %sTnamedrivers	blacklistFz"*** Driver type "%s" is never used)file)r   printxmlZetreeZElementTreeZXMLopenreadZgetchildrensetgetaddfindextendtextstripfnmatchfiltersysstderr)r   r   ZpreferreddriversZdrivertypesZpreferenceorderZ	validatesnamesZ
drivertyper	   Zprintertypesr
   r   patternZmatchesr   r   r   validate"   s4    





zValidator.validateN)__name__
__module____qualname__r   r   r   r   r   r   r      s   r       zpreferreddrivers.xml)r   r   Zxml.etree.ElementTreer   r   ZgetoptosargvZoptsargslenpathdirnamejoinZexitcoder   Z	validatorr   exitr   r   r   r   <module>   s   &
