Skip to content

Commit

Permalink
Fix plugin when libcrypto override variable is not set
Browse files Browse the repository at this point in the history
  • Loading branch information
Leseratte10 committed Aug 7, 2024
1 parent 963d42f commit 0b228ed
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions calibre-plugin/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,18 +285,23 @@ def initialize(self):

# Okay, now all the modules are available, import the Adobe modules.


# On some systems, like NixOS, the path to libcrypto and libssl
# isn't autodetected correctly. To fix this, allow overriding
# these paths using environment variables.
# Crucial to import first, as libadobe imports oscrypto as well

libcrypto_path = os.environ["ACSM_LIBCRYPTO"]
libssl_path = os.environ["ACSM_LIBSSL"]
libcrypto_path = os.getenv("ACSM_LIBCRYPTO", None)
libssl_path = os.getenv("ACSM_LIBSSL", None)

if os.path.exists(libcrypto_path) and os.path.exists(libssl_path):
import oscrypto
if libcrypto_path is not None and libssl_path is not None:
if os.path.exists(libcrypto_path) and os.path.exists(libssl_path):
import oscrypto # type: ignore

oscrypto.use_openssl(
libcrypto_path = libcrypto_path,
libssl_path = libssl_path,
)
oscrypto.use_openssl(
libcrypto_path = libcrypto_path,
libssl_path = libssl_path,
)


from libadobe import createDeviceKeyFile, update_account_path, sendHTTPRequest
Expand Down

0 comments on commit 0b228ed

Please sign in to comment.