U
    Hc                     @   sf   d dl Z d dlZd dlmZ G dd deZdddZedkrbedd	Ze	d
 d dl
Z
e
  dS )    N)EasyDictc                       s2   e Zd ZdZd	 fdd	Zdd Zdd Z  ZS )

YamlParserz0
    This is yaml parser based on EasyDict.
    Nc              	      sb   |d kri }|d k	rNt j|s$tt|d}|t|  W 5 Q R X t	t
| | d S Nr)ospathisfileAssertionErroropenupdateyamlloadreadsuperr   __init__)selfZcfg_dictconfig_filefo	__class__ C/var/www/html/VideoAnalyticsDashboard/src/deep_sort/utils/parser.pyr      s    zYamlParser.__init__c              	   C   s.   t |d}| t|  W 5 Q R X d S r   )r
   r   r   	safe_loadr   )r   r   r   r   r   r   merge_from_file   s    zYamlParser.merge_from_filec                 C   s   |  | d S )N)r   )r   Zconfig_dictr   r   r   merge_from_dict   s    zYamlParser.merge_from_dict)NN)__name__
__module____qualname____doc__r   r   r   __classcell__r   r   r   r   r      s   r   c                 C   s
   t | dS )Nr   )r   r    r   r   r   
get_config   s    r!   __main__z../configs/yolov3.yamlr    z../configs/deep_sort.yaml)N)r   r   Zeasydictr   Zedictr   r!   r   cfgr   Zipdb	set_tracer   r   r   r   <module>   s   


