o
    [hI                     @   s:   d dl mZ d dlmZ d dlZG dd dZdd ZdS )    )ArgumentParser)import_moduleNc                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
BaseCommandc                 C   s&   |   }||}| jdi t|S )N )_create_parser
parse_argshandlevars)selfargsparseroptionsr   r   u/home/ubuntu/experiments/live_experiments/Pythonexperiments/Otree/venv/lib/python3.10/site-packages/otree/cli/base.pyouter_handle   s   
zBaseCommand.outer_handlec                 O   s   t N)NotImplementedError)r
   r   r   r   r   r   r      s   zBaseCommand.handlec                 C   s   t  }| | |S r   )r   add_argumentsr
   r   r   r   r   r      s   
zBaseCommand._create_parserc                 C   s   dS )zI
        Entry point for subclassed cli to add custom arguments.
        Nr   r   r   r   r   r      s   zBaseCommand.add_argumentsN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s
    r   c                 G   sJ   z	t d|  }W n ty   td|  d Y nw | | d S )Nz
otree.cli.zNo command named '')r   ModuleNotFoundErrorsysexitCommandr   )cmdr   moduler   r   r   call_command   s   r   )argparser   	importlibr   r   r   r   r   r   r   r   <module>   s
    