mirror of
https://github.com/apprenticeharper/DeDRM_tools
synced 2024-12-27 09:58:59 +01:00
afa4ac5716
THIS IS ON THE MASTER BRANCH. The Master branch will be Python 3.0 from now on. While Python 2.7 support will not be deliberately broken, all efforts should now focus on Python 3.0 compatibility. I can see a lot of work has been done. There's more to do. I've bumped the version number of everything I came across to the next major number for Python 3.0 compatibility indication. Thanks everyone. I hope to update here at least once a week until we have a stable 7.0 release for calibre 5.0
41 lines
1.6 KiB
Python
41 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from __future__ import with_statement
|
|
|
|
from calibre_plugins.dedrm.ignoblekeygen import generate_key
|
|
|
|
__license__ = 'GPL v3'
|
|
|
|
DETAILED_MESSAGE = \
|
|
'You have personal information stored in this plugin\'s customization '+ \
|
|
'string from a previous version of this plugin.\n\n'+ \
|
|
'This new version of the plugin can convert that info '+ \
|
|
'into key data that the new plugin can then use (which doesn\'t '+ \
|
|
'require personal information to be stored/displayed in an insecure '+ \
|
|
'manner like the old plugin did).\n\nIf you choose NOT to migrate this data at this time '+ \
|
|
'you will be prompted to save that personal data to a file elsewhere; and you\'ll have '+ \
|
|
'to manually re-configure this plugin with your information.\n\nEither way... ' + \
|
|
'this new version of the plugin will not be responsible for storing that personal '+ \
|
|
'info in plain sight any longer.'
|
|
|
|
def uStrCmp (s1, s2, caseless=False):
|
|
import unicodedata as ud
|
|
str1 = s1 if isinstance(s1, unicode) else s1.decode('utf-8')
|
|
str2 = s2 if isinstance(s2, unicode) else s2.decode('utf-8')
|
|
if caseless:
|
|
return ud.normalize('NFC', str1.lower()) == ud.normalize('NFC', str2.lower())
|
|
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
|