summary refs log tree commit diff stats
diff options
context:
space:
mode:
authornfnty <git@nfnty.se>2016-12-23 11:25:10 +0100
committernfnty <git@nfnty.se>2017-01-17 05:59:02 +0100
commit916c239014b95f02bf045f8de0488d7614126edf (patch)
tree6dce2d3bfcbd8ed76363c8a9f66f0efa3277ca58
parentb3d031a913814900467358b2adf20a148bf6de1a (diff)
downloadranger-916c239014b95f02bf045f8de0488d7614126edf.tar.gz
linting: Python 2 compat
-rw-r--r--examples/plugin_file_filter.py6
-rw-r--r--examples/plugin_linemode.py6
-rw-r--r--ranger/api/commands.py6
-rwxr-xr-xranger/config/commands.py10
-rw-r--r--ranger/container/directory.py26
-rw-r--r--ranger/container/fsobject.py2
-rw-r--r--ranger/container/settings.py2
-rw-r--r--ranger/core/actions.py11
-rw-r--r--ranger/core/linemode.py48
-rw-r--r--ranger/ext/img_display.py6
-rw-r--r--ranger/ext/signals.py2
-rw-r--r--ranger/gui/widgets/browsercolumn.py2
-rw-r--r--ranger/gui/widgets/console.py2
13 files changed, 66 insertions, 63 deletions
diff --git a/examples/plugin_file_filter.py b/examples/plugin_file_filter.py
index 486e59d9..aece68f8 100644
--- a/examples/plugin_file_filter.py
+++ b/examples/plugin_file_filter.py
@@ -13,11 +13,11 @@ HIDE_FILES = ("/boot", "/sbin", "/proc", "/sys")
 
 
 # Define a new one
-def custom_accept_file(file, filters):
-    if not file.fm.settings.show_hidden and file.path in HIDE_FILES:
+def custom_accept_file(fobj, filters):
+    if not fobj.fm.settings.show_hidden and fobj.path in HIDE_FILES:
         return False
     else:
-        return ACCEPT_FILE_OLD(file, filters)
+        return ACCEPT_FILE_OLD(fobj, filters)
 
 
 # Overwrite the old function
diff --git a/examples/plugin_linemode.py b/examples/plugin_linemode.py
index 6f16743d..febde8f1 100644
--- a/examples/plugin_linemode.py
+++ b/examples/plugin_linemode.py
@@ -15,8 +15,8 @@ from ranger.core.linemode import LinemodeBase
 class MyLinemode(LinemodeBase):
     name = "rot13"
 
-    def filetitle(self, file, metadata):
-        return codecs.encode(file.relative_path, "rot_13")
+    def filetitle(self, fobj, metadata):
+        return codecs.encode(fobj.relative_path, "rot_13")
 
-    def infostring(self, file, metadata):
+    def infostring(self, fobj, metadata):
         raise NotImplementedError
diff --git a/ranger/api/commands.py b/ranger/api/commands.py
index 76fe588a..1d833dda 100644
--- a/ranger/api/commands.py
+++ b/ranger/api/commands.py
@@ -441,8 +441,10 @@ class AliasCommand(Command):
 
     def tab(self, tabnum):
         cmd = self._make_cmd()
-        args = inspect.signature(cmd.tab).parameters if self.fm.py3 else \
-            inspect.getargspec(cmd.tab).args  # pylint: disable=deprecated-method
+        if self.fm.py3:
+            args = inspect.signature(cmd.tab).parameters  # pylint: disable=no-member
+        else:
+            args = inspect.getargspec(cmd.tab).args  # pylint: disable=deprecated-method
         return cmd.tab(tabnum) if 'tabnum' in args else cmd.tab()
 
     def cancel(self):
diff --git a/ranger/config/commands.py b/ranger/config/commands.py
index a3a44278..98af27e3 100755
--- a/ranger/config/commands.py
+++ b/ranger/config/commands.py
@@ -142,7 +142,7 @@ class cd(Command):
         else:
             self.fm.cd(destination)
 
