diff options
author | toonn <toonn@toonn.io> | 2021-08-27 20:03:23 +0200 |
---|---|---|
committer | toonn <toonn@toonn.io> | 2021-08-27 20:03:23 +0200 |
commit | b8ef541acead63de1e6e77bde75cc5f25a818c5e (patch) | |
tree | 19a2719d5e33c0ab85f75e402348a3d02bd61525 | |
parent | f0ad7a0fe9d371b6ba34ce4aaa725202d8ed5444 (diff) | |
download | ranger-b8ef541acead63de1e6e77bde75cc5f25a818c5e.tar.gz |
fm: Switch to open23, forcing UTF-8
-rw-r--r-- | ranger/core/fm.py | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/ranger/core/fm.py b/ranger/core/fm.py index 57bc9af4..a9d5df7e 100644 --- a/ranger/core/fm.py +++ b/ranger/core/fm.py @@ -15,20 +15,21 @@ import stat import sys import ranger.api -from ranger.core.actions import Actions -from ranger.core.tab import Tab from ranger.container import settings -from ranger.container.tags import Tags, TagsDummy -from ranger.gui.ui import UI from ranger.container.bookmarks import Bookmarks +from ranger.container.directory import Directory +from ranger.container.tags import Tags, TagsDummy +from ranger.core.actions import Actions +from ranger.core.loader import Loader +from ranger.core.metadata import MetadataManager from ranger.core.runner import Runner +from ranger.core.tab import Tab +from ranger.ext import logutils from ranger.ext.img_display import get_image_displayer -from ranger.core.metadata import MetadataManager +from ranger.ext.open23 import open23 from ranger.ext.rifle import Rifle -from ranger.container.directory import Directory from ranger.ext.signals import SignalDispatcher -from ranger.core.loader import Loader -from ranger.ext import logutils +from ranger.gui.ui import UI class FM(Actions, # pylint: disable=too-many-instance-attributes @@ -49,7 +50,7 @@ class FM(Actions, # pylint: disable=too-many-instance-attributes SignalDispatcher.__init__(self) self.ui = ui if ui is not None else UI() self.start_paths = paths if paths is not None else ['.'] - self.directories = dict() + self.directories = {} self.bookmarks = bookmarks self.current_tab = 1 self.tabs = {} @@ -335,7 +336,7 @@ class FM(Actions, # pylint: disable=too-many-instance-attributes Groups the paths into a dictionary with their dirnames as keys and a set of basenames as entries. """ - groups = dict() + groups = {} for path in paths: abspath = os.path.abspath(os.path.expanduser(path)) dirname, basename = os.path.split(abspath) @@ -440,14 +441,14 @@ class FM(Actions, # pylint: disable=too-many-instance-attributes if ranger.args.choosedir and self.thisdir and self.thisdir.path: # XXX: UnicodeEncodeError: 'utf-8' codec can't encode character # '\udcf6' in position 42: surrogates not allowed - with open(ranger.args.choosedir, 'w') as fobj: + with open23(ranger.args.choosedir, 'w') as fobj: fobj.write(self.thisdir.path) self.bookmarks.remember(self.thisdir) self.bookmarks.save() # Save tabs if not ranger.args.clean and self.settings.save_tabs_on_exit and len(self.tabs) > 1: - with open(self.datapath('tabs'), 'a') as fobj: + with open23(self.datapath('tabs'), 'a') as fobj: # Don't save active tab since launching ranger changes the active tab fobj.write('\0'.join(v.path for t, v in self.tabs.items()) + '\0\0') |