U
    Dvf	                     @   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   ;/tmp/pip-unpacked-wheel-qlge9rch/fontTools/merge/options.pyUnknownOptionError   s   r   c                 K   s4   d| _ d| _g | _d | _d| _d | _| jf | d S )NFz
merged.ttf)verboseZtimingZdrop_tablesZ
input_fileZoutput_fileZimport_fileset)selfkwargsr   r   r   __init__
   s    zOptions.__init__c                 K   s:   |  D ],\}}t| |s(| d| t| || qd S )NUnknown option '%s')itemshasattrr   setattr)r
   r   kvr   r   r   r	      s    
zOptions.setc                 C   s  g }i }|D ]}|}| ds,|| q|dd  }|d}d}|dkrt| drj|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	r0t	|
}
nt|t
r|
d}|dgkrVg }dd |D }|dkrt|}
nT|dkr|}
|
| n:|dkr|}
|D ]}||
kr|
| qn
dst|
||	< q| jf | |S )Nz--   =zno-   FTz-+   -_r   , c                 S   s.   g | ]&}t |r&|d  dkr&t|d n|qS )    
0123456789)lenint).0xr   r   r   
<listcomp>D   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_unknownretoptsaZorig_aiopr   r   okovvvr!   r   r   r   
parse_opts   sh    
















zOptions.parse_optsN)r   r   r   	Exceptionr   r   r	   r8   r   r   r   r   r      s   
r   N)objectr   r   r   r   r   <module>       