|
@@ -3,6 +3,7 @@ __package__ = 'archivebox.index'
|
|
|
import os
|
|
import os
|
|
|
import sys
|
|
import sys
|
|
|
import json as pyjson
|
|
import json as pyjson
|
|
|
|
|
+from pathlib import Path
|
|
|
|
|
|
|
|
from datetime import datetime
|
|
from datetime import datetime
|
|
|
from typing import List, Optional, Iterator, Any
|
|
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:
|
|
with open(index_path, 'r', encoding='utf-8') as f:
|
|
|
links = pyjson.load(f)['links']
|
|
links = pyjson.load(f)['links']
|
|
|
for link_json in 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 ()
|
|
return ()
|
|
|
|
|
|