feat: Fallback to link detail when there is an issue loading a link from main index

This commit is contained in:
Cristian 2020-07-22 14:22:00 -05:00
parent 0aa3ee06a9
commit 9815241b78

View file

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