U
    H©I^€  ã                   @   sp   d Z ddlZddlmZ eddƒ ddlmZ dd„ Zed	krlddlZe 	¡ \Z
Ze
rbe d
¡ n
e d¡ dS )z&
Utility functions used in ibus-table
é    N)Úrequire_versionÚGLibz2.0)r   c                 C   sŽ   t | ƒtjkr| S |  ¡ }|dkr*|  ¡ S |dkr:|  ¡ S |dkrJ|  ¡ S |dkr~t tj g ¡ ¡ ƒt	krv|  ¡ d S |  ¡ S t
d| ƒ | S )z+
    Convert a GLib variant to a value
    ÚsÚiÚbÚasr   zerror: unknown variant type: %s)Útyper   ZVariantZget_type_stringZ
get_stringZ	get_int32Zget_booleanZnew_strvZdup_strvÚtupleÚprint)ZvariantZtype_string© r   ú'/usr/share/ibus-table/engine/it_util.pyÚvariant_to_value!   s    r   Ú__main__é   )Ú__doc__ÚsysZgir   Zgi.repositoryr   r   Ú__name__ZdoctestZtestmodZFAILEDZ	ATTEMPTEDÚexitr   r   r   r   Ú<module>   s   
