Преглед изворни кода

add fallback version detection mode

Nick Sweeting пре 2 година
родитељ
комит
d3d05f5f64
2 измењених фајлова са 11 додато и 3 уклоњено
  1. 9 1
      archivebox/config.py
  2. 2 2
      archivebox/main.py

+ 9 - 1
archivebox/config.py

@@ -377,7 +377,15 @@ ALLOWED_IN_OUTPUT_DIR = {
 }
 }
 
 
 def get_version(config):
 def get_version(config):
-    return importlib.metadata.version(__package__ or 'archivebox')
+    try:
+        return importlib.metadata.version(__package__ or 'archivebox')
+    except importlib.metadata.PackageNotFoundError:
+        pyproject_config = (config['PACKAGE_DIR'] / 'pyproject.toml').read_text()
+        for line in pyproject_config:
+            if line.startswith('version = '):
+                return line.split(' = ', 1)[-1].strip('"')
+
+    raise Exception('Failed to detect installed archivebox version!')
 
 
 def get_commit_hash(config):
 def get_commit_hash(config):
     try:
     try:

+ 2 - 2
archivebox/main.py

@@ -217,8 +217,8 @@ def version(quiet: bool=False,
     print(VERSION)
     print(VERSION)
     
     
     if not quiet:
     if not quiet:
-        # 0.6.3
-        # ArchiveBox v0.6.3 Cpython Linux Linux-4.19.121-linuxkit-x86_64-with-glibc2.28 x86_64 (in Docker) (in TTY)
+        # 0.7.1
+        # ArchiveBox v0.7.1 Cpython Linux Linux-4.19.121-linuxkit-x86_64-with-glibc2.28 x86_64 (in Docker) (in TTY)
         # DEBUG=False IN_DOCKER=True IN_QEMU=False IS_TTY=True TZ=UTC FS_ATOMIC=True FS_REMOTE=False FS_PERMS=644 FS_USER=501:20 SEARCH_BACKEND=ripgrep
         # DEBUG=False IN_DOCKER=True IN_QEMU=False IS_TTY=True TZ=UTC FS_ATOMIC=True FS_REMOTE=False FS_PERMS=644 FS_USER=501:20 SEARCH_BACKEND=ripgrep
         
         
         p = platform.uname()
         p = platform.uname()