def dust_talk(string):
    from FINE_DUST import DustData
    from FINE_DUST import dust_list
    try:
        talk('According to National Weather Service,')
        for i in range(len(dust_list())):
            talk('{}지역에 {} 발령'.format(dust_list()[i].districtName, dust_list()[i].issueGbn))
        talk('발령 중입니다.')
    except:
        talk('오늘 미세먼지 경보 발령된 지역이 없습니다아.')
def dust_talk(string):
    from FINE_DUST import DustData
    from FINE_DUST import dust_list
    try:
        talk('기상청 실시간 공개 데이터 확인 결과, 현재')
        for i in range(len(dust_list())):
            talk('{}지역에 {} 발령'.format(dust_list()[i].districtName,
                                      dust_list()[i].issueGbn))
        talk('발령 중입니다.')
    except:
        talk('오늘 미세먼지 경보 발령된 지역이 없습니다아.')
def timer_talk(string):
    from TIMER import timer
    T = timer(master)
    if T >= 0:
        talk('타이머가 설정되었습니다. 시간이 끝나면 세 번 알려드려요오!')
        sleep(T)
        for _ in range(3):
            talk('타이머가 끝났습니다!')
            sleep(0.5)
    elif T == -1:
        talk('죄송해요, 타이머 설정 시간을 잘 이해하지 못했습니다아.')
    elif T == -2:
        talk('죄송해요, 타이머를 끄는 설정은 아직 준비되어 있지 않습니다. 다음에는 꼭 도움이 되어드리도록 노력하겠습니다.')
def covid(string):
    import COVID
    from COVID import msg_handle
    from COVID import check_item
    from COVID import Daily_Patient
    print('Press ctrl+C to quit')
    try:
        what_said = string
        if msg_handle(what_said)[0]:
            if msg_handle(what_said)[1] == 0:
                talk(
                    '죄송해요, 오늘, 어제, 그저께에 대한 정보만 지원하고 있습니다. 더 자세한 정보는 보건복지부 홈페이지를 참조하여 주세요.'
                )
            elif msg_handle(what_said)[1] == 1:
                talk('오늘 코로나19 확진자 수는 {}명입니다아.'.format(Daily_Patient()[-1]))
            elif msg_handle(what_said)[1] == 2:
                talk('어제 코로나19 확진자 수는 {}명입니다아.'.format(Daily_Patient()[-2]))
            elif msg_handle(what_said)[1] == 3:
                talk('그저께 코로나19 확진자 수는 {}명입니다아.'.format(Daily_Patient()[-3]))
        else:
            talk('죄송해요, 코로나 확진자 수 알림 기능만을 지원하고 있습니다. 다른 답변은 드릴 수가 없네요오.')

    except KeyboardInterrupt:
        print('Goodbye.')
def timer_talk(string):
    from TIMER_en import timer
    T = timer(string)
    if T >=0:
        talk_en('Your timer has set. I will let you know three times when it is over.')
        sleep(T)
        for _ in range(3):
            talk("Times up!")
            sleep(0.5)
    elif T == -1:
        talk('Sorry, could you tell me the exact time range once again?')
    elif T == -2:
        talk('Sorry we are currently on the preparing level for that service. I will strive to be a better assistant for you next time.')
def mode_selection(mode_number, master):
    if mode_number == -1:
        talk("Sorry, I could not understand your words")
        
    elif mode_number == 0:
        import weather #날씨 함수 작성
        talk("Sorry, the service haven't prepared yet")
        
    elif mode_number == 1:
        covid(master)
        
    elif mode_number == 2:
        from CLOCK import clock
        tik = clock()
        calender = {
        1 : 'January',
        2:'Feburary',
        3:'March',
        4:'April',
        5:'May',
        6:'June',
        7:'July',
        8:'August',
        9:'September',
        10:'October',
        11:'November',
        12:'December'
        }
        talk('It is {} {}, {} and {}'.format(calender[tik[0]], tik[1], tik[2], tik[3]))
        
    elif mode_number == 3:
        from RAP import rap
        verse = rap()
        if verse[0] == 1 or verse[0] == 2:
            for i in range(len(verse[1])):
                talk(verse[1][i])
                sleep(0.5)
        elif verse[0] == 3:
            talk_en(verse[1][0])
            
    elif mode_number == 4:
        timer_talk(master)
        
    elif mode_number == 5:
        from JOKE import joke
        haha = joke()
        for i in range(len(haha)):
            talk(haha[i])
            sleep(1)
            
    elif mode_number == 6:
        dust_talk(master)
    
    elif mode_number == 1000:
        talk('Hi, my name is Amy, your personal A I assistant. You can ask for the followings: clock, timer, covid patient, jokes, rap. Pleased to meet you and have a wonderful day!')
def mode_selection(mode_number, master):
    if mode_number == -1:
        talk('죄송해요, 무슨 말인지 잘 알아듣지 못했어요오')

    elif mode_number == 0:
        import weather  #날씨 함수 작성
        talk('죄송합니다, 아직 서비스 준비중입니다!')

    elif mode_number == 1:
        covid(master)

    elif mode_number == 2:
        from CLOCK import clock
        tik = clock()
        talk('지금은 {}월 {}일 {}시 {}분 입니다아'.format(tik[0], tik[1], tik[2], tik[3]))

    elif mode_number == 3:
        from RAP import rap
        verse = rap()
        if verse[0] == 1 or verse[0] == 2:
            for i in range(len(verse[1])):
                talk(verse[1][i])
                sleep(0.5)
        elif verse[0] == 3:
            talk_en(verse[1][0])

    elif mode_number == 4:
        timer_talk(master)

    elif mode_number == 5:
        from JOKE import joke
        haha = joke()
        for i in range(len(haha)):
            talk(haha[i])
            sleep(1)

    elif mode_number == 6:
        dust_talk(master)

    elif mode_number == 1000:
        talk(
            '저는 당신을 도와주는 인공지능 스피커입니다. 시계, 타이머, 실시간 코로나 확진자, 미세먼지 경보 발령 현황 등에 대하여 말씀드릴 수 있습니다. 간단한 농담이나 랩도 할 줄 안답니다. 날씨 기능은 업데이트 준비중이에요.'
        )