v1.0
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# main.py
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
COBOL テストデータ生成 Agent
|
||||
|
||||
使用方法:
|
||||
python main.py --design 詳細設計書_ZAN04MAT.md --source ZAN04MAT.cbl \
|
||||
--file-db-md COPY句定義書.md --cpy cpy/ --db-md DB定義書.md --output output/
|
||||
"""
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
|
||||
from agent import generate
|
||||
|
||||
DEFAULT_RULES_DIR = os.path.join(os.path.dirname(__file__), 'rules')
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description='COBOLテストデータ生成Agent'
|
||||
)
|
||||
|
||||
parser.add_argument('--design', required=True, help='詳細設計書 .md のパス')
|
||||
parser.add_argument('--source', required=True, help='COBOL ソース .cbl のパス')
|
||||
parser.add_argument('--file-db-md', required=True, help='ファイル/DB 構造 .md のパス')
|
||||
parser.add_argument('--cpy', required=True, help='COPYBOOK 格納ディレクトリ')
|
||||
parser.add_argument('--db-md', required=True, help='DB 定義書 .md のパス')
|
||||
parser.add_argument('--output', default='output', help='出力ディレクトリ')
|
||||
parser.add_argument('--api-key', default='sk-6156cccdc9c14d949cf5bfc5afc67a03',
|
||||
help='DeepSeek API Key')
|
||||
parser.add_argument('--model', default='deepseek-v4-flash', help='API モデル名')
|
||||
parser.add_argument('--rules', default=DEFAULT_RULES_DIR, help='ルール格納ディレクトリ')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
for name, path in [('--design', args.design), ('--source', args.source)]:
|
||||
if not os.path.exists(path):
|
||||
print(f"エラー: {name} のファイルが見つかりません: {path}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
result = generate(
|
||||
design_md=args.design,
|
||||
source_cbl=args.source,
|
||||
file_db_md=args.file_db_md,
|
||||
cpy_dir=args.cpy,
|
||||
db_md=args.db_md,
|
||||
output_dir=args.output,
|
||||
api_key=args.api_key,
|
||||
api_model=args.model,
|
||||
rules_dir=args.rules,
|
||||
)
|
||||
|
||||
print(f"\n== 完了 ==")
|
||||
print(f"プログラムID: {result['program_id']}")
|
||||
print(f"グループ数: {result['groups']}")
|
||||
print(f"入力タイプ: {result['input_type']}")
|
||||
print(f"出力ファイル:")
|
||||
for key, path in sorted(result['output_files'].items()):
|
||||
print(f" {key}: {path}")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user