B
    Scy                 @   s   G d d de ZdS )c               @   s8   e Zd ZG dd deZdd Zdd Zg fddZd	S )
Optionsc               @   s   e Zd ZdS )zOptions.UnknownOptionErrorN)__name__
__module____qualname__ r   r   6lib/python3.7/site-packages/fontTools/merge/options.pyUnknownOptionError   s   r   c             K   s"   d| _ d| _g | _| jf | d S )NF)verboseZtimingZdrop_tablesset)selfkwargsr   r   r   __init__   s    zOptions.__init__c             K   s>   x8|  D ],\}}t| |s*| d| t| || q
W d S )NzUnknown option '%s')itemshasattrr   setattr)r
   r   kvr   r   r   r	      s    
zOptions.setc             C   s  g }i }x|D ]}|}| ds0|| q|dd  }|d}d}|dkrx| drn|dd  }	d}
q|}	d}
n@|d | }	|	d d	kr|	d d }|	d d }	||d
 d  }
|	}|	dd}	t| |	s|dks||kr|| qn| d| t| |	}t|trt|
}
nt|t	r4t	|
}
nt|t
r|
d}|dgkrZg }dd |D }|dkrx|}
nX|dkr|}
|
| n>|dkr|}
x.|D ]}||
kr|
| qW n
dst|
||	< qW | jf | |S )Nz--   =zno-   FTz-+   -_zUnknown option '%s', c             S   s.   g | ]&}t |r&|d  dkr&t|d n|qS )    
0123456789)lenint).0xr   r   r   
<listcomp>C   s    z&Options.parse_opts.<locals>.<listcomp>z+=z-=r   )
startswithappendfindreplacer   r   getattr
isinstanceboolr   listsplitextendremoveAssertionErrorr	   )r
   argvZignore_unknownZretZoptsaZorig_aiopr   r   okZovZvvr    r   r   r   
parse_opts   sh    















zOptions.parse_optsN)r   r   r   	Exceptionr   r   r	   r3   r   r   r   r   r      s   r   N)objectr   r   r   r   r   <module>       