Browse Source

fix windows shutil not able to handle pathlib

Nick Sweeting 5 năm trước cách đây
mục cha
commit
2db5e51b54
2 tập tin đã thay đổi với 5 bổ sung2 xóa
  1. 3 0
      .github/workflows/test.yml
  2. 2 2
      archivebox/config.py

+ 3 - 0
.github/workflows/test.yml

@@ -78,6 +78,9 @@ jobs:
         run: |
           pwd
           ls
+
+      - name: Archivebox version
+        run: |
           archivebox version
 
       - name: Test built package with pytest

+ 2 - 2
archivebox/config.py

@@ -320,7 +320,7 @@ DERIVED_CONFIG_DEFAULTS: ConfigDefaultDict = {
     'READABILITY_VERSION':      {'default': lambda c: bin_version(c['READABILITY_BINARY']) if c['USE_READABILITY'] else None},
 
     'USE_MERCURY':              {'default': lambda c: c['USE_MERCURY'] and c['SAVE_MERCURY']},
-    'MERCURY_VERSION':          {'default': lambda c: '1.0.0' if shutil.which(bin_path(c['MERCURY_BINARY'])) else None},  # mercury is unversioned
+    'MERCURY_VERSION':          {'default': lambda c: '1.0.0' if shutil.which(str(bin_path(c['MERCURY_BINARY']))) else None},  # mercury is unversioned
 
     'USE_GIT':                  {'default': lambda c: c['USE_GIT'] and c['SAVE_GIT']},
     'GIT_VERSION':              {'default': lambda c: bin_version(c['GIT_BINARY']) if c['USE_GIT'] else None},
@@ -595,7 +595,7 @@ def bin_path(binary: Optional[str]) -> Optional[str]:
     if node_modules_bin.exists():
         return str(node_modules_bin.resolve())
 
-    return shutil.which(Path(binary).expanduser()) or shutil.which(binary) or binary
+    return shutil.which(str(Path(binary).expanduser())) or shutil.which(str(binary)) or binary
 
 def bin_hash(binary: Optional[str]) -> Optional[str]:
     if binary is None: