update
This commit is contained in:
2 files changed
+25
-10
No files matched your search
+13
-8
@@ -20,15 +20,16 @@ def list_templates(
|
||||
bool, typer.Option("--cached", "-c", help="List only cached templates.")
|
||||
] = False,
|
||||
) -> None:
|
||||
"""List available gitignore templates."""
|
||||
generator = GitignoreGenerator()
|
||||
try:
|
||||
if cached:
|
||||
templates = generator.list_cached_templates()
|
||||
typer.secho("Cached Templates:", fg=typer.colors.CYAN, bold=True)
|
||||
typer.secho(" Cached Templates:", fg=typer.colors.CYAN, bold=True)
|
||||
else:
|
||||
typer.secho("Fetching available templates...", fg=typer.colors.YELLOW)
|
||||
templates = generator.list_available_templates()
|
||||
typer.secho("Available Templates:", fg=typer.colors.CYAN, bold=True)
|
||||
typer.secho(" Available Templates:", fg=typer.colors.CYAN, bold=True)
|
||||
|
||||
if not templates:
|
||||
typer.echo("No templates found.")
|
||||
@@ -38,7 +39,7 @@ def list_templates(
|
||||
typer.echo(", ".join(templates))
|
||||
|
||||
except Exception as e:
|
||||
typer.secho(f"Error: {e}", fg=typer.colors.RED)
|
||||
typer.secho(f" Error: {e}", fg=typer.colors.RED)
|
||||
raise typer.Exit(code=1)
|
||||
|
||||
|
||||
@@ -67,6 +68,7 @@ def generate_gitignore(
|
||||
typer.Option("--offline", help="Use only cached templates."),
|
||||
] = False,
|
||||
) -> None:
|
||||
"""Generate a .gitignore file."""
|
||||
generator = GitignoreGenerator()
|
||||
|
||||
if not templates:
|
||||
@@ -79,7 +81,7 @@ def generate_gitignore(
|
||||
available = generator.list_available_templates()
|
||||
|
||||
if not available:
|
||||
typer.secho("No templates available.", fg=typer.colors.RED)
|
||||
typer.secho(" No templates available.", fg=typer.colors.RED)
|
||||
raise typer.Exit(code=1)
|
||||
|
||||
from devgen.utils import get_questionary_style
|
||||
@@ -103,11 +105,14 @@ def generate_gitignore(
|
||||
style=style,
|
||||
).ask()
|
||||
|
||||
if choice is None:
|
||||
raise typer.Exit(code=130)
|
||||
|
||||
if not choice or choice.startswith("Done"):
|
||||
break
|
||||
|
||||
selected_templates.append(choice)
|
||||
typer.secho(f"Added '{choice}'", fg=typer.colors.GREEN)
|
||||
typer.secho(f"➕ Added '{choice}'", fg=typer.colors.GREEN)
|
||||
|
||||
templates = selected_templates
|
||||
|
||||
@@ -118,10 +123,10 @@ def generate_gitignore(
|
||||
except typer.Exit:
|
||||
raise
|
||||
except KeyboardInterrupt:
|
||||
typer.secho("\n Cancelled by user", fg=typer.colors.YELLOW)
|
||||
typer.secho("\nCancelled by user", fg=typer.colors.YELLOW)
|
||||
raise typer.Exit()
|
||||
except Exception as e:
|
||||
typer.secho(f"Error fetching templates: {e}", fg=typer.colors.RED)
|
||||
typer.secho(f"❌ Error fetching templates: {e}", fg=typer.colors.RED)
|
||||
raise typer.Exit(code=1)
|
||||
|
||||
try:
|
||||
@@ -129,5 +134,5 @@ def generate_gitignore(
|
||||
templates, output_file=output, append=append, offline=offline
|
||||
)
|
||||
except Exception as e:
|
||||
typer.secho(f"Error generating .gitignore: {e}", fg=typer.colors.RED)
|
||||
typer.secho(f"❌ Error generating .gitignore: {e}", fg=typer.colors.RED)
|
||||
raise typer.Exit(code=1)
|
||||
+12
-2
@@ -26,11 +26,12 @@ def generate_license(
|
||||
),
|
||||
] = "LICENSE",
|
||||
) -> None:
|
||||
"""Interactively generate a license file."""
|
||||
generator = LicenseGenerator()
|
||||
licenses = generator.list_licenses()
|
||||
|
||||
if not licenses:
|
||||
typer.secho("❌ No license templates found.", fg=typer.colors.RED)
|
||||
typer.secho(" No license templates found.", fg=typer.colors.RED)
|
||||
raise typer.Exit(code=1)
|
||||
|
||||
from devgen.utils import get_questionary_style
|
||||
@@ -55,20 +56,27 @@ def generate_license(
|
||||
style=style,
|
||||
).ask()
|
||||
|
||||
if license_key is None:
|
||||
raise typer.Exit(code=130)
|
||||
|
||||
if not license_key:
|
||||
raise typer.Exit()
|
||||
|
||||
# 2. Enter Author Name
|
||||
# Try to guess from git config if possible, but for now just empty default
|
||||
author = questionary.text("Enter Author Name:", style=style).ask()
|
||||
if author is None:
|
||||
raise typer.Exit(code=130)
|
||||
|
||||
if not author:
|
||||
typer.secho("❌ Author name is required.", fg=typer.colors.RED)
|
||||
typer.secho(" Author name is required.", fg=typer.colors.RED)
|
||||
raise typer.Exit(code=1)
|
||||
|
||||
# 3. Enter Year
|
||||
current_year = str(datetime.now().year)
|
||||
year = questionary.text("Enter Year:", default=current_year, style=style).ask()
|
||||
if year is None:
|
||||
raise typer.Exit(code=130)
|
||||
|
||||
# Generate
|
||||
try:
|
||||
@@ -79,6 +87,8 @@ def generate_license(
|
||||
overwrite = questionary.confirm(
|
||||
f"File {output} already exists. Overwrite?", default=False, style=style
|
||||
).ask()
|
||||
if overwrite is None:
|
||||
raise typer.Exit(code=130)
|
||||
if not overwrite:
|
||||
typer.secho("Operation cancelled.", fg=typer.colors.YELLOW)
|
||||
raise typer.Exit()
|
||||
|
||||
Reference in new issue
Block a user