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 ()