home · contact · privacy
Switch to pathlib.
authorPlom Heller <plom@plomlompom.com>
Tue, 29 Sep 2026 12:48:27 +0000 (14:48 +0200)
committerPlom Heller <plom@plomlompom.com>
Tue, 29 Sep 2026 12:48:27 +0000 (14:48 +0200)
src/bookmaker/misc.py
src/run.py

index 9fa19214bbfb89ebf2bcbc0192f387817f50029a..ad986c53615a0165c896fdb4681426ef34df3889 100755 (executable)
@@ -5,7 +5,7 @@ from argparse import (
         RawDescriptionHelpFormatter
         )
 from io import BufferedReader, BytesIO
-from os.path import isfile
+from pathlib import Path
 from typing import Optional, Self
 # non-standard libs
 from pypdf import (
@@ -541,18 +541,17 @@ def args_to_pagelist(
     pages = []
     opened_files = []
     new_page_num = 0
-    for i, filename in enumerate(args_input_file):
-        if not isfile(filename):
-            raise ArgFail('i', f'{filename} is not a file')
-        file = open(filename, 'rb')
+    for i, path in enumerate([Path(filename) for filename in args_input_file]):
+        if not path.is_file():
+            raise ArgFail('i', f'{path} is not a file')
+        file = path.open('rb')
         opened_files += [file]
         try:
             reader = PdfReader(file)
         except PdfStreamError as e:
             for to_close in opened_files:
                 to_close.close()
-            raise ArgFail('i',
-                          f'cannot interpret {filename} as PDF file') from e
+            raise ArgFail('i', f'cannot interpret {path} as PDF file') from e
         range_string = None
         if args_page_range and len(args_page_range) > i:
             range_string = args_page_range[i]
@@ -564,7 +563,7 @@ def args_to_pagelist(
             pages += [page]
             if arg_analyze:
                 page.draw_borders((0.75, 0.0, 0.0))
-            print(f'-i, -p: read in {filename} page number {old_page_num+1} '
+            print(f'-i, -p: read in {path} page number {old_page_num+1} '
                   f'as new page {new_page_num}')
     return pages, opened_files
 
index 37fd4c4093676a90fcae35afab2702c1023ae67c..81abd80d0778565c7e2e9b8287a0a04f2eb29799 100755 (executable)
@@ -6,6 +6,7 @@ options that may also be used indepéndently and for other purposes.
 """
 
 # standard libs
+from pathlib import Path
 from sys import exit as sys_exit
 # ourselves
 from plomlib.setup import dependency_hint
@@ -56,7 +57,7 @@ def main(
 
     for file in opened_files:
         file.close()
-    with open(args.output_file, 'wb') as output_file:
+    with Path(args.output_file).open('wb') as output_file:
         writer.write(output_file)