diff --git a/archivebox/index/html.py b/archivebox/index/html.py index a46611d6..793a60af 100644 --- a/archivebox/index/html.py +++ b/archivebox/index/html.py @@ -1,7 +1,5 @@ __package__ = 'archivebox.index' -import os - from string import Template from datetime import datetime from typing import List, Optional, Iterator, Mapping @@ -30,11 +28,10 @@ from ..config import ( FAVICON_FILENAME, ) -join = lambda *paths: os.path.join(*paths) -MAIN_INDEX_TEMPLATE = join(TEMPLATES_DIR, 'main_index.html') -MINIMAL_INDEX_TEMPLATE = join(TEMPLATES_DIR, 'main_index_minimal.html') -MAIN_INDEX_ROW_TEMPLATE = join(TEMPLATES_DIR, 'main_index_row.html') -LINK_DETAILS_TEMPLATE = join(TEMPLATES_DIR, 'link_details.html') +MAIN_INDEX_TEMPLATE = str(Path(TEMPLATES_DIR) / 'main_index.html') +MINIMAL_INDEX_TEMPLATE = str(Path(TEMPLATES_DIR) / 'main_index_minimal.html') +MAIN_INDEX_ROW_TEMPLATE = str(Path(TEMPLATES_DIR) / 'main_index_row.html') +LINK_DETAILS_TEMPLATE = str(Path(TEMPLATES_DIR) / 'link_details.html') TITLE_LOADING_MSG = 'Not yet archived...' @@ -44,8 +41,8 @@ TITLE_LOADING_MSG = 'Not yet archived...' def parse_html_main_index(out_dir: Path=OUTPUT_DIR) -> Iterator[str]: """parse an archive index html file and return the list of urls""" - index_path = join(out_dir, HTML_INDEX_FILENAME) - if os.path.exists(index_path): + index_path = Path(out_dir) / HTML_INDEX_FILENAME + if index_path.exists(): with open(index_path, 'r', encoding='utf-8') as f: for line in f: if 'class="link-url"' in line: @@ -56,12 +53,12 @@ def parse_html_main_index(out_dir: Path=OUTPUT_DIR) -> Iterator[str]: def write_html_main_index(links: List[Link], out_dir: Path=OUTPUT_DIR, finished: bool=False) -> None: """write the html link index to a given path""" - copy_and_overwrite(join(TEMPLATES_DIR, FAVICON_FILENAME), join(out_dir, FAVICON_FILENAME)) - copy_and_overwrite(join(TEMPLATES_DIR, ROBOTS_TXT_FILENAME), join(out_dir, ROBOTS_TXT_FILENAME)) - copy_and_overwrite(join(TEMPLATES_DIR, STATIC_DIR_NAME), join(out_dir, STATIC_DIR_NAME)) + copy_and_overwrite(str(Path(TEMPLATES_DIR) / FAVICON_FILENAME), str(out_dir / FAVICON_FILENAME)) + copy_and_overwrite(str(Path(TEMPLATES_DIR) / ROBOTS_TXT_FILENAME), str(out_dir / ROBOTS_TXT_FILENAME)) + copy_and_overwrite(str(Path(TEMPLATES_DIR) / STATIC_DIR_NAME), str(out_dir / STATIC_DIR_NAME)) rendered_html = main_index_template(links, finished=finished) - atomic_write(join(out_dir, HTML_INDEX_FILENAME), rendered_html) + atomic_write(str(out_dir / HTML_INDEX_FILENAME), rendered_html) @enforce_types @@ -100,7 +97,7 @@ def main_index_row_template(link: Link) -> str: # before pages are finished archiving, show fallback loading favicon 'favicon_url': ( - join(ARCHIVE_DIR_NAME, link.timestamp, 'favicon.ico') + str(Path(ARCHIVE_DIR_NAME) / link.timestamp / 'favicon.ico') # if link['is_archived'] else 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=' ), @@ -119,7 +116,7 @@ def write_html_link_details(link: Link, out_dir: Optional[str]=None) -> None: out_dir = out_dir or link.link_dir rendered_html = link_details_template(link) - atomic_write(join(out_dir, HTML_INDEX_FILENAME), rendered_html) + atomic_write(str(Path(out_dir) / HTML_INDEX_FILENAME), rendered_html) @enforce_types