Skip to content

Commit

Permalink
--annofab_user_id, --annofab_passwordを指定したときは、その値をマスクしてログに出力する (#…
Browse files Browse the repository at this point in the history
…1123)

* コマンドライン引数の情報をマスク

* format
  • Loading branch information
yuji38kwmt authored Jan 24, 2024
1 parent 80c3f14 commit fd6551e
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
17 changes: 16 additions & 1 deletion annofabcli/__main__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import annotations

import argparse
import copy
import logging
import sys
from typing import Optional
Expand Down Expand Up @@ -29,6 +30,20 @@
logger = logging.getLogger(__name__)


def mask_argv(argv: list[str]) -> list[str]:
"""
`argv`にセンシティブな情報が含まれている場合は、`***`に置き換える。
"""
tmp_argv = copy.deepcopy(argv)
for masked_option in ["--annofab_user_id", "--annofab_password"]:
try:
index = tmp_argv.index(masked_option)
tmp_argv[index + 1] = "***"
except ValueError:
continue
return tmp_argv


def main(arguments: Optional[list[str]] = None) -> None:
"""
annofabcliコマンドのメイン処理
Expand All @@ -51,7 +66,7 @@ def main(arguments: Optional[list[str]] = None) -> None:
argv = sys.argv
if arguments is not None:
argv = ["annofabcli", *list(arguments)]
logger.info(f"argv={argv}")
logger.info(f"argv={mask_argv(argv)}")
args.subcommand_func(args)
except Exception as e:
logger.exception(e)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,9 +304,11 @@ def get_phase_list(columns: list[str]) -> list[str]:
# タスク履歴の作業時間を集計する
# `["worktime_hour"]>0]`を指定している理由:受入フェーズのタスクは存在するが、一度も受入作業が実施されていないときに、df_agg_task_historyに"acceptance"の列を含まないようにするため
# 受入作業が実施されていないのに、"acceptance"列が存在すると、bokehなどでwarningが発生する。それを回避するため
df_agg_task_history = df_task_history[df_task_history["worktime_hour"]>0].pivot_table(
values="worktime_hour", columns="phase", index="account_id", aggfunc=numpy.sum
).fillna(0)
df_agg_task_history = (
df_task_history[df_task_history["worktime_hour"] > 0]
.pivot_table(values="worktime_hour", columns="phase", index="account_id", aggfunc=numpy.sum)
.fillna(0)
)

if df_labor is not None and len(df_labor) > 0:
df_agg_labor = df_labor.pivot_table(values="actual_worktime_hour", index="account_id", aggfunc=numpy.sum)
Expand Down

0 comments on commit fd6551e

Please sign in to comment.