Get rid of remaining uses of expanduser from calibre.utils.filenames

os.path.expanduser is now monkeypatched at startup on windows.
This commit is contained in:
Kovid Goyal 2019-07-12 20:21:14 +05:30
parent ad3156a58f
commit 3d3b469572
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
4 changed files with 14 additions and 18 deletions

View File

@ -9,7 +9,6 @@ import os
from PyQt5.Qt import QFileDialog, QObject from PyQt5.Qt import QFileDialog, QObject
from calibre.gui2.linux_file_dialogs import dialog_name, image_extensions from calibre.gui2.linux_file_dialogs import dialog_name, image_extensions
from calibre.utils.filenames import expanduser
from polyglot.builtins import unicode_type, string_or_bytes from polyglot.builtins import unicode_type, string_or_bytes
from polyglot.urllib import unquote from polyglot.urllib import unquote
@ -22,7 +21,7 @@ def select_initial_dir(q):
if os.path.exists(c): if os.path.exists(c):
return c return c
q = c q = c
return expanduser(u'~') return os.path.expanduser(u'~')
class FileDialog(QObject): class FileDialog(QObject):
@ -59,20 +58,20 @@ class FileDialog(QObject):
if combine_file_and_saved_dir: if combine_file_and_saved_dir:
bn = os.path.basename(default_dir) bn = os.path.basename(default_dir)
prev = dynamic.get(self.dialog_name, prev = dynamic.get(self.dialog_name,
expanduser(u'~')) os.path.expanduser(u'~'))
if os.path.exists(prev): if os.path.exists(prev):
if os.path.isfile(prev): if os.path.isfile(prev):
prev = os.path.dirname(prev) prev = os.path.dirname(prev)
else: else:
prev = expanduser(u'~') prev = os.path.expanduser(u'~')
initial_dir = os.path.join(prev, bn) initial_dir = os.path.join(prev, bn)
elif no_save_dir: elif no_save_dir:
initial_dir = expanduser(default_dir) initial_dir = os.path.expanduser(default_dir)
else: else:
initial_dir = dynamic.get(self.dialog_name, initial_dir = dynamic.get(self.dialog_name,
expanduser(default_dir)) os.path.expanduser(default_dir))
if not isinstance(initial_dir, string_or_bytes): if not isinstance(initial_dir, string_or_bytes):
initial_dir = expanduser(default_dir) initial_dir = os.path.expanduser(default_dir)
if not initial_dir or (not os.path.exists(initial_dir) and not ( if not initial_dir or (not os.path.exists(initial_dir) and not (
mode == QFileDialog.AnyFile and (no_save_dir or combine_file_and_saved_dir))): mode == QFileDialog.AnyFile and (no_save_dir or combine_file_and_saved_dir))):
initial_dir = select_initial_dir(initial_dir) initial_dir = select_initial_dir(initial_dir)

View File

@ -20,7 +20,6 @@ from calibre.gui2.widgets2 import Dialog
from calibre.gui2.viewer.main import vprefs from calibre.gui2.viewer.main import vprefs
from calibre.utils.icu import numeric_sort_key from calibre.utils.icu import numeric_sort_key
from calibre.utils.ipc.simple_worker import start_pipe_worker from calibre.utils.ipc.simple_worker import start_pipe_worker
from calibre.utils.filenames import expanduser
from calibre.utils.serialize import msgpack_dumps, msgpack_loads from calibre.utils.serialize import msgpack_dumps, msgpack_loads
@ -41,7 +40,7 @@ class PrintDialog(Dialog):
self.file_name = f = QLineEdit(self) self.file_name = f = QLineEdit(self)
val = dynamic.get(self.OUTPUT_NAME, None) val = dynamic.get(self.OUTPUT_NAME, None)
if not val: if not val:
val = expanduser('~') val = os.path.expanduser('~')
else: else:
val = os.path.dirname(val) val = os.path.dirname(val)
f.setText(os.path.abspath(os.path.join(val, self.default_file_name))) f.setText(os.path.abspath(os.path.join(val, self.default_file_name)))

View File

@ -27,11 +27,9 @@ def is_ok():
try: try:
from calibre.constants import filesystem_encoding from calibre.constants import filesystem_encoding
from calibre.utils.filenames import expanduser
from calibre.utils.config import dynamic from calibre.utils.config import dynamic
except ImportError: except ImportError:
filesystem_encoding = 'utf-8' filesystem_encoding = 'mbcs'
expanduser = os.path.expanduser
dynamic = {} dynamic = {}
@ -111,7 +109,7 @@ class Loop(QEventLoop):
def process_path(x): def process_path(x):
if isinstance(x, bytes): if isinstance(x, bytes):
x = x.decode(filesystem_encoding) x = x.decode(filesystem_encoding)
return os.path.abspath(expanduser(x)) return os.path.abspath(os.path.expanduser(x))
def select_initial_dir(q): def select_initial_dir(q):
@ -122,7 +120,7 @@ def select_initial_dir(q):
if os.path.exists(c): if os.path.exists(c):
return c return c
q = c q = c
return expanduser('~') return os.path.expanduser('~')
def run_file_dialog( def run_file_dialog(
@ -225,9 +223,9 @@ def run_file_dialog(
def get_initial_folder(name, title, default_dir='~', no_save_dir=False): def get_initial_folder(name, title, default_dir='~', no_save_dir=False):
name = name or 'dialog_' + title name = name or 'dialog_' + title
if no_save_dir: if no_save_dir:
initial_folder = expanduser(default_dir) initial_folder = os.path.expanduser(default_dir)
else: else:
initial_folder = dynamic.get(name, expanduser(default_dir)) initial_folder = dynamic.get(name, os.path.expanduser(default_dir))
if not initial_folder or not os.path.isdir(initial_folder): if not initial_folder or not os.path.isdir(initial_folder):
initial_folder = select_initial_dir(initial_folder) initial_folder = select_initial_dir(initial_folder)
return name, initial_folder return name, initial_folder

View File

@ -4,14 +4,14 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
''' Code to manage ebook library''' ''' Code to manage ebook library'''
import os
from polyglot.builtins import range from polyglot.builtins import range
def db(path=None, read_only=False): def db(path=None, read_only=False):
from calibre.db.legacy import LibraryDatabase from calibre.db.legacy import LibraryDatabase
from calibre.utils.config import prefs from calibre.utils.config import prefs
from calibre.utils.filenames import expanduser return LibraryDatabase(os.path.expanduser(path) if path else prefs['library_path'],
return LibraryDatabase(expanduser(path) if path else prefs['library_path'],
read_only=read_only) read_only=read_only)