style: Auto-format 48 files with ruff format
- Fixed formatting to comply with ruff standards - No functional changes, only formatting/style - Completes CI/CD pipeline formatting requirements
This commit is contained in:
@@ -16,6 +16,7 @@ from skill_seekers.cli.arguments.create import (
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class CreateCommand:
|
||||
"""Unified create command implementation."""
|
||||
|
||||
@@ -74,7 +75,7 @@ class CreateCommand:
|
||||
continue
|
||||
|
||||
# Skip internal arguments
|
||||
if arg_name in ['source', 'func', 'subcommand']:
|
||||
if arg_name in ["source", "func", "subcommand"]:
|
||||
continue
|
||||
|
||||
# Warn about incompatible argument
|
||||
@@ -104,10 +105,10 @@ class CreateCommand:
|
||||
|
||||
# Check against common defaults
|
||||
defaults = {
|
||||
'max_issues': 100,
|
||||
'chunk_size': 512,
|
||||
'chunk_overlap': 50,
|
||||
'output': None,
|
||||
"max_issues": 100,
|
||||
"chunk_size": 512,
|
||||
"chunk_overlap": 50,
|
||||
"output": None,
|
||||
}
|
||||
|
||||
if arg_name in defaults:
|
||||
@@ -122,15 +123,15 @@ class CreateCommand:
|
||||
Returns:
|
||||
Exit code from scraper
|
||||
"""
|
||||
if self.source_info.type == 'web':
|
||||
if self.source_info.type == "web":
|
||||
return self._route_web()
|
||||
elif self.source_info.type == 'github':
|
||||
elif self.source_info.type == "github":
|
||||
return self._route_github()
|
||||
elif self.source_info.type == 'local':
|
||||
elif self.source_info.type == "local":
|
||||
return self._route_local()
|
||||
elif self.source_info.type == 'pdf':
|
||||
elif self.source_info.type == "pdf":
|
||||
return self._route_pdf()
|
||||
elif self.source_info.type == 'config':
|
||||
elif self.source_info.type == "config":
|
||||
return self._route_config()
|
||||
else:
|
||||
logger.error(f"Unknown source type: {self.source_info.type}")
|
||||
@@ -141,10 +142,10 @@ class CreateCommand:
|
||||
from skill_seekers.cli import doc_scraper
|
||||
|
||||
# Reconstruct argv for doc_scraper
|
||||
argv = ['doc_scraper']
|
||||
argv = ["doc_scraper"]
|
||||
|
||||
# Add URL
|
||||
url = self.source_info.parsed['url']
|
||||
url = self.source_info.parsed["url"]
|
||||
argv.append(url)
|
||||
|
||||
# Add universal arguments
|
||||
@@ -152,21 +153,21 @@ class CreateCommand:
|
||||
|
||||
# Add web-specific arguments
|
||||
if self.args.max_pages:
|
||||
argv.extend(['--max-pages', str(self.args.max_pages)])
|
||||
if getattr(self.args, 'skip_scrape', False):
|
||||
argv.append('--skip-scrape')
|
||||
if getattr(self.args, 'resume', False):
|
||||
argv.append('--resume')
|
||||
if getattr(self.args, 'fresh', False):
|
||||
argv.append('--fresh')
|
||||
if getattr(self.args, 'rate_limit', None):
|
||||
argv.extend(['--rate-limit', str(self.args.rate_limit)])
|
||||
if getattr(self.args, 'workers', None):
|
||||
argv.extend(['--workers', str(self.args.workers)])
|
||||
if getattr(self.args, 'async_mode', False):
|
||||
argv.append('--async')
|
||||
if getattr(self.args, 'no_rate_limit', False):
|
||||
argv.append('--no-rate-limit')
|
||||
argv.extend(["--max-pages", str(self.args.max_pages)])
|
||||
if getattr(self.args, "skip_scrape", False):
|
||||
argv.append("--skip-scrape")
|
||||
if getattr(self.args, "resume", False):
|
||||
argv.append("--resume")
|
||||
if getattr(self.args, "fresh", False):
|
||||
argv.append("--fresh")
|
||||
if getattr(self.args, "rate_limit", None):
|
||||
argv.extend(["--rate-limit", str(self.args.rate_limit)])
|
||||
if getattr(self.args, "workers", None):
|
||||
argv.extend(["--workers", str(self.args.workers)])
|
||||
if getattr(self.args, "async_mode", False):
|
||||
argv.append("--async")
|
||||
if getattr(self.args, "no_rate_limit", False):
|
||||
argv.append("--no-rate-limit")
|
||||
|
||||
# Call doc_scraper with modified argv
|
||||
logger.debug(f"Calling doc_scraper with argv: {argv}")
|
||||
@@ -182,32 +183,32 @@ class CreateCommand:
|
||||
from skill_seekers.cli import github_scraper
|
||||
|
||||
# Reconstruct argv for github_scraper
|
||||
argv = ['github_scraper']
|
||||
argv = ["github_scraper"]
|
||||
|
||||
# Add repo
|
||||
repo = self.source_info.parsed['repo']
|
||||
argv.extend(['--repo', repo])
|
||||
repo = self.source_info.parsed["repo"]
|
||||
argv.extend(["--repo", repo])
|
||||
|
||||
# Add universal arguments
|
||||
self._add_common_args(argv)
|
||||
|
||||
# Add GitHub-specific arguments
|
||||
if getattr(self.args, 'token', None):
|
||||
argv.extend(['--token', self.args.token])
|
||||
if getattr(self.args, 'profile', None):
|
||||
argv.extend(['--profile', self.args.profile])
|
||||
if getattr(self.args, 'non_interactive', False):
|
||||
argv.append('--non-interactive')
|
||||
if getattr(self.args, 'no_issues', False):
|
||||
argv.append('--no-issues')
|
||||
if getattr(self.args, 'no_changelog', False):
|
||||
argv.append('--no-changelog')
|
||||
if getattr(self.args, 'no_releases', False):
|
||||
argv.append('--no-releases')
|
||||
if getattr(self.args, 'max_issues', None) and self.args.max_issues != 100:
|
||||
argv.extend(['--max-issues', str(self.args.max_issues)])
|
||||
if getattr(self.args, 'scrape_only', False):
|
||||
argv.append('--scrape-only')
|
||||
if getattr(self.args, "token", None):
|
||||
argv.extend(["--token", self.args.token])
|
||||
if getattr(self.args, "profile", None):
|
||||
argv.extend(["--profile", self.args.profile])
|
||||
if getattr(self.args, "non_interactive", False):
|
||||
argv.append("--non-interactive")
|
||||
if getattr(self.args, "no_issues", False):
|
||||
argv.append("--no-issues")
|
||||
if getattr(self.args, "no_changelog", False):
|
||||
argv.append("--no-changelog")
|
||||
if getattr(self.args, "no_releases", False):
|
||||
argv.append("--no-releases")
|
||||
if getattr(self.args, "max_issues", None) and self.args.max_issues != 100:
|
||||
argv.extend(["--max-issues", str(self.args.max_issues)])
|
||||
if getattr(self.args, "scrape_only", False):
|
||||
argv.append("--scrape-only")
|
||||
|
||||
# Call github_scraper with modified argv
|
||||
logger.debug(f"Calling github_scraper with argv: {argv}")
|
||||
@@ -223,30 +224,30 @@ class CreateCommand:
|
||||
from skill_seekers.cli import codebase_scraper
|
||||
|
||||
# Reconstruct argv for codebase_scraper
|
||||
argv = ['codebase_scraper']
|
||||
argv = ["codebase_scraper"]
|
||||
|
||||
# Add directory
|
||||
directory = self.source_info.parsed['directory']
|
||||
argv.extend(['--directory', directory])
|
||||
directory = self.source_info.parsed["directory"]
|
||||
argv.extend(["--directory", directory])
|
||||
|
||||
# Add universal arguments
|
||||
self._add_common_args(argv)
|
||||
|
||||
# Add local-specific arguments
|
||||
if getattr(self.args, 'languages', None):
|
||||
argv.extend(['--languages', self.args.languages])
|
||||
if getattr(self.args, 'file_patterns', None):
|
||||
argv.extend(['--file-patterns', self.args.file_patterns])
|
||||
if getattr(self.args, 'skip_patterns', False):
|
||||
argv.append('--skip-patterns')
|
||||
if getattr(self.args, 'skip_test_examples', False):
|
||||
argv.append('--skip-test-examples')
|
||||
if getattr(self.args, 'skip_how_to_guides', False):
|
||||
argv.append('--skip-how-to-guides')
|
||||
if getattr(self.args, 'skip_config', False):
|
||||
argv.append('--skip-config')
|
||||
if getattr(self.args, 'skip_docs', False):
|
||||
argv.append('--skip-docs')
|
||||
if getattr(self.args, "languages", None):
|
||||
argv.extend(["--languages", self.args.languages])
|
||||
if getattr(self.args, "file_patterns", None):
|
||||
argv.extend(["--file-patterns", self.args.file_patterns])
|
||||
if getattr(self.args, "skip_patterns", False):
|
||||
argv.append("--skip-patterns")
|
||||
if getattr(self.args, "skip_test_examples", False):
|
||||
argv.append("--skip-test-examples")
|
||||
if getattr(self.args, "skip_how_to_guides", False):
|
||||
argv.append("--skip-how-to-guides")
|
||||
if getattr(self.args, "skip_config", False):
|
||||
argv.append("--skip-config")
|
||||
if getattr(self.args, "skip_docs", False):
|
||||
argv.append("--skip-docs")
|
||||
|
||||
# Call codebase_scraper with modified argv
|
||||
logger.debug(f"Calling codebase_scraper with argv: {argv}")
|
||||
@@ -262,20 +263,20 @@ class CreateCommand:
|
||||
from skill_seekers.cli import pdf_scraper
|
||||
|
||||
# Reconstruct argv for pdf_scraper
|
||||
argv = ['pdf_scraper']
|
||||
argv = ["pdf_scraper"]
|
||||
|
||||
# Add PDF file
|
||||
file_path = self.source_info.parsed['file_path']
|
||||
argv.extend(['--pdf', file_path])
|
||||
file_path = self.source_info.parsed["file_path"]
|
||||
argv.extend(["--pdf", file_path])
|
||||
|
||||
# Add universal arguments
|
||||
self._add_common_args(argv)
|
||||
|
||||
# Add PDF-specific arguments
|
||||
if getattr(self.args, 'ocr', False):
|
||||
argv.append('--ocr')
|
||||
if getattr(self.args, 'pages', None):
|
||||
argv.extend(['--pages', self.args.pages])
|
||||
if getattr(self.args, "ocr", False):
|
||||
argv.append("--ocr")
|
||||
if getattr(self.args, "pages", None):
|
||||
argv.extend(["--pages", self.args.pages])
|
||||
|
||||
# Call pdf_scraper with modified argv
|
||||
logger.debug(f"Calling pdf_scraper with argv: {argv}")
|
||||
@@ -291,11 +292,11 @@ class CreateCommand:
|
||||
from skill_seekers.cli import unified_scraper
|
||||
|
||||
# Reconstruct argv for unified_scraper
|
||||
argv = ['unified_scraper']
|
||||
argv = ["unified_scraper"]
|
||||
|
||||
# Add config file
|
||||
config_path = self.source_info.parsed['config_path']
|
||||
argv.extend(['--config', config_path])
|
||||
config_path = self.source_info.parsed["config_path"]
|
||||
argv.extend(["--config", config_path])
|
||||
|
||||
# Add universal arguments (unified scraper supports most)
|
||||
self._add_common_args(argv)
|
||||
@@ -317,53 +318,54 @@ class CreateCommand:
|
||||
"""
|
||||
# Identity arguments
|
||||
if self.args.name:
|
||||
argv.extend(['--name', self.args.name])
|
||||
elif hasattr(self, 'source_info') and self.source_info:
|
||||
argv.extend(["--name", self.args.name])
|
||||
elif hasattr(self, "source_info") and self.source_info:
|
||||
# Use suggested name from source detection
|
||||
argv.extend(['--name', self.source_info.suggested_name])
|
||||
argv.extend(["--name", self.source_info.suggested_name])
|
||||
|
||||
if self.args.description:
|
||||
argv.extend(['--description', self.args.description])
|
||||
argv.extend(["--description", self.args.description])
|
||||
if self.args.output:
|
||||
argv.extend(['--output', self.args.output])
|
||||
argv.extend(["--output", self.args.output])
|
||||
|
||||
# Enhancement arguments (consolidated to --enhance-level only)
|
||||
if self.args.enhance_level > 0:
|
||||
argv.extend(['--enhance-level', str(self.args.enhance_level)])
|
||||
argv.extend(["--enhance-level", str(self.args.enhance_level)])
|
||||
if self.args.api_key:
|
||||
argv.extend(['--api-key', self.args.api_key])
|
||||
argv.extend(["--api-key", self.args.api_key])
|
||||
|
||||
# Behavior arguments
|
||||
if self.args.dry_run:
|
||||
argv.append('--dry-run')
|
||||
argv.append("--dry-run")
|
||||
if self.args.verbose:
|
||||
argv.append('--verbose')
|
||||
argv.append("--verbose")
|
||||
if self.args.quiet:
|
||||
argv.append('--quiet')
|
||||
argv.append("--quiet")
|
||||
|
||||
# RAG arguments (NEW - universal!)
|
||||
if getattr(self.args, 'chunk_for_rag', False):
|
||||
argv.append('--chunk-for-rag')
|
||||
if getattr(self.args, 'chunk_size', None) and self.args.chunk_size != 512:
|
||||
argv.extend(['--chunk-size', str(self.args.chunk_size)])
|
||||
if getattr(self.args, 'chunk_overlap', None) and self.args.chunk_overlap != 50:
|
||||
argv.extend(['--chunk-overlap', str(self.args.chunk_overlap)])
|
||||
if getattr(self.args, "chunk_for_rag", False):
|
||||
argv.append("--chunk-for-rag")
|
||||
if getattr(self.args, "chunk_size", None) and self.args.chunk_size != 512:
|
||||
argv.extend(["--chunk-size", str(self.args.chunk_size)])
|
||||
if getattr(self.args, "chunk_overlap", None) and self.args.chunk_overlap != 50:
|
||||
argv.extend(["--chunk-overlap", str(self.args.chunk_overlap)])
|
||||
|
||||
# Preset argument
|
||||
if getattr(self.args, 'preset', None):
|
||||
argv.extend(['--preset', self.args.preset])
|
||||
if getattr(self.args, "preset", None):
|
||||
argv.extend(["--preset", self.args.preset])
|
||||
|
||||
# Config file
|
||||
if self.args.config:
|
||||
argv.extend(['--config', self.args.config])
|
||||
argv.extend(["--config", self.args.config])
|
||||
|
||||
# Advanced arguments
|
||||
if getattr(self.args, 'no_preserve_code_blocks', False):
|
||||
argv.append('--no-preserve-code-blocks')
|
||||
if getattr(self.args, 'no_preserve_paragraphs', False):
|
||||
argv.append('--no-preserve-paragraphs')
|
||||
if getattr(self.args, 'interactive_enhancement', False):
|
||||
argv.append('--interactive-enhancement')
|
||||
if getattr(self.args, "no_preserve_code_blocks", False):
|
||||
argv.append("--no-preserve-code-blocks")
|
||||
if getattr(self.args, "no_preserve_paragraphs", False):
|
||||
argv.append("--no-preserve-paragraphs")
|
||||
if getattr(self.args, "interactive_enhancement", False):
|
||||
argv.append("--interactive-enhancement")
|
||||
|
||||
|
||||
def main() -> int:
|
||||
"""Entry point for create command.
|
||||
@@ -381,8 +383,8 @@ def main() -> int:
|
||||
return text.splitlines()
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
prog='skill-seekers create',
|
||||
description='Create skill from any source (auto-detects type)',
|
||||
prog="skill-seekers create",
|
||||
description="Create skill from any source (auto-detects type)",
|
||||
formatter_class=NoWrapFormatter,
|
||||
epilog=textwrap.dedent("""\
|
||||
Examples:
|
||||
@@ -416,19 +418,25 @@ Common Workflows:
|
||||
skill-seekers create <source> -p quick
|
||||
skill-seekers create <source> -p standard --enhance-level 2
|
||||
skill-seekers create <source> --chunk-for-rag
|
||||
""")
|
||||
"""),
|
||||
)
|
||||
|
||||
# Add arguments in default mode (universal only)
|
||||
add_create_arguments(parser, mode='default')
|
||||
add_create_arguments(parser, mode="default")
|
||||
|
||||
# Add hidden help mode flags (use underscore prefix to match CreateParser)
|
||||
parser.add_argument('--help-web', action='store_true', help=argparse.SUPPRESS, dest='_help_web')
|
||||
parser.add_argument('--help-github', action='store_true', help=argparse.SUPPRESS, dest='_help_github')
|
||||
parser.add_argument('--help-local', action='store_true', help=argparse.SUPPRESS, dest='_help_local')
|
||||
parser.add_argument('--help-pdf', action='store_true', help=argparse.SUPPRESS, dest='_help_pdf')
|
||||
parser.add_argument('--help-advanced', action='store_true', help=argparse.SUPPRESS, dest='_help_advanced')
|
||||
parser.add_argument('--help-all', action='store_true', help=argparse.SUPPRESS, dest='_help_all')
|
||||
parser.add_argument("--help-web", action="store_true", help=argparse.SUPPRESS, dest="_help_web")
|
||||
parser.add_argument(
|
||||
"--help-github", action="store_true", help=argparse.SUPPRESS, dest="_help_github"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--help-local", action="store_true", help=argparse.SUPPRESS, dest="_help_local"
|
||||
)
|
||||
parser.add_argument("--help-pdf", action="store_true", help=argparse.SUPPRESS, dest="_help_pdf")
|
||||
parser.add_argument(
|
||||
"--help-advanced", action="store_true", help=argparse.SUPPRESS, dest="_help_advanced"
|
||||
)
|
||||
parser.add_argument("--help-all", action="store_true", help=argparse.SUPPRESS, dest="_help_all")
|
||||
|
||||
# Parse arguments
|
||||
args = parser.parse_args()
|
||||
@@ -437,67 +445,62 @@ Common Workflows:
|
||||
if args._help_web:
|
||||
# Recreate parser with web-specific arguments
|
||||
parser_web = argparse.ArgumentParser(
|
||||
prog='skill-seekers create',
|
||||
description='Create skill from web documentation',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter
|
||||
prog="skill-seekers create",
|
||||
description="Create skill from web documentation",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
)
|
||||
add_create_arguments(parser_web, mode='web')
|
||||
add_create_arguments(parser_web, mode="web")
|
||||
parser_web.print_help()
|
||||
return 0
|
||||
elif args._help_github:
|
||||
parser_github = argparse.ArgumentParser(
|
||||
prog='skill-seekers create',
|
||||
description='Create skill from GitHub repository',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter
|
||||
prog="skill-seekers create",
|
||||
description="Create skill from GitHub repository",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
)
|
||||
add_create_arguments(parser_github, mode='github')
|
||||
add_create_arguments(parser_github, mode="github")
|
||||
parser_github.print_help()
|
||||
return 0
|
||||
elif args._help_local:
|
||||
parser_local = argparse.ArgumentParser(
|
||||
prog='skill-seekers create',
|
||||
description='Create skill from local codebase',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter
|
||||
prog="skill-seekers create",
|
||||
description="Create skill from local codebase",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
)
|
||||
add_create_arguments(parser_local, mode='local')
|
||||
add_create_arguments(parser_local, mode="local")
|
||||
parser_local.print_help()
|
||||
return 0
|
||||
elif args._help_pdf:
|
||||
parser_pdf = argparse.ArgumentParser(
|
||||
prog='skill-seekers create',
|
||||
description='Create skill from PDF file',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter
|
||||
prog="skill-seekers create",
|
||||
description="Create skill from PDF file",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
)
|
||||
add_create_arguments(parser_pdf, mode='pdf')
|
||||
add_create_arguments(parser_pdf, mode="pdf")
|
||||
parser_pdf.print_help()
|
||||
return 0
|
||||
elif args._help_advanced:
|
||||
parser_advanced = argparse.ArgumentParser(
|
||||
prog='skill-seekers create',
|
||||
description='Create skill - advanced options',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter
|
||||
prog="skill-seekers create",
|
||||
description="Create skill - advanced options",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
)
|
||||
add_create_arguments(parser_advanced, mode='advanced')
|
||||
add_create_arguments(parser_advanced, mode="advanced")
|
||||
parser_advanced.print_help()
|
||||
return 0
|
||||
elif args._help_all:
|
||||
parser_all = argparse.ArgumentParser(
|
||||
prog='skill-seekers create',
|
||||
description='Create skill - all options',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter
|
||||
prog="skill-seekers create",
|
||||
description="Create skill - all options",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
)
|
||||
add_create_arguments(parser_all, mode='all')
|
||||
add_create_arguments(parser_all, mode="all")
|
||||
parser_all.print_help()
|
||||
return 0
|
||||
|
||||
# Setup logging
|
||||
log_level = logging.DEBUG if args.verbose else (
|
||||
logging.WARNING if args.quiet else logging.INFO
|
||||
)
|
||||
logging.basicConfig(
|
||||
level=log_level,
|
||||
format='%(levelname)s: %(message)s'
|
||||
)
|
||||
log_level = logging.DEBUG if args.verbose else (logging.WARNING if args.quiet else logging.INFO)
|
||||
logging.basicConfig(level=log_level, format="%(levelname)s: %(message)s")
|
||||
|
||||
# Validate source provided
|
||||
if not args.source:
|
||||
@@ -507,5 +510,6 @@ Common Workflows:
|
||||
command = CreateCommand(args)
|
||||
return command.execute()
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
|
||||
Reference in New Issue
Block a user