config_dir = ""
-from utilities import SafeUnbuffered
+import utilities
PLUGIN_NAME = __version.PLUGIN_NAME
def run(self, path_to_ebook):
# make sure any unicode output gets converted safely with 'replace'
- sys.stdout=SafeUnbuffered(sys.stdout)
- sys.stderr=SafeUnbuffered(sys.stderr)
+ sys.stdout=utilities.SafeUnbuffered(sys.stdout)
+ sys.stderr=utilities.SafeUnbuffered(sys.stderr)
print("{0} v{1}: Trying to decrypt {2}".format(PLUGIN_NAME, PLUGIN_VERSION, os.path.basename(path_to_ebook)))
self.starttime = time.time()
#@@CALIBRE_COMPAT_CODE@@
-from ignoblekeyGenPassHash import generate_key
import sys
__license__ = 'GPL v3'
else:
return ud.normalize('NFC', str1) == ud.normalize('NFC', str2)
-def parseCustString(keystuff):
- userkeys = []
- ar = keystuff.split(':')
- for i in ar:
- try:
- name, ccn = i.split(',')
- # Generate Barnes & Noble EPUB user key from name and credit card number.
- userkeys.append(generate_key(name, ccn))
- except:
- pass
- return userkeys
# Wrap a stream so that output gets flushed immediately