fix: unify scraper argument interface and fix create command forwarding
All scrapers (scrape, github, analyze, pdf) now share a common argument contract via add_all_standard_arguments() in arguments/common.py. Universal flags (--dry-run, --verbose, --quiet, --name, --description, workflow args) work consistently across all source types. Previously, `create <url> --dry-run`, `create owner/repo --dry-run`, and `create ./path --dry-run` would crash because sub-scrapers didn't accept those flags. Also fixes main.py _handle_analyze_command() not forwarding --dry-run, --preset, --quiet, --name, --description to codebase_scraper. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,7 @@ Usage:
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
@@ -644,6 +645,24 @@ def main():
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Set logging level from behavior args
|
||||
if getattr(args, "quiet", False):
|
||||
logging.getLogger().setLevel(logging.WARNING)
|
||||
elif getattr(args, "verbose", False):
|
||||
logging.getLogger().setLevel(logging.DEBUG)
|
||||
|
||||
# Handle --dry-run
|
||||
if getattr(args, "dry_run", False):
|
||||
source = args.pdf or args.config or args.from_json or "(none)"
|
||||
print(f"\n{'=' * 60}")
|
||||
print(f"DRY RUN: PDF Extraction")
|
||||
print(f"{'=' * 60}")
|
||||
print(f"Source: {source}")
|
||||
print(f"Name: {getattr(args, 'name', None) or '(auto-detect)'}")
|
||||
print(f"Enhance level: {getattr(args, 'enhance_level', 0)}")
|
||||
print(f"\n✅ Dry run complete")
|
||||
return
|
||||
|
||||
# Validate inputs
|
||||
if not (args.config or args.pdf or args.from_json):
|
||||
parser.error("Must specify --config, --pdf, or --from-json")
|
||||
|
||||
Reference in New Issue
Block a user