about summary refs log tree commit diff stats
path: root/ranger
diff options
context:
space:
mode:
authortoonn <toonn@toonn.io>2021-08-27 20:03:23 +0200
committertoonn <toonn@toonn.io>2021-08-27 20:03:23 +0200
commitb8ef541acead63de1e6e77bde75cc5f25a818c5e (patch)
tree19a2719d5e33c0ab85f75e402348a3d02bd61525 /ranger
parentf0ad7a0fe9d371b6ba34ce4aaa725202d8ed5444 (diff)
downloadranger-b8ef541acead63de1e6e77bde75cc5f25a818c5e.tar.gz
fm: Switch to open23, forcing UTF-8
Diffstat (limited to 'ranger')
-rw-r--r--ranger/core/fm.py25
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')