Skip to content

Commit

Permalink
🚀 [feat] CLIメッセージの日本語化と設定オプションの追加
Browse files Browse the repository at this point in the history
CLIメッセージを日本語に翻訳し、設定オプションを追加しました。

### 変更内容:

- `argparse` の説明とヘルプメッセージを日本語化。
- 生成されるファイルの出力ディレクトリ、リポジトリパス、リポジトリオーナー、リポジトリ名の設定オプションを追加。
- 無視ファイルと言語マップファイルのパスを設定するオプションを追加。
- レポート生成用のオプション(gitリポジトリのパス、gitタグの取得コマンド、gitタグのソートコマンド、git diff生成コマンド、Markdownレポートのタイトル、レポートに含めるセクション、レポートの保存先フォルダ、レポートファイル名)を追加。
  • Loading branch information
Sunwood-ai-labs committed May 14, 2024
1 parent 1d01017 commit e590f10
Showing 1 changed file with 22 additions and 17 deletions.
39 changes: 22 additions & 17 deletions sourcesage/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@

def main():
parser = argparse.ArgumentParser(description='SourceSage CLI')
parser.add_argument('--config', help='Path to the configuration file', default='sourcesage.yml')
parser.add_argument('--output', help='Output directory for generated files', default='./')
parser.add_argument('--repo', help='Path to the repository', default='./')
parser.add_argument('--owner', help='Owner of the repository', default='Sunwood-ai-labs')
parser.add_argument('--repository', help='Name of the repository', default='SourceSage')
parser.add_argument('--config', help='設定ファイルへのパス', default='sourcesage.yml')
parser.add_argument('--output', help='生成されたファイルの出力ディレクトリ', default='./')
parser.add_argument('--repo', help='リポジトリへのパス', default='./')
parser.add_argument('--owner', help='リポジトリのオーナー', default='Sunwood-ai-labs')
parser.add_argument('--repository', help='リポジトリの名前', default='SourceSage')

package_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
default_ignore_file = os.path.join(package_root, 'sourcesage', 'config', '.SourceSageignore')
Expand All @@ -31,22 +31,23 @@ def main():
current_dir_ignore_file = os.path.join(os.getcwd(), '.SourceSageignore')
if os.path.exists(current_dir_ignore_file):
ignore_file = current_dir_ignore_file
logger.info(f"Using ignore file from current directory: {ignore_file}")
logger.info(f"カレントディレクトリの無視ファイルを使用: {ignore_file}")
else:
ignore_file = default_ignore_file
logger.info(f"Using default ignore file: {ignore_file}")
logger.info(f"デフォルトの無視ファイルを使用: {ignore_file}")

parser.add_argument('--ignore-file', help='Path to the ignore file', default=ignore_file)
parser.add_argument('--language-map', help='Path to the language map file', default=default_language_map)
parser.add_argument('--ignore-file', help='無視ファイルへのパス', default=ignore_file)
parser.add_argument('--language-map', help='言語マップファイルへのパス', default=default_language_map)

# レポート生成用の引数を追加
parser.add_argument('--repo-path', type=str, default="", help='Path to the git repository')
parser.add_argument('--git-fetch-tags', type=str, nargs='+', default=["git", "fetch", "--tags"], help='Command to fetch git tags')
parser.add_argument('--git-tag-sort', type=str, nargs='+', default=["git", "tag", "--sort=-creatordate"], help='Command to sort git tags')
parser.add_argument('--git-diff-command', type=str, nargs='+', default=["git", "diff"], help='Command to generate git diff')
parser.add_argument('--report-title', type=str, default="Git Diff レポート", help='Title of the Markdown report')
parser.add_argument('--report-sections', type=str, nargs='+', default=["version_comparison", "diff_details"], help='Sections to include in the report')
parser.add_argument('--output-path', type=str, default=".SourceSageAssets/git_diff_report.md", help='Path to save the Markdown report')
parser.add_argument('--repo-path', type=str, default="", help='gitリポジトリへのパス')
parser.add_argument('--git-fetch-tags', type=str, nargs='+', default=["git", "fetch", "--tags"], help='gitタグを取得するコマンド')
parser.add_argument('--git-tag-sort', type=str, nargs='+', default=["git", "tag", "--sort=-creatordate"], help='gitタグをソートするコマンド')
parser.add_argument('--git-diff-command', type=str, nargs='+', default=["git", "diff"], help='git diffを生成するコマンド')
parser.add_argument('--report-title', type=str, default="Git Diff レポート", help='Markdownレポートのタイトル')
parser.add_argument('--report-sections', type=str, nargs='+', default=["version_comparison", "diff_details"], help='レポートに含めるセクション')
parser.add_argument('--output-path', type=str, default=".SourceSageAssets/RELEASE_REPORT/", help='Markdownレポートの保存先フォルダ')
parser.add_argument('--report-file-name', type=str, default="Report_{latest_tag}.md", help='Markdownレポートのファイル名。{latest_tag}は最新のタグに置換されます。')

args = parser.parse_args()

Expand All @@ -59,7 +60,11 @@ def main():
git_diff_generator = GitDiffGenerator(args.repo_path, args.git_fetch_tags, args.git_tag_sort, args.git_diff_command)
diff, latest_tag, previous_tag = git_diff_generator.get_git_diff()

markdown_report_generator = MarkdownReportGenerator(diff, latest_tag, previous_tag, args.report_title, args.report_sections, args.output_path)
report_file_name = args.report_file_name.format(latest_tag=latest_tag)
os.makedirs(args.output_path, exist_ok=True)
output_path = os.path.join(args.output_path, report_file_name)

markdown_report_generator = MarkdownReportGenerator(diff, latest_tag, previous_tag, args.report_title, args.report_sections, output_path)
markdown_report_generator.generate_markdown_report()

logger.success("プロセスが完了しました。")
Expand Down

0 comments on commit e590f10

Please sign in to comment.