about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authortoonn <toonn@toonn.io>2022-05-26 15:13:09 +0200
committertoonn <toonn@toonn.io>2022-05-26 15:13:09 +0200
commit9252d69ede0b2a086fb7359706d7ef58b41e6561 (patch)
tree2047635e2ffa70441014b4d289c7a412e362bdbb
parent391f061cb0b0cfa8266c0651f2a6d948f22e01dd (diff)
downloadranger-9252d69ede0b2a086fb7359706d7ef58b41e6561.tar.gz
colorscheme: Make use an abstract method
The `use` method has always been decorated as being a `@staticmethod`.
Many colorschemes use fields to store certain properties, these then
need to be accessed using `self`. This isn't possible with a static
method so they override it with a regular method. This is fine as far as
Python is concerned but PyLint doesn't like the `self` parameters adding
an argument to the method.

All colorschemes should actually implement the `use` method anyway so
making it an `@abstractmethod` seems appropriate and allows us to
include the `self` argument.
-rw-r--r--ranger/gui/colorscheme.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/ranger/gui/colorscheme.py b/ranger/gui/colorscheme.py
index 859773fb..22ff053f 100644
--- a/ranger/gui/colorscheme.py
+++ b/ranger/gui/colorscheme.py
@@ -27,6 +27,7 @@ set colorscheme yourschemename
 from __future__ import (absolute_import, division, print_function)
 
 import os.path
+from abc import abstractmethod
 from curses import color_pair
 from io import open
 
@@ -72,8 +73,8 @@ class ColorScheme(object):
         fg, bg, attr = self.get(*flatten(keys))
         return attr | color_pair(get_color(fg, bg))
 
-    @staticmethod
-    def use(_):
+    @abstractmethod
+    def use(self, context):
         """Use the colorscheme to determine the (fg, bg, attr) tuple.
 
         Override this method in your own colorscheme.