From 9815241b78ecc3a4cc9b0f80ccbcbf1357cd621f Mon Sep 17 00:00:00 2001 From: Cristian Date: Wed, 22 Jul 2020 14:22:00 -0500 Subject: [PATCH] feat: Fallback to link detail when there is an issue loading a link from main index --- archivebox/index/json.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/archivebox/index/json.py b/archivebox/index/json.py index deca4bea..212c09c3 100644 --- a/archivebox/index/json.py +++ b/archivebox/index/json.py @@ -3,6 +3,7 @@ __package__ = 'archivebox.index' import os import sys import json as pyjson +from pathlib import Path from datetime import datetime from typing import List, Optional, Iterator, Any @@ -49,7 +50,11 @@ def parse_json_main_index(out_dir: str=OUTPUT_DIR) -> Iterator[Link]: with open(index_path, 'r', encoding='utf-8') as f: links = pyjson.load(f)['links'] for link_json in links: - yield Link.from_json(link_json) + try: + yield Link.from_json(link_json) + except KeyError: + detail_index_path = OUTPUT_DIR / Path(f"archive/{link_json['timestamp']}") + yield parse_json_link_details(str(detail_index_path)) return ()