import os
import shutil
import signal
import sys

from src.bot import Bot

version = "2.3.0"
"""
v2.3.0  : google_trans_new 修正，
v2.2.2  : GoogleAppsScriptを使って翻訳できるようにした
v2.2.1  : !timerコマンド追加
v2.2.0  : - 翻訳サーバの選択（ちゃらひろ先生による実装）
          - emoteを削除する
          - MacOS版と一本化（pyinstallerでのconfig.py読み込み対策）
（v2.1.5  : 音声再生速度の変更オプション）
v2.1.4  : 読み上げ言語指定ができるようにした
v2.1.3  : 関連モジュールアップデート、バグフィクス
v2.1.2  : _MEI関連
v2.1.1  : googletrans -> google_trans_new へ置き換え
v2.1.0  : config.py の導入
v2.0.11 : gTTSアップデート＆twitch接続モジュール変更＆色々修正
v2.0.10 : python コードの文字コードをUTF-8と指定
v2.0.10 : オプション gTTS を gTTS_In, gTTS_Out に分割
v2.0.8  : オプション「無視する言語」「Show_ByName」「Show_ByLang」追加`
v2.0.7  : チャット内の別ルームを指定して，そこに翻訳結果を書く
v2.0.6  : テキストの色変更
v2.0.5  : 裏技「翻訳先言語選択機能」実装 
v2.0.4  : 
v2.0.3  : いろいろ実装した
"""

import importlib

try:
    sys.path.append(os.path.join(os.path.dirname(__file__), "."))
    config = importlib.import_module("config")
except Exception as e:
    print(e)
    print("Please make [config.py] and put it with twitchTransFN")
    input()

def CLEANMEIFOLDERS():
    """
    Thanks to <NAME> @ https://stackoverflow.com/questions/57261199/python-handling-the-meipass-folder-in-temporary-folder
    """
    import glob

    try:
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    if config.Debug: 
        print(f"_MEI base path: {base_path}")
    base_path = base_path.split("\\") 
    base_path.pop(-1)
    temp_path = ""
    for item in base_path:
        temp_path = temp_path + item + "\\"

    mei_folders = [f for f in glob.glob(temp_path + "**/", recursive=False)]
    for item in mei_folders:
        if item.find('_MEI') != -1 and item != sys._MEIPASS + "\\":
            shutil.rmtree(item)

def main():
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))
    signal.signal(signal.SIGINT, lambda signum, frame: sys.exit(1))

    # 以前に生成された _MEI フォルダを削除する
    CLEANMEIFOLDERS()

    ## 初期表示
    print("twitchTransFreeNext (Version: {})".format(version))
    print("")
    print("Connect to the channel | {}".format(config.Twitch_Channel))
    print("Translator Username    | {}".format(config.Trans_Username))
    print("Translator Engine      | {}".format(config.Translator))
    print("")

    ## 作業用ディレクトリ削除 ＆ 作成 ----
    if os.path.exists(config.Temporary_Directory):
        shutil.rmtree(config.Temporary_Directory)
    os.mkdir(config.Temporary_Directory)

    try:
        bot = Bot()
        bot.run()        
    except Exception as err:
        print("An error has occurred: {}".format(err))
        input()

if __name__ == "__main__":
    sys.exit(main())

import os
import shutil
import signal
import sys

from src.bot import Bot

version = "2.3.0"
"""
v2.3.0  : google_trans_new 修正，
v2.2.2  : GoogleAppsScriptを使って翻訳できるようにした
v2.2.1  : !timerコマンド追加
v2.2.0  : - 翻訳サーバの選択（ちゃらひろ先生による実装）
          - emoteを削除する
          - MacOS版と一本化（pyinstallerでのconfig.py読み込み対策）
（v2.1.5  : 音声再生速度の変更オプション）
v2.1.4  : 読み上げ言語指定ができるようにした
v2.1.3  : 関連モジュールアップデート、バグフィクス
v2.1.2  : _MEI関連
v2.1.1  : googletrans -> google_trans_new へ置き換え
v2.1.0  : config.py の導入
v2.0.11 : gTTSアップデート＆twitch接続モジュール変更＆色々修正
v2.0.10 : python コードの文字コードをUTF-8と指定
v2.0.10 : オプション gTTS を gTTS_In, gTTS_Out に分割
v2.0.8  : オプション「無視する言語」「Show_ByName」「Show_ByLang」追加`
v2.0.7  : チャット内の別ルームを指定して，そこに翻訳結果を書く
v2.0.6  : テキストの色変更
v2.0.5  : 裏技「翻訳先言語選択機能」実装 
v2.0.4  : 
v2.0.3  : いろいろ実装した
"""

