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 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.urllib import unquote
@ -22,7 +21,7 @@ def select_initial_dir(q):
if os.path.exists(c):
return c
q = c
return expanduser(u'~')
return os.path.expanduser(u'~')
class FileDialog(QObject):
@ -59,20 +58,20 @@ class FileDialog(QObject):
if combine_file_and_saved_dir:
bn = os.path.basename(default_dir)
prev = dynamic.get(self.dialog_name,
expanduser(u'~'))
os.path.expanduser(u'~'))
if os.path.exists(prev):
if os.path.isfile(prev):
prev = os.path.dirname(prev)
else:
prev = expanduser(u'~')
prev = os.path.expanduser(u'~')
initial_dir = os.path.join(prev, bn)
elif no_save_dir:
initial_dir = expanduser(default_dir)
initial_dir = os.path.expanduser(default_dir)
else:
initial_dir = dynamic.get(self.dialog_name,
expanduser(default_dir))
os.path.expanduser(default_dir))
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 (
mode == QFileDialog.AnyFile and (no_save_dir or combine_file_and_saved_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.utils.icu import numeric_sort_key
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
@ -41,7 +40,7 @@ class PrintDialog(Dialog):
self.file_name = f = QLineEdit(self)
val = dynamic.get(self.OUTPUT_NAME, None)
if not val:
val = expanduser('~')
val = os.path.expanduser('~')
else:
val = os.path.dirname(val)
f.setText(os.path.abspath(os.path.join(val, self.default_file_name)))

View File

@ -27,11 +27,9 @@ def is_ok():
try:
from calibre.constants import filesystem_encoding
from calibre.utils.filenames import expanduser
from calibre.utils.config import dynamic
except ImportError:
filesystem_encoding = 'utf-8'
expanduser = os.path.expanduser
filesystem_encoding = 'mbcs'
dynamic = {}
@ -111,7 +109,7 @@ class Loop(QEventLoop):
def process_path(x):
if isinstance(x, bytes):
x = x.decode(filesystem_encoding)
return os.path.abspath(expanduser(x))
return os.path.abspath(os.path.expanduser(x))
def select_initial_dir(q):
@ -122,7 +120,7 @@ def select_initial_dir(q):
if os.path.exists(c):
return c
q = c
return expanduser('~')
return os.path.expanduser('~')
def run_file_dialog(
@ -225,9 +223,9 @@ def run_file_dialog(
def get_initial_folder(name, title, default_dir='~', no_save_dir=False):
name = name or 'dialog_' + title
if no_save_dir:
initial_folder = expanduser(default_dir)
initial_folder = os.path.expanduser(default_dir)
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):
initial_folder = select_initial_dir(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'''
import os
from polyglot.builtins import range
def db(path=None, read_only=False):
from calibre.db.legacy import LibraryDatabase
from calibre.utils.config import prefs
from calibre.utils.filenames import expanduser
return LibraryDatabase(expanduser(path) if path else prefs['library_path'],
return LibraryDatabase(os.path.expanduser(path) if path else prefs['library_path'],
read_only=read_only)