Open1

python

antyuntyunantyuntyun
import datetime
import glob
import logging
import os
from logging import (DEBUG, NOTSET, FileHandler, StreamHandler, basicConfig,
                     getLogger)

import pandas as pd
from dotenv import load_dotenv

from test_package.test_package_manager import \
    TestPackageManager

# 環境変数取得
# ローカルDocker開発環境時には.envから環境変数を取得
# ECS Tasks 実行時にはSystem Managerの値を取得する
load_dotenv(verbose=True)

# 環境の取得
app_env = os.getenv('APP_ENV')
print(f'app_env: {app_env}')

# 現在時刻取得
now = datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=9)))  # 日本時刻
now_yyyymmddhhmmss = now.strftime('%Y%m%d%H%M%S')

# ログ設定
logger = getLogger(__name__)
logger.setLevel(logging.DEBUG)
stream_handler = StreamHandler()
stream_handler.setLevel(DEBUG)
# ログ出力先が存在しない場合は作成
if not os.path.exists('logs'):
    os.mkdir('logs')

file_handler = FileHandler(
    f'logs/{now_yyyymmddhhmmss}_kpi_revenue_aggregation.log')
file_handler.setLevel(DEBUG)

if app_env == 'dev':
    log_format = '%(asctime)s - %(filename)s:%(lineno)s - %(funcName)s() - %(levelname)s: %(message)s'
elif app_env == 'prd':
    log_format = '%(message)s'
else:
    log_format = '%(message)s'

basicConfig(
    level=NOTSET,
    format=log_format,
    handlers=[stream_handler, file_handler],
)

logger.info(f'env: {app_env}')

# GoogleAPIコール用の認証トークンJSONを取得
credential_folder_path = 'config/credentials'
files = glob.glob(f'{credential_folder_path}/*.json')
# JSONファイルが存在するかどうかで分岐
if len(files) > 0:
    jsonf_path = files[0]
else:
    jsonf_path = None
    logger.debug('There is no Credential file')

# 環境変数取得
gdrive_service_account_credential = os.getenv('GOOGLE_SERVICE_ACCOUNT_CREDENTIAL')
# get other env

# jsonf_path以外は文字列として読みこむ
agent = TestPackageManager(
    jsonf_path,
    str(gdrive_service_account_credential),
    # other env
)

# process start
# agent.some_function()
# process end
logger.info('success')