示例#1
0
def output_report(sheet_key, this_report):
    # シートの命名規則を取得
    report_sheet = es.get_sheet_name_convention()["favo_report"]
    sheet_name = report_sheet["name"]
    report_head = report_sheet["head"]

    # Sheet API認証
    gc = es.sheet_auth()

    # レポートシートを取得
    workbook  = gc.open_by_key(sheet_key)
    worksheet = workbook.worksheet(sheet_name)

    # レポートシートのカラム数取得
    report_col = worksheet.row_values(1)
    col_len = len(report_col)

    # 書き換える行を取得
    report_row = worksheet.range(2, 1, 2, col_len)

    # シートにレポートを反映
    for key in this_report:
        update_col = report_col.index(report_head[key]) # 書き換えるカラム数
        this_val = report_row[update_col].value # シートに書かれてる値を取得
        
        # 値がなかった場合、そのまま入力する
        if(this_val == ""):
            report_row[update_col].value = this_report[key]
            
        # 値があった場合、合算する
        else:
            report_row[update_col].value = int(this_val) + this_report[key]
            
    worksheet.update_cells(report_row) # アップデート
    # アカウント情報取得
    #
    ###################

    account_info = es.get_account_info(account_id)

    ####################
    #
    # シートから投稿のストックを取得
    #
    ####################

    print('シートから引用する投稿を取得中')

    # シートの命名規則を取得
    sheet_name_conv = es.get_sheet_name_convention()

    # シートキー取得
    try:
        sheet_key = account_info["sheet"]["key"]
    except:
        function = sys._getframe().f_code.co_name
        message = "JSONファイルのシートキーの取得に失敗しました。"
        es.notice_error(function, message)

    # シートの認証
    gc = es.sheet_auth()

    # シートから引用する投稿のURLを取得
    try:
        # シートを取得