]> xmof Git - DeDRM.git/commitdiff
Support Python 2.7 and Python 3 winreg imports on Windows
authorDerek Tracy <tracyde@gmail.com>
Thu, 25 Feb 2021 01:54:39 +0000 (20:54 -0500)
committerNoDRM <no_drm123@protonmail.com>
Tue, 16 Nov 2021 20:22:13 +0000 (21:22 +0100)
DeDRM_plugin/adobekey.py
DeDRM_plugin/ignoblekey.py
DeDRM_plugin/kindlekey.py
DeDRM_plugin/simpleprefs.py
Obok_plugin/obok/legacy_obok.py
Obok_plugin/obok/obok.py
Other_Tools/DRM_Key_Scripts/Adobe_Digital_Editions/adobekey.pyw
Other_Tools/DRM_Key_Scripts/Barnes_and_Noble_ePubs/ignoblekey.pyw
Other_Tools/DRM_Key_Scripts/Kindle_for_Mac_and_PC/kindlekey.pyw
Other_Tools/Kobo/obok.py

index fea253369cb904b79386773db326d8ce9cd19728..3565cf66d86c121bbda46a21a8e5fec94df6f8c4 100644 (file)
@@ -117,7 +117,10 @@ if iswindows:
         c_long, c_ulong
 
     from ctypes.wintypes import LPVOID, DWORD, BOOL
-    import winreg
+    try:
+        import winreg
+    except ImportError:
+        import _winreg as winreg
 
     def _load_crypto_libcrypto():
         from ctypes.util import find_library
index 0c3662e52479e8a5c1e660c81f9910ccd1ba58b5..ea9785a1e837789457b961393d7c6cea1639d2c8 100644 (file)
@@ -101,7 +101,10 @@ def getNookLogFiles():
     logFiles = []
     found = False
     if iswindows:
-        import winreg
+        try:
+            import winreg
+        except ImportError:
+            import _winreg as winreg
 
         # some 64 bit machines do not have the proper registry key for some reason
         # or the python interface to the 32 vs 64 bit registry is broken
index 68cea6bf0e6f996d27d82e98f59eeb42ac7918cc..8321923e7d579d8e7a4bcb7bac0242c2018aa57b 100644 (file)
@@ -195,7 +195,11 @@ if iswindows:
         create_unicode_buffer, create_string_buffer, CFUNCTYPE, addressof, \
         string_at, Structure, c_void_p, cast
 
-    import winreg
+    try:
+        import winreg
+    except ImportError:
+        import _winreg as winreg
+
     MAX_PATH = 255
     kernel32 = windll.kernel32
     advapi32 = windll.advapi32
index 65f2b59e2f774ecf07c2f96e8a9c395c09923790..bf8c5d464d411c369f0671edcc3bafc932b1d515 100644 (file)
@@ -20,7 +20,10 @@ class SimplePrefs(object):
             self.file2key[filename] = key
         self.target = target + 'Prefs'
         if sys.platform.startswith('win'):
-            import winreg
+            try:
+                import winreg
+            except ImportError:
+                import _winreg as winreg
             regkey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\")
             path = winreg.QueryValueEx(regkey, 'Local AppData')[0]
             prefdir = path + os.sep + self.target
index caf24f2afacd298ec52bd9be0724d557dd263a02..9a9ae5dc28cf4793b05551344c4b7ae0204d7261 100644 (file)
@@ -42,7 +42,10 @@ class legacy_obok(object):
         pwsdid = ''
         try:
             if sys.platform.startswith('win'):
-                import winreg
+                try:
+                    import winreg
+                except ImportError:
+                    import _winreg as winreg
                 regkey_browser = winreg.OpenKey(winreg.HKEY_CURRENT_USER, 'Software\\Kobo\\Kobo Desktop Edition\\Browser')
                 cookies = winreg.QueryValueEx(regkey_browser, 'cookies')
                 bytearrays = cookies[0]
index ae8ff899d4ec076559c65603d7c5bbee8df3c6a1..f680341fa1995cc1293fcd2b4a9664b99a22113b 100644 (file)
@@ -360,7 +360,10 @@ class KoboLibrary(object):
 
             if (self.kobodir == u""):
                 if sys.platform.startswith('win'):
-                    import winreg
+                    try:
+                        import winreg
+                    except ImportError:
+                        import _winreg as winreg
                     if sys.getwindowsversion().major > 5:
                         if 'LOCALAPPDATA' in os.environ.keys():
                             # Python 2.x does not return unicode env. Use Python 3.x
index bc33567548dbcdbc69b8a12c643feaf373429107..cbc30389f913d5ad8cb86df8976dc97887d9fe73 100644 (file)
@@ -129,7 +129,10 @@ if iswindows:
         c_long, c_ulong
 
     from ctypes.wintypes import LPVOID, DWORD, BOOL
-    import winreg
+    try:
+        import winreg
+    except ImportError:
+        import _winreg as winreg
 
     def _load_crypto_libcrypto():
         from ctypes.util import find_library
index 7365c94c44d42c6c17fad7961c9c4ef03661b0c7..f6a93ebf45de3f4badf69cece1f95a9d3c49884e 100644 (file)
@@ -98,7 +98,10 @@ def getNookLogFiles():
     logFiles = []
     found = False
     if iswindows:
-        import winreg
+        try:
+            import winreg
+        except ImportError:
+            import _winreg as winreg
 
         # some 64 bit machines do not have the proper registry key for some reason
         # or the python interface to the 32 vs 64 bit registry is broken
index 4837627a9a830ad10a9f3bf3e8a023537aa14c8f..99b8d22743555dcd83882df852f2f3551abcf481 100644 (file)
@@ -177,7 +177,10 @@ if iswindows:
         create_unicode_buffer, create_string_buffer, CFUNCTYPE, addressof, \
         string_at, Structure, c_void_p, cast
 
-    import winreg
+    try:
+        import winreg
+    except ImportError:
+        import _winreg as winreg
     MAX_PATH = 255
     kernel32 = windll.kernel32
     advapi32 = windll.advapi32
index 98608c5cb978dfce3c178ce9097cf2f2b8c8f64d..6f871149d5a7baa79c4c23e2200c9c6b1ffac829 100644 (file)
@@ -346,7 +346,10 @@ class KoboLibrary(object):
         if (self.kobodir == u""):
             # step 4. we haven't found a device with serials, so try desktop apps
             if sys.platform.startswith('win'):
-                import winreg
+                try:
+                    import winreg
+                except ImportError:
+                    import _winreg as winreg
                 if sys.getwindowsversion().major > 5:
                     if 'LOCALAPPDATA' in os.environ.keys():
                         # Python 2.x does not return unicode env. Use Python 3.x