-    def tab(self, tabnum):
+    def tab(self, tabnum):  # pylint: disable=too-many-locals
         from os.path import dirname, basename, expanduser, join
 
         cwd = self.fm.thisdir.path
@@ -836,9 +836,9 @@ class chmod(Command):
             self.fm.notify("Need an octal number between 0 and 777!", bad=True)
             return
 
-        for file in self.fm.thistab.get_selection():
+        for fobj in self.fm.thistab.get_selection():
             try:
-                os.chmod(file.path, mode)
+                os.chmod(fobj.path, mode)
             except Exception as ex:
                 self.fm.notify(ex)
 
@@ -1466,8 +1466,8 @@ class meta(prompt_metadata):
         if key in metadata and metadata[key]:
             return [" ".join([self.arg(0), self.arg(1), metadata[key]])]
         else:
-            return [self.arg(0) + " " + key for key in sorted(metadata)
-                    if key.startswith(self.arg(1))]
+            return [self.arg(0) + " " + k for k in sorted(metadata)
+                    if k.startswith(self.arg(1))]
 
 
 class linemode(default_linemode):
diff --git a/ranger/container/directory.py b/ranger/container/directory.py
index 72a9cd33..fbae9a93 100644
--- a/ranger/container/directory.py
+++ b/ranger/container/directory.py
@@ -55,17 +55,17 @@ def sort_unicode_wrapper_list(old_sort_func):
     return sort_unicode
 
 
-def accept_file(file, filters):
+def accept_file(fobj, filters):
     """
     Returns True if file shall be shown, otherwise False.
     Parameters:
-        file - an instance of FileSystemObject
-        filters - an array of lambdas, each expects a file and
-                  returns True if file shall be shown,
+        fobj - an instance of FileSystemObject
+        filters - an array of lambdas, each expects a fobj and
+                  returns True if fobj shall be shown,
                   otherwise False.
     """
     for filt in filters:
-        if filt and not filt(file):
+        if filt and not filt(fobj):
             return False
     return True
 
