feat: replace --start/--end with --days param on backup command

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-21 23:20:30 +08:00
parent d3ff2dae98
commit 9997ee6f32

View File

@@ -1,4 +1,4 @@
from datetime import timezone from datetime import datetime, timedelta, timezone
from pathlib import Path from pathlib import Path
import click import click
@@ -31,11 +31,14 @@ def scan(ctx, count):
@main.command() @main.command()
@click.option("--start", required=True, type=click.DateTime(formats=["%Y-%m-%d"]), help="Start date (UTC, inclusive)") @click.option("--days", required=True, type=int, help="Backup orders older than N days (min 1)")
@click.option("--end", required=True, type=click.DateTime(formats=["%Y-%m-%d"]), help="End date (UTC, exclusive)")
@click.option("--scan", "scan_path", default=None, type=click.Path(), help="Path to scan CSV (default: latest in scan_dir)") @click.option("--scan", "scan_path", default=None, type=click.Path(), help="Path to scan CSV (default: latest in scan_dir)")
@click.pass_context @click.pass_context
def backup(ctx, start, end, scan_path): def backup(ctx, days, scan_path):
if days < 1:
click.echo("Error: --days must be at least 1")
raise SystemExit(1)
cfg = load_config(ctx.obj["config_path"]) cfg = load_config(ctx.obj["config_path"])
from order_bak.backup import backup_orders from order_bak.backup import backup_orders
@@ -48,18 +51,14 @@ def backup(ctx, start, end, scan_path):
raise SystemExit(1) raise SystemExit(1)
scan_file = scan_files[-1] scan_file = scan_files[-1]
start_utc = start.replace(tzinfo=timezone.utc) today_utc = datetime.now(timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0)
end_utc = end.replace(tzinfo=timezone.utc) cutoff = today_utc - timedelta(days=days)
if start_utc >= end_utc:
click.echo("Error: --start must be before --end")
raise SystemExit(1)
click.echo(f"Backing up orders before {cutoff.strftime('%Y-%m-%d')} UTC")
backup_orders( backup_orders(
scan_path=scan_file, scan_path=scan_file,
backup_dir=Path("./backups"), backup_dir=Path("./backups"),
start=start_utc, cutoff=cutoff,
end=end_utc,
) )