From 7e9d195d138aac87937754950dca4edc5d804459 Mon Sep 17 00:00:00 2001 From: Cristian Date: Sat, 22 Aug 2020 09:11:17 -0500 Subject: [PATCH] feat: Update `list` command to sort using sqlite --- archivebox/main.py | 4 ++-- tests/test_list.py | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/archivebox/main.py b/archivebox/main.py index 6daebc37..97659e71 100644 --- a/archivebox/main.py +++ b/archivebox/main.py @@ -733,8 +733,8 @@ def list_all(filter_patterns_str: Optional[str]=None, after=after, ) - #if sort: - # snapshots = sorted(links, key=lambda link: getattr(link, sort)) + if sort: + snapshots = snapshots.order_by(sort) folders = list_folders( links=snapshots, diff --git a/tests/test_list.py b/tests/test_list.py index e8239c25..fdc59e47 100644 --- a/tests/test_list.py +++ b/tests/test_list.py @@ -35,4 +35,18 @@ def test_list_html_index(process, disable_extractors_dict): def test_list_index_with_wrong_flags(process): list_process = subprocess.run(["archivebox", "list", "--index"], capture_output=True) - assert "--index can only be used with --json or --html options." in list_process.stderr.decode("utf-8") \ No newline at end of file + assert "--index can only be used with --json or --html options." in list_process.stderr.decode("utf-8") + +def test_link_sort_by_url(process, disable_extractors_dict): + subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/iana.org.html", "--depth=0"], + capture_output=True, env=disable_extractors_dict) + subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/example.com.html", "--depth=0"], + capture_output=True, env=disable_extractors_dict) + + list_process = subprocess.run(["archivebox", "list"], capture_output=True) + link_list = list_process.stdout.decode("utf-8").split("\n") + assert "http://127.0.0.1:8080/static/iana.org.html" in link_list[0] + + list_process = subprocess.run(["archivebox", "list", "--sort=url"], capture_output=True) + link_list = list_process.stdout.decode("utf-8").split("\n") + assert "http://127.0.0.1:8080/static/example.com.html" in link_list[0] \ No newline at end of file