]> xmof Git - DeDRM.git/commit
Fix automatic import of decryption keys on Linux with wine
authorAdam Plaice <plaice.adam+github@gmail.com>
Wed, 12 Jun 2019 19:13:25 +0000 (21:13 +0200)
committerAdam Plaice <plaice.adam+github@gmail.com>
Wed, 12 Jun 2019 19:13:25 +0000 (21:13 +0200)
commit4bd89fa4aaf1a1e58b7f9d7ab20c8dbc8a59f4ec
treefbdd3b6f307e5408278ebb2db74b912e24cd80b1
parentb71ed3887ee547c714c8223d1d74bc4e5cdfe809
Fix automatic import of decryption keys on Linux with wine

By default, the wineprefix passed to WineGetKeys is "". Unfortunately,

    os.path.abspath(os.path.expanduser(os.path.expandvars("")))

returns the path to the working directory, which depends on the
directory from which calibre was invoked.  Hence under current
behaviour the wineprefix becomes that path, no longer being the empty
string.  This means that the `cmdline` that's run is always
`WINEPREFIX=/some/path/ wine python.exe [...]`, rather than `wine
python.exe [...]` even under default conditions, when the wineprefix
hasn't been changed.  Unless the user is improbably lucky and invokes
calibre from ~/.wine/ (the default wineprefix), this causes automatic
retrieval of the keys to always fail.

The bug was introduced in f2190a67558a.

Checking for "" allows for correct behaviour in the default case,
while keeping the nice behaviour of expanding `~`.
dedrm_src/wineutils.py