import directory
from EEG import EEG
from PPG import PPG
#from PPG_obelab import PPG_obelab
import PNG_REPORT
#import PNG_REPORT_H
import PNG_EBSI
#import PDF
#import PDF_H
import PDF_ALL
import traceback
import os
import sys
import json
import time
import shutil
import datetime

# filename
# device
# sex
# age

if __name__ == "__main__":
    start_time = time.perf_counter()
    #sys.argv로 들어오는 값은 모두 str type 으로 들어옴.
    file = sys.argv[1]      #뇌파 파일
    device = sys.argv[2]    #측정기기 laxtha, soso
    # number = sys.argv[3]    #넘버
    # date = sys.argv[4]
    # name = sys.argv[5]      #이름
    # sex = sys.argv[6]       # 성별, M - 남자 , F - 여자
    age = '20'      # 나이(만)
    depressed = 0  # K-DEP, 우울장애
    unrest = 0  # K-ANX, 불안장애
    reportLanguage = "kr" # REPORT 언어
    # RESULT_DIR = sys.argv[11] # 저장 PATH
    # password = sys.argv[12] # PDF password 여부
    # birth = sys.argv[13] # PDF password (사용자 생년월일)
    # eeg_only = bool(int(sys.argv[14])) # eeg레포트만
    # ppg_only = bool(int(sys.argv[15])) # ppg레포트만
    # ebsi = bool(int(sys.argv[16])) # EBSI 레포트 생성 여부
    msn = sys.argv[3] # CECLAB 구분하기 위해 받음.
    RESULT_DIR = sys.argv[4]
    current_time = str(round(datetime.datetime.utcnow().timestamp() * 1000))
    
    # 일괄생성시 설문지는 같고 파일이 다를 경우를 대비하여 폴더이름에 시간 추가
    # RESULT_DIR = os.path.join(RESULT_DIR, current_time + name)
    # directory.createFolder(RESULT_DIR)
    # print("RESULT_DIR joined = {}".format(RESULT_DIR))
    
    # if (msn == "147") and (device=='fnirs'):
    #     ppg_only=True
    #     password='N'
    # elif msn=="147":
    #     password='N'
    #print(sys.argv)


    s_time = time.perf_counter()

    eeg = EEG(file, RESULT_DIR, age=age, device=device, reportLanguage=reportLanguage)
    try:
        eeg.eeg_dq()
        print("EEG OK")
    except Exception as e:  
        print(traceback.format_exc())

    ppg = PPG(file, RESULT_DIR, age=age, device=device, depressed=depressed, unrest=unrest, reportLanguage=reportLanguage)
    try:
        ppg.ppg_dq()
        print("PPG OK")
    except Exception as e:  
        print(traceback.format_exc())

    eeg_dq_json = json.dumps(eeg.dq)
    ppg_dq_json = json.dumps(ppg.dq)

    end_time = time.perf_counter()

    print(eeg_dq_json)
    print(ppg_dq_json)




    print(f"python time elapsed : {int(round((end_time - start_time) * 1000))}ms")