@@ -233,15 +233,15 @@ class Directory(  # pylint: disable=too-many-instance-attributes,too-many-public
         if not self.settings.show_hidden and self.settings.hidden_filter:
             hidden_filter = re.compile(self.settings.hidden_filter)
             hidden_filter_search = hidden_filter.search
-            filters.append(lambda file: not hidden_filter_search(file.basename))
+            filters.append(lambda fobj: not hidden_filter_search(fobj.basename))
         if self.filter:
             filter_search = self.filter.search
-            filters.append(lambda file: filter_search(file.basename))
+            filters.append(lambda fobj: filter_search(fobj.basename))
         if self.inode_type_filter:
             filters.append(self.inode_type_filter)
         if self.temporary_filter:
             temporary_filter_search = self.temporary_filter.search
-            filters.append(lambda file: temporary_filter_search(file.basename))
+            filters.append(lambda fobj: temporary_filter_search(fobj.basename))
 
         self.files = [f for f in self.files_all if accept_file(f, filters)]
 
@@ -488,12 +488,12 @@ class Directory(  # pylint: disable=too-many-instance-attributes,too-many-public
         cum = 0
         realpath = os.path.realpath
         for dirpath, _, filenames in os.walk(self.path, onerror=lambda _: None):
-            for file in filenames:
+            for fname in filenames:
                 try:
                     if dirpath == self.path:
-                        stat = os_stat(realpath(dirpath + "/" + file))
+                        stat = os_stat(realpath(dirpath + "/" + fname))
                     else:
-                        stat = os_stat(dirpath + "/" + file)
+                        stat = os_stat(dirpath + "/" + fname)
                     cum += stat.st_size
                 except Exception:
                     pass
@@ -660,8 +660,8 @@ class Directory(  # pylint: disable=too-many-instance-attributes,too-many-public
         return self.files is None or len(self.files) == 0
 
     def _set_linemode_of_children(self, mode):
-        for file in self.files:
-            file._set_linemode(mode)  # pylint: disable=protected-access
+        for fobj in self.files:
+            fobj._set_linemode(mode)  # pylint: disable=protected-access
 
     def __nonzero__(self):
         """Always True"""
diff --git a/ranger/container/fsobject.py b/ranger/container/fsobject.py
index 619f5df5..f4d84bc1 100644
--- a/ranger/container/fsobject.py
+++ b/ranger/container/fsobject.py
@@ -17,7 +17,7 @@ from ranger.ext.lazy_property import lazy_property
 from ranger.ext.human_readable import human_readable
 
 if hasattr(str, 'maketrans'):
-    maketrans = str.maketrans  # pylint: disable=invalid-name
+    maketrans = str.maketrans  # pylint: disable=invalid-name,no-member
 else:
     from string import maketrans  # pylint: disable=no-name-in-module
 
diff --git a/ranger/container/settings.py b/ranger/container/settings.py
index 5424bffb..b135612a 100644
--- a/ranger/container/settings.py
+++ b/ranger/container/settings.py
@@ -261,7 +261,7 @@ class Settings(SignalDispatcher, FileManagerAware):
         self._raw_set(signal.setting, signal.value, signal.path, signal.tags)
 
 
-class LocalSettings():  # pylint: disable=too-few-public-methods
+class LocalSettings(object):  # pylint: disable=too-few-public-methods
 
     def __init__(self, path, parent):
         self.__dict__['_parent'] = parent
diff --git a/ranger/core/actions.py b/ranger/core/actions.py
index 4f3338d2..7473fd78 100644
--- a/ranger/core/actions.py
+++ b/ranger/core/actions.py
@@ -591,7 +591,7 @@ class Actions(  # pylint: disable=too-many-instance-attributes,too-many-public-m
     def execute_command(self, cmd, **kw):
         return self.run(cmd, **kw)
 
-    def edit_file(self, file=None):
+    def edit_file(self, file=None):  # pylint: disable=redefined-builtin
         """Calls execute_file with the current file and label='editor'"""
         if file is None:
             file = self.thisfile
@@ -929,9 +929,9 @@ class Actions(  # pylint: disable=too-many-instance-attributes,too-many-public-m
                                 sha1(path.encode('utf-8', 'backslashreplace'))
                                 .hexdigest()) + '.jpg'
 
-    def get_preview(self, file, width, height):  # pylint: disable=too-many-return-statements
+    def get_preview(self, fobj, width, height):  # pylint: disable=too-many-return-statements
         pager = self.ui.get_pager()
-        path = file.realpath
+        path = fobj.realpath
 
         if not path or not os.path.exists(path):
             return None
@@ -1143,7 +1143,8 @@ class Actions(  # pylint: disable=too-many-instance-attributes,too-many-public-m
             file_selection = None
             if create_directory:
                 try:
-                    os.makedirs(path, exist_ok=True)
+                    if not os.path.isdir(path):
+                        os.makedirs(path)
                 except OSError as err:
                     self.fm.notify(err, bad=True)
                     return
@@ -1372,7 +1373,7 @@ class Actions(  # pylint: disable=too-many-instance-attributes,too-many-public-m
             for tag in self.fm.tags.tags:
                 if str(tag).startswith(path):
                     self.fm.tags.remove(tag)
-        self.copy_buffer = set(filter(lambda fobj: fobj.path not in files, self.copy_buffer))
+        self.copy_buffer = set(fobj for fobj in self.copy_buffer if fobj.path not in files)
         for path in files:
             if isdir(path) and not os.path.islink(path):
                 try:
diff --git a/ranger/core/linemode.py b/ranger/core/linemode.py
index d9d91350..b79351c4 100644
--- a/ranger/core/linemode.py
+++ b/ranger/core/linemode.py
@@ -33,11 +33,11 @@ class LinemodeBase(object):
     name = abstractproperty()
 
     @abstractmethod
-    def filetitle(self, file, metadata):
+    def filetitle(self, fobj, metadata):
         """The left-aligned part of the line."""
         raise NotImplementedError
 
-    def infostring(self, file, metadata):
+    def infostring(self, fobj, metadata):
         """The right-aligned part of the line.
 
         If `NotImplementedError' is raised (e.g. this method is just
@@ -55,8 +55,8 @@ class LinemodeBase(object):
 class DefaultLinemode(LinemodeBase):  # pylint: disable=abstract-method
     name = "filename"
 
-    def filetitle(self, file, metadata):
-        return file.relative_path
+    def filetitle(self, fobj, metadata):
+        return fobj.relative_path
 
 
 class TitleLinemode(LinemodeBase):
@@ -64,14 +64,14 @@ class TitleLinemode(LinemodeBase):
     uses_metadata = True
     required_metadata = ["title"]
 
-    def filetitle(self, file, metadata):
+    def filetitle(self, fobj, metadata):
         name = metadata.title
         if metadata.year:
             return "%s - %s" % (metadata.year, name)
         else:
             return name
 
-    def infostring(self, file, metadata):
+    def infostring(self, fobj, metadata):
         if metadata.authors:
             authorstring = metadata.authors
             if ',' in authorstring:
@@ -83,25 +83,25 @@ class TitleLinemode(LinemodeBase):
 class PermissionsLinemode(LinemodeBase):
     name = "permissions"
 
-    def filetitle(self, file, metadata):
-        return "%s %s %s %s" % (file.get_permission_string(),
-                                file.user, file.group, file.relative_path)
+    def filetitle(self, fobj, metadata):
+        return "%s %s %s %s" % (fobj.get_permission_string(),
+                                fobj.user, fobj.group, fobj.relative_path)
 
-    def infostring(self, file, metadata):
+    def infostring(self, fobj, metadata):
         return ""
 
 
 class FileInfoLinemode(LinemodeBase):
     name = "fileinfo"
 
-    def filetitle(self, file, metadata):
-        return file.relative_path
+    def filetitle(self, fobj, metadata):
+        return fobj.relative_path
 
-    def infostring(self, file, metadata):
-        if not file.is_directory:
+    def infostring(self, fobj, metadata):
+        if not fobj.is_directory:
             from subprocess import CalledProcessError
             try:
-                fileinfo = spawn.check_output(["file", "-bL", file.path]).strip()
+                fileinfo = spawn.check_output(["file", "-bL", fobj.path]).strip()
             except CalledProcessError:
                 return "unknown"
             if sys.version_info[0] >= 3:
@@ -114,19 +114,19 @@ class FileInfoLinemode(LinemodeBase):
 class MtimeLinemode(LinemodeBase):
     name = "mtime"
 
-    def filetitle(self, file, metadata):
-        return file.relative_path
+    def filetitle(self, fobj, metadata):
+        return fobj.relative_path
 
-    def infostring(self, file, metadata):
-        return datetime.fromtimestamp(file.stat.st_mtime).strftime("%Y-%m-%d %H:%M")
+    def infostring(self, fobj, metadata):
+        return datetime.fromtimestamp(fobj.stat.st_mtime).strftime("%Y-%m-%d %H:%M")
 
 
 class SizeMtimeLinemode(LinemodeBase):
     name = "sizemtime"
 
-    def filetitle(self, file, metadata):
-        return file.relative_path
+    def filetitle(self, fobj, metadata):
+        return fobj.relative_path
 
-    def infostring(self, file, metadata):
-        return "%s %s" % (human_readable(file.size),
-                          datetime.fromtimestamp(file.stat.st_mtime).strftime("%Y-%m-%d %H:%M"))
+    def infostring(self, fobj, metadata):
+        return "%s %s" % (human_readable(fobj.size),
+                          datetime.fromtimestamp(fobj.stat.st_mtime).strftime("%Y-%m-%d %H:%M"))
diff --git a/ranger/ext/img_display.py b/ranger/ext/img_display.py
index c40c084a..4a12446e 100644
--- a/ranger/ext/img_display.py
+++ b/ranger/ext/img_display.py
@@ -253,13 +253,13 @@ class ITerm2ImageDisplayer(ImageDisplayer, FileManagerAware):
     @staticmethod
     def _encode_image_content(path):
         """Read and encode the contents of path"""
-        file = open(path, 'rb')
+        fobj = open(path, 'rb')
         try:
-            return base64.b64encode(file.read())
+            return base64.b64encode(fobj.read())
         except Exception:
             return ""
         finally:
-            file.close()
+            fobj.close()
 
     @staticmethod
     def _get_image_dimensions(path):
diff --git a/ranger/ext/signals.py b/ranger/ext/signals.py
index 3800a6ea..d7242a79 100644
--- a/ranger/ext/signals.py
+++ b/ranger/ext/signals.py
@@ -82,7 +82,7 @@ class Signal(dict):
         self.stopped = True
 
 
-class SignalHandler:  # pylint: disable=too-few-public-methods
+class SignalHandler(object):  # pylint: disable=too-few-public-methods
     """Signal Handlers contain information about a signal binding.
 
     They are returned by signal_bind() and have to be passed to signal_unbind()
diff --git a/ranger/gui/widgets/browsercolumn.py b/ranger/gui/widgets/browsercolumn.py
index 28216dd5..fa6c89fe 100644
--- a/ranger/gui/widgets/browsercolumn.py
+++ b/ranger/gui/widgets/browsercolumn.py
@@ -391,7 +391,7 @@ class BrowserColumn(Pager):  # pylint: disable=too-many-instance-attributes
 
     @staticmethod
     def _total_len(predisplay):
-        return sum([len(WideString(s)) for s, L in predisplay])
+        return sum([len(WideString(s)) for s, _ in predisplay])
 
     def _draw_text_display(self, text, space):
         wtext = WideString(text)
diff --git a/ranger/gui/widgets/console.py b/ranger/gui/widgets/console.py
index ecd98d9b..19090620 100644
--- a/ranger/gui/widgets/console.py
+++ b/ranger/gui/widgets/console.py
@@ -304,7 +304,7 @@ class Console(Widget):  # pylint: disable=too-many-instance-attributes,too-many-
         ...     # it works fine in ranger, even with unicode input...
         ...     line = "ohai world,  this is dog"
         ... else:
-        ...     line = "\u30AA\u30CF\u30E8\u30A6 world,  this is dog"
+        ...     line = "\\u30AA\\u30CF\\u30E8\\u30A6 world,  this is dog"
         >>> Console.move_by_word(line, 0, -1)
         0
         >>> Console.move_by_word(line, 0, 1)
>a94b60b5 ^
33352536 ^
686a52bd ^
a94b60b5 ^
686a52bd ^
a94b60b5 ^


33352536 ^
a94b60b5 ^








33352536 ^
a94b60b5 ^






33352536 ^

a94b60b5 ^


33352536 ^
a94b60b5 ^
ddd2e989 ^
a94b60b5 ^



33352536 ^

a94b60b5 ^


33352536 ^
a94b60b5 ^


e968d773 ^


f1eade72 ^
7e7a8a6e ^
e968d773 ^
686a52bd ^
f0b7e327 ^

e968d773 ^
f0b7e327 ^
e968d773 ^
bfcc0f85 ^
e968d773 ^
f0b7e327 ^
e968d773 ^




a94b60b5 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226