o
    ܧh	                     @   s@   d Z ddlZddlmZ ddlmZmZ G dd dZe ZdS )ur   
設定管理モジュール
環境変数、ファイルパス、定数などの設定を一元管理します。
    N)Path)DictAnyc                   @   sj   e Zd Zdd ZdedefddZdeeef fddZ	d	edefd
dZ
dedefddZdddZdS )Configc              	   C   s   t tjtjtjt| _tdd| _| jd | jd d | jd d d| _	dgtd	td
ddd| _
ddddddddd| _ddd| _d S )NENV
productionzapp.logfilestatus_historyscreen_shot)log_filehistory_dirscreenshot_dirz,https://www.googleapis.com/auth/spreadsheetsPROD_SERVICE_ACCOUNT_FILESPREADSHEET_IDzB4:F300zA2:AJ500)scopesservice_account_filetarget_sheet_idmanagement_rangeentry_rangestep_1step_2step_3step_4step_5step_final_bstep_final_a
step_offer)u   1次選考中u   2次選考中u   3次選考中u   4次選考中u   5次選考中u   最終選考前（B）u   最終選考（A）u   内定status_rejectedstatus_accepted)u	   不採用u   内定承諾)r   ospathdirnameabspath__file__base_dirgetenvenv
file_pathsspreadsheetstep_mappingstatus_mappingself r-   B/var/www/html/status_management-staging/src/myapp/config/config.py__init__   s0   "
zConfig.__init__keyreturnc                 C      | j |S )u   ファイルパスを取得)r'   get)r,   r0   r-   r-   r.   get_file_path0      zConfig.get_file_pathc                 C   s   | j S )u'   スプレッドシート設定を取得)r(   r+   r-   r-   r.   get_spreadsheet_config4   s   zConfig.get_spreadsheet_config	step_namec                 C   r2   )u    ステップ名からIDを取得)r)   r3   )r,   r7   r-   r-   r.   get_step_id8   r5   zConfig.get_step_idstatus_namec                 C   r2   )u#   ステータス名からIDを取得)r*   r3   )r,   r9   r-   r-   r.   get_status_id<   r5   zConfig.get_status_idNc                 C   s6   | j  D ]}t|tr| s|jjddd qdS )u9   必要なディレクトリが存在することを確認T)parentsexist_okN)r'   values
isinstancer   is_fileparentmkdir)r,   r    r-   r-   r.   ensure_directories@   s
   zConfig.ensure_directories)r1   N)__name__
__module____qualname__r/   strr   r4   r   r   r6   r8   r:   rB   r-   r-   r-   r.   r   
   s    %r   )	__doc__r   pathlibr   typingr   r   r   configr-   r-   r-   r.   <module>   s    
=