diff options
-rw-r--r-- | examples/plugin_file_filter.py | 6 | ||||
-rw-r--r-- | examples/plugin_linemode.py | 6 | ||||
-rw-r--r-- | ranger/api/commands.py | 6 | ||||
-rwxr-xr-x | ranger/config/commands.py | 10 | ||||
-rw-r--r-- | ranger/container/directory.py | 26 | ||||
-rw-r--r-- | ranger/container/fsobject.py | 2 | ||||
-rw-r--r-- | ranger/container/settings.py | 2 | ||||
-rw-r--r-- | ranger/core/actions.py | 11 | ||||
-rw-r--r-- | ranger/core/linemode.py | 48 | ||||
-rw-r--r-- | ranger/ext/img_display.py | 6 | ||||
-rw-r--r-- | ranger/ext/signals.py | 2 | ||||
-rw-r--r-- | ranger/gui/widgets/browsercolumn.py | 2 | ||||
-rw-r--r-- | ranger/gui/widgets/console.py | 2 |
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) |