import importlib

try:
    sys.path.append(os.path.join(os.path.dirname(__file__), "."))
    config = importlib.import_module("config")
except Exception as e:
    print(e)
    print("Please make [config.py] and put it with twitchTransFN")
    input()

def CLEANMEIFOLDERS():
    """
    Thanks to <NAME> @ https://stackoverflow.com/questions/57261199/python-handling-the-meipass-folder-in-temporary-folder
    """
    import glob

    try:
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    if config.Debug: 
        print(f"_MEI base path: {base_path}")
    base_path = base_path.split("\\") 
    base_path.pop(-1)
    temp_path = ""
    for item in base_path:
        temp_path = temp_path + item + "\\"

    mei_folders = [f for f in glob.glob(temp_path + "**/", recursive=False)]
    for item in mei_folders:
        if item.find('_MEI') != -1 and item != sys._MEIPASS + "\\":
            shutil.rmtree(item)

def main():
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))
    signal.signal(signal.SIGINT, lambda signum, frame: sys.exit(1))

    # 以前に生成された _MEI フォルダを削除する
    CLEANMEIFOLDERS()

    ## 初期表示
    print("twitchTransFreeNext (Version: {})".format(version))
    print("")
    print("Connect to the channel | {}".format(config.Twitch_Channel))
    print("Translator Username    | {}".format(config.Trans_Username))
    print("Translator Engine      | {}".format(config.Translator))
    print("")

    ## 作業用ディレクトリ削除 ＆ 作成 ----
    if os.path.exists(config.Temporary_Directory):
        shutil.rmtree(config.Temporary_Directory)
    os.mkdir(config.Temporary_Directory)

    try:
        bot = Bot()
        bot.run()        
    except Exception as err:
        print("An error has occurred: {}".format(err))
        input()

if __name__ == "__main__":
    sys.exit(main())

v2.3.0  : google_trans_new 修正， v2.2.2  : GoogleAppsScriptを使って翻訳できるようにした v2.2.1  : !timerコマンド追加 v2.2.0  : - 翻訳サーバの選択（ちゃらひろ先生による実装）           - emoteを削除する           - MacOS版と一本化（pyinstallerでのconfig.py読み込み対策） （v2.1.5  : 音声再生速度の変更オプション） v2.1.4  : 読み上げ言語指定ができるようにした v2.1.3  : 関連モジュールアップデート、バグフィクス v2.1.2  : _MEI関連 v2.1.1  : googletrans -> google_trans_new へ置き換え v2.1.0  : config.py の導入 v2.0.11 : gTTSアップデート＆twitch接続モジュール変更＆色々修正 v2.0.10 : python コードの文字コードをUTF-8と指定 v2.0.10 : オプション gTTS を gTTS_In, gTTS_Out に分割 v2.0.8  : オプション「無視する言語」「Show_ByName」「Show_ByLang」追加` v2.0.7  : チャット内の別ルームを指定して，そこに翻訳結果を書く v2.0.6  : テキストの色変更 v2.0.5  : 裏技「翻訳先言語選択機能」実装  v2.0.4  :  v2.0.3  : いろいろ実装した Thanks to <NAME> @ https://stackoverflow.com/questions/57261199/python-handling-the-meipass-folder-in-temporary-folder # 以前に生成された _MEI フォルダを削除する ## 初期表示 ## 作業用ディレクトリ削除 ＆ 作成 ----