summaryrefslogtreecommitdiffstats
path: root/DeDRM_plugin/argv_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'DeDRM_plugin/argv_utils.py')
-rw-r--r--DeDRM_plugin/argv_utils.py59
1 files changed, 10 insertions, 49 deletions
diff --git a/DeDRM_plugin/argv_utils.py b/DeDRM_plugin/argv_utils.py
index 37bfb89..2ca4776 100644
--- a/DeDRM_plugin/argv_utils.py
+++ b/DeDRM_plugin/argv_utils.py
@@ -1,14 +1,17 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-import sys, os
-import locale
-import codecs
-import importlib
+import sys
# get sys.argv arguments and encode them into utf-8
-def unicode_argv():
- if sys.platform.startswith('win'):
+def unicode_argv(default_name):
+
+ try:
+ from calibre.constants import iswindows
+ except:
+ iswindows = sys.platform.startswith('win')
+
+ if iswindows:
# Uses shell32.GetCommandLineArgvW to get sys.argv as a list of Unicode
# strings.
@@ -38,50 +41,8 @@ def unicode_argv():
range(start, argc.value)]
# if we don't have any arguments at all, just pass back script name
# this should never happen
- return ["DeDRM.py"]
+ return [ default_name ]
else:
argvencoding = sys.stdin.encoding or "utf-8"
return [arg if (isinstance(arg, str) or isinstance(arg,unicode)) else str(arg, argvencoding) for arg in sys.argv]
-
-def add_cp65001_codec():
- try:
- codecs.lookup('cp65001')
- except LookupError:
- codecs.register(
- lambda name: name == 'cp65001' and codecs.lookup('utf-8') or None)
- return
-
-
-def set_utf8_default_encoding():
- if sys.getdefaultencoding() == 'utf-8':
- return
-
- # Regenerate setdefaultencoding.
- importlib.reload(sys)
- sys.setdefaultencoding('utf-8')
-
- for attr in dir(locale):
- if attr[0:3] != 'LC_':
- continue
- aref = getattr(locale, attr)
- try:
- locale.setlocale(aref, '')
- except locale.Error:
- continue
- try:
- lang = locale.getlocale(aref)[0]
- except (TypeError, ValueError):
- continue
- if lang:
- try:
- locale.setlocale(aref, (lang, 'UTF-8'))
- except locale.Error:
- os.environ[attr] = lang + '.UTF-8'
- try:
- locale.setlocale(locale.LC_ALL, '')
- except locale.Error:
- pass
- return
-
-