Restore top-level list command compatibility

This commit is contained in:
Nick Sweeting
2026-03-15 05:04:31 -07:00
parent c4d30a853f
commit 6b482c62df
3 changed files with 37 additions and 1 deletions

View File

@@ -41,6 +41,7 @@ class ArchiveBoxGroup(click.Group):
archive_commands = {
# High-level commands
'add': 'archivebox.cli.archivebox_add.main',
'list': 'archivebox.cli.archivebox_list.main',
'remove': 'archivebox.cli.archivebox_remove.main',
'run': 'archivebox.cli.archivebox_run.main',
'update': 'archivebox.cli.archivebox_update.main',

View File

@@ -0,0 +1,35 @@
#!/usr/bin/env python3
__package__ = 'archivebox.cli'
__command__ = 'archivebox list'
import sys
from typing import Optional
import rich_click as click
from archivebox.cli.archivebox_snapshot import list_snapshots
@click.command()
@click.option('--status', '-s', help='Filter by status (queued, started, sealed)')
@click.option('--url__icontains', help='Filter by URL contains')
@click.option('--url__istartswith', help='Filter by URL starts with')
@click.option('--tag', '-t', help='Filter by tag name')
@click.option('--crawl-id', help='Filter by crawl ID')
@click.option('--limit', '-n', type=int, help='Limit number of results')
def main(status: Optional[str], url__icontains: Optional[str], url__istartswith: Optional[str],
tag: Optional[str], crawl_id: Optional[str], limit: Optional[int]) -> None:
"""List Snapshots as JSONL."""
sys.exit(list_snapshots(
status=status,
url__icontains=url__icontains,
url__istartswith=url__istartswith,
tag=tag,
crawl_id=crawl_id,
limit=limit,
))
if __name__ == '__main__':
main()

View File

@@ -176,7 +176,7 @@ class TestSchemaIntegrity(unittest.TestCase):
columns = {row[1] for row in cursor.fetchall()}
conn.close()
required = {'id', 'snapshot_id', 'extractor', 'status', 'created_at', 'modified_at'}
required = {'id', 'snapshot_id', 'plugin', 'status', 'created_at', 'modified_at'}
for col in required:
self.assertIn(col, columns, f"Missing column: {col}")