summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCalum Lind <calumlind+deluge@gmail.com>2022-02-13 12:31:41 +0000
committerCalum Lind <calumlind+deluge@gmail.com>2022-02-13 13:38:27 +0000
commit2ec6e10c8eb87a6f4e2a49afd58485adb13702a5 (patch)
tree042411bdc547f8b7f002b29b6765eff82e425957
parent2bd095e5bfc49cbe178fc0ba9df38b88afc238aa (diff)
downloaddeluge-2ec6e10c8eb87a6f4e2a49afd58485adb13702a5.tar.gz
deluge-2ec6e10c8eb87a6f4e2a49afd58485adb13702a5.tar.bz2
deluge-2ec6e10c8eb87a6f4e2a49afd58485adb13702a5.zip
[Lint] Update linter version and fix issues
Notable changes: * Prettier >=2.3 with more consistent js assignments * Black now formats docstrings * Added isort to list of autoformaters * Update flake8 config for v4 Ref: https://prettier.io/blog/2021/05/09/2.3.0.html
-rw-r--r--.pre-commit-config.yaml24
-rw-r--r--deluge/argparserbase.py6
-rw-r--r--deluge/common.py46
-rw-r--r--deluge/config.py2
-rw-r--r--deluge/core/preferencesmanager.py2
-rw-r--r--deluge/core/torrent.py2
-rw-r--r--deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd.js31
-rw-r--r--deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd_options.js5
-rw-r--r--deluge/plugins/AutoAdd/deluge_autoadd/gtkui.py2
-rw-r--r--deluge/plugins/Blocklist/deluge_blocklist/gtkui.py2
-rw-r--r--deluge/plugins/Execute/deluge_execute/gtkui.py2
-rw-r--r--deluge/plugins/Extractor/deluge_extractor/gtkui.py2
-rw-r--r--deluge/plugins/Label/deluge_label/data/label.js20
-rw-r--r--deluge/plugins/Label/deluge_label/gtkui/sidebar_menu.py2
-rw-r--r--deluge/plugins/Stats/deluge_stats/graph.py2
-rw-r--r--deluge/tests/common.py2
-rw-r--r--deluge/tests/test_common.py8
-rw-r--r--deluge/tests/test_files_tab.py4
-rw-r--r--deluge/ui/console/cmdline/commands/info.py2
-rw-r--r--deluge/ui/console/modes/basemode.py2
-rw-r--r--deluge/ui/console/utils/format_utils.py4
-rw-r--r--deluge/ui/gtk3/files_tab.py2
-rw-r--r--deluge/ui/gtk3/gtkui.py4
-rw-r--r--deluge/ui/gtk3/listview.py2
-rwxr-xr-xdeluge/ui/gtk3/path_combo_chooser.py2
-rw-r--r--deluge/ui/gtk3/piecesbar.py6
-rw-r--r--deluge/ui/gtk3/preferences.py3
-rw-r--r--deluge/ui/web/js/deluge-all/AboutWindow.js3
-rw-r--r--deluge/ui/web/js/deluge-all/AddTrackerWindow.js3
-rw-r--r--deluge/ui/web/js/deluge-all/add/OptionsPanel.js5
-rw-r--r--deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js3
-rw-r--r--deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js5
-rw-r--r--packaging/win/delugewin.spec52
-rw-r--r--packaging/win/setup_nsis.py1
-rw-r--r--setup.cfg22
35 files changed, 129 insertions, 156 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a0f0a5dbe..afe8ef923 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -6,30 +6,32 @@ exclude: >
deluge/tests/data/.*svg|
)$
repos:
- - repo: https://github.com/ambv/black
- rev: 20.8b1
+ - repo: https://github.com/psf/black
+ rev: 22.1.0
hooks:
- id: black
name: Fmt Black
- repo: https://github.com/pre-commit/mirrors-prettier
- rev: v2.2.1
+ rev: v2.5.1
hooks:
- id: prettier
name: Fmt Prettier
# Workaround to list modified files only.
args: [--list-different]
- - repo: https://gitlab.com/pycqa/flake8
- # v3.7.9 due to E402 issue: https://gitlab.com/pycqa/flake8/-/issues/638
- rev: 3.7.9
+ - repo: https://github.com/pycqa/isort
+ rev: 5.10.1
+ hooks:
+ - id: isort
+ name: Fmt isort
+ - repo: https://github.com/pycqa/flake8
+ rev: 4.0.1
hooks:
- id: flake8
name: Chk Flake8
additional_dependencies:
- - flake8-isort==4.0.0
- - pep8-naming==0.11.1
- args: [--isort-show-traceback]
+ - pep8-naming==0.12.1
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v3.4.0
+ rev: v4.1.0
hooks:
- id: double-quote-string-fixer
name: Fix Double-quotes
@@ -42,7 +44,7 @@ repos:
- id: trailing-whitespace
name: Fix Trailing whitespace
- repo: https://github.com/asottile/pyupgrade
- rev: v2.29.1
+ rev: v2.31.0
hooks:
- id: pyupgrade
args: [--py36-plus]
diff --git a/deluge/argparserbase.py b/deluge/argparserbase.py
index 45417ee31..5dc433086 100644
--- a/deluge/argparserbase.py
+++ b/deluge/argparserbase.py
@@ -106,8 +106,8 @@ class DelugeTextHelpFormatter(argparse.RawDescriptionHelpFormatter):
line instead. This way list formatting is not mangled by textwrap.wrap.
"""
wrapped_lines = []
- for l in text.splitlines():
- wrapped_lines.extend(textwrap.wrap(l, width, subsequent_indent=' '))
+ for line in text.splitlines():
+ wrapped_lines.extend(textwrap.wrap(line, width, subsequent_indent=' '))
return wrapped_lines
def _format_action_invocation(self, action):
@@ -199,7 +199,7 @@ class ArgParserBase(argparse.ArgumentParser):
self.group.add_argument(
'-L',
'--loglevel',
- choices=[l for k in deluge.log.levels for l in (k, k.upper())],
+ choices=[level for k in deluge.log.levels for level in (k, k.upper())],
help=_('Set the log level (none, error, warning, info, debug)'),
metavar='<level>',
)
diff --git a/deluge/common.py b/deluge/common.py
index ad71e3bf5..77573ffd7 100644
--- a/deluge/common.py
+++ b/deluge/common.py
@@ -436,22 +436,22 @@ def fsize(fsize_b, precision=1, shortform=False):
"""
- if fsize_b >= 1024 ** 4:
+ if fsize_b >= 1024**4:
return '%.*f %s' % (
precision,
- fsize_b / 1024 ** 4,
+ fsize_b / 1024**4,
tib_txt_short if shortform else tib_txt,
)
- elif fsize_b >= 1024 ** 3:
+ elif fsize_b >= 1024**3:
return '%.*f %s' % (
precision,
- fsize_b / 1024 ** 3,
+ fsize_b / 1024**3,
gib_txt_short if shortform else gib_txt,
)
- elif fsize_b >= 1024 ** 2:
+ elif fsize_b >= 1024**2:
return '%.*f %s' % (
precision,
- fsize_b / 1024 ** 2,
+ fsize_b / 1024**2,
mib_txt_short if shortform else mib_txt,
)
elif fsize_b >= 1024:
@@ -503,28 +503,28 @@ def fspeed(bps, precision=1, shortform=False):
"""
- if bps < 1024 ** 2:
+ if bps < 1024**2:
return '%.*f %s' % (
precision,
bps / 1024,
_('K/s') if shortform else _('KiB/s'),
)
- elif bps < 1024 ** 3:
+ elif bps < 1024**3:
return '%.*f %s' % (
precision,
- bps / 1024 ** 2,
+ bps / 1024**2,
_('M/s') if shortform else _('MiB/s'),
)
- elif bps < 1024 ** 4:
+ elif bps < 1024**4:
return '%.*f %s' % (
precision,
- bps / 1024 ** 3,
+ bps / 1024**3,
_('G/s') if shortform else _('GiB/s'),
)
else:
return '%.*f %s' % (
precision,
- bps / 1024 ** 4,
+ bps / 1024**4,
_('T/s') if shortform else _('TiB/s'),
)
@@ -639,17 +639,17 @@ def tokenize(text):
size_units = [
{'prefix': 'b', 'divider': 1, 'singular': 'byte', 'plural': 'bytes'},
- {'prefix': 'KiB', 'divider': 1024 ** 1},
- {'prefix': 'MiB', 'divider': 1024 ** 2},
- {'prefix': 'GiB', 'divider': 1024 ** 3},
- {'prefix': 'TiB', 'divider': 1024 ** 4},
- {'prefix': 'PiB', 'divider': 1024 ** 5},
- {'prefix': 'KB', 'divider': 1000 ** 1},
- {'prefix': 'MB', 'divider': 1000 ** 2},
- {'prefix': 'GB', 'divider': 1000 ** 3},
- {'prefix': 'TB', 'divider': 1000 ** 4},
- {'prefix': 'PB', 'divider': 1000 ** 5},
- {'prefix': 'm', 'divider': 1000 ** 2},
+ {'prefix': 'KiB', 'divider': 1024**1},
+ {'prefix': 'MiB', 'divider': 1024**2},
+ {'prefix': 'GiB', 'divider': 1024**3},
+ {'prefix': 'TiB', 'divider': 1024**4},
+ {'prefix': 'PiB', 'divider': 1024**5},
+ {'prefix': 'KB', 'divider': 1000**1},
+ {'prefix': 'MB', 'divider': 1000**2},
+ {'prefix': 'GB', 'divider': 1000**3},
+ {'prefix': 'TB', 'divider': 1000**4},
+ {'prefix': 'PB', 'divider': 1000**5},
+ {'prefix': 'm', 'divider': 1000**2},
]
diff --git a/deluge/config.py b/deluge/config.py
index abf46d71b..c5cb3122b 100644
--- a/deluge/config.py
+++ b/deluge/config.py
@@ -231,7 +231,7 @@ class Config:
self._save_timer = self.callLater(5, self.save)
def __getitem__(self, key):
- """See get_item """
+ """See get_item"""
return self.get_item(key)
def get_item(self, key):
diff --git a/deluge/core/preferencesmanager.py b/deluge/core/preferencesmanager.py
index 79e960252..7e5c207a1 100644
--- a/deluge/core/preferencesmanager.py
+++ b/deluge/core/preferencesmanager.py
@@ -198,7 +198,7 @@ class PreferencesManager(component.Component):
self.__set_listen_on()
def __set_listen_on(self):
- """ Set the ports and interface address to listen for incoming connections on."""
+ """Set the ports and interface address to listen for incoming connections on."""
if self.config['random_port']:
if not self.config['listen_random_port']:
self.config['listen_random_port'] = random.randrange(49152, 65525)
diff --git a/deluge/core/torrent.py b/deluge/core/torrent.py
index 55e825727..9a4af0b8a 100644
--- a/deluge/core/torrent.py
+++ b/deluge/core/torrent.py
@@ -576,7 +576,7 @@ class Torrent:
trackers (list of dicts): A list of trackers.
"""
if trackers is None:
- self.trackers = [tracker for tracker in self.handle.trackers()]
+ self.trackers = list(self.handle.trackers())
self.tracker_host = None
return
diff --git a/deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd.js b/deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd.js
index ebed40180..e68fce307 100644
--- a/deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd.js
+++ b/deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd.js
@@ -42,22 +42,21 @@ Deluge.ux.preferences.AutoAddPage = Ext.extend(Ext.Panel, {
dataIndex: 'enabled',
tpl: new Ext.XTemplate('{enabled:this.getCheckbox}', {
getCheckbox: function (checked, selected) {
- Deluge.ux.AutoAdd.onClickFunctions[
- selected.id
- ] = function () {
- if (selected.enabled) {
- deluge.client.autoadd.disable_watchdir(
- selected.id
- );
- checked = false;
- } else {
- deluge.client.autoadd.enable_watchdir(
- selected.id
- );
- checked = true;
- }
- autoAdd.updateWatchDirs();
- };
+ Deluge.ux.AutoAdd.onClickFunctions[selected.id] =
+ function () {
+ if (selected.enabled) {
+ deluge.client.autoadd.disable_watchdir(
+ selected.id
+ );
+ checked = false;
+ } else {
+ deluge.client.autoadd.enable_watchdir(
+ selected.id
+ );
+ checked = true;
+ }
+ autoAdd.updateWatchDirs();
+ };
return (
'<input id="enabled-' +
selected.id +
diff --git a/deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd_options.js b/deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd_options.js
index 797d76585..7ec4448b9 100644
--- a/deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd_options.js
+++ b/deluge/plugins/AutoAdd/deluge_autoadd/data/autoadd_options.js
@@ -90,9 +90,8 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, {
options['enabled'] = Ext.getCmp('enabled').getValue();
options['path'] = Ext.getCmp('path').getValue();
- options['download_location'] = Ext.getCmp(
- 'download_location'
- ).getValue();
+ options['download_location'] =
+ Ext.getCmp('download_location').getValue();
options['move_completed_path'] = Ext.getCmp(
'move_completed_path'
).getValue();
diff --git a/deluge/plugins/AutoAdd/deluge_autoadd/gtkui.py b/deluge/plugins/AutoAdd/deluge_autoadd/gtkui.py
index 92ef1188c..80fb9fcde 100644
--- a/deluge/plugins/AutoAdd/deluge_autoadd/gtkui.py
+++ b/deluge/plugins/AutoAdd/deluge_autoadd/gtkui.py
@@ -16,7 +16,7 @@ import os
import gi # isort:skip (Required before Gtk import).
-gi.require_version('Gtk', '3.0') # NOQA: E402
+gi.require_version('Gtk', '3.0')
# isort:imports-thirdparty
from gi.repository import Gtk
diff --git a/deluge/plugins/Blocklist/deluge_blocklist/gtkui.py b/deluge/plugins/Blocklist/deluge_blocklist/gtkui.py
index 5444107d0..e6105cda0 100644
--- a/deluge/plugins/Blocklist/deluge_blocklist/gtkui.py
+++ b/deluge/plugins/Blocklist/deluge_blocklist/gtkui.py
@@ -11,7 +11,7 @@ from datetime import datetime
import gi # isort:skip (Required before Gtk import).
-gi.require_version('Gtk', '3.0') # NOQA: E402
+gi.require_version('Gtk', '3.0')
# isort:imports-thirdparty
from gi.repository import Gtk
diff --git a/deluge/plugins/Execute/deluge_execute/gtkui.py b/deluge/plugins/Execute/deluge_execute/gtkui.py
index 73bd8cf94..f56a6defa 100644
--- a/deluge/plugins/Execute/deluge_execute/gtkui.py
+++ b/deluge/plugins/Execute/deluge_execute/gtkui.py
@@ -10,7 +10,7 @@ import logging
import gi # isort:skip (Required before Gtk import).
-gi.require_version('Gtk', '3.0') # NOQA: E402
+gi.require_version('Gtk', '3.0')
# isort:imports-thirdparty
from gi.repository import Gtk
diff --git a/deluge/plugins/Extractor/deluge_extractor/gtkui.py b/deluge/plugins/Extractor/deluge_extractor/gtkui.py
index cc53e95ca..a754a5f22 100644
--- a/deluge/plugins/Extractor/deluge_extractor/gtkui.py
+++ b/deluge/plugins/Extractor/deluge_extractor/gtkui.py
@@ -14,7 +14,7 @@ import logging
import gi # isort:skip (Required before Gtk import).
-gi.require_version('Gtk', '3.0') # NOQA: E402
+gi.require_version('Gtk', '3.0')
# isort:imports-thirdparty
from gi.repository import Gtk
diff --git a/deluge/plugins/Label/deluge_label/data/label.js b/deluge/plugins/Label/deluge_label/data/label.js
index b84ea6b69..a0327e397 100644
--- a/deluge/plugins/Label/deluge_label/data/label.js
+++ b/deluge/plugins/Label/deluge_label/data/label.js
@@ -148,8 +148,7 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, {
xtype: 'fieldset',
border: false,
labelWidth: 1,
- style:
- 'margin-bottom: 0px; padding-bottom: 0px;',
+ style: 'margin-bottom: 0px; padding-bottom: 0px;',
items: [
{
xtype: 'checkbox',
@@ -218,8 +217,7 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, {
xtype: 'fieldset',
border: false,
labelWidth: 1,
- style:
- 'margin-bottom: 0px; padding-bottom: 0px;',
+ style: 'margin-bottom: 0px; padding-bottom: 0px;',
items: [
{
xtype: 'checkbox',
@@ -260,8 +258,7 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, {
width: 60,
decimalPrecision: 2,
incrementValue: 0.1,
- style:
- 'position: relative; left: 100px',
+ style: 'position: relative; left: 100px',
disabled: true,
},
{
@@ -285,8 +282,7 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, {
xtype: 'fieldset',
border: false,
labelWidth: 1,
- style:
- 'margin-bottom: 0px; padding-bottom: 0px;',
+ style: 'margin-bottom: 0px; padding-bottom: 0px;',
items: [
{
xtype: 'checkbox',
@@ -339,8 +335,7 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, {
xtype: 'fieldset',
border: false,
labelWidth: 1,
- style:
- 'margin-bottom: 0px; padding-bottom: 0px;',
+ style: 'margin-bottom: 0px; padding-bottom: 0px;',
items: [
{
xtype: 'checkbox',
@@ -408,9 +403,8 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, {
onOkClick: function () {
var values = this.form.getForm().getFieldValues();
if (values['auto_add_trackers']) {
- values['auto_add_trackers'] = values['auto_add_trackers'].split(
- '\n'
- );
+ values['auto_add_trackers'] =
+ values['auto_add_trackers'].split('\n');
}
deluge.client.label.set_options(this.label, values);
this.hide();
diff --git a/deluge/plugins/Label/deluge_label/gtkui/sidebar_menu.py b/deluge/plugins/Label/deluge_label/gtkui/sidebar_menu.py
index c65995288..da1830269 100644
--- a/deluge/plugins/Label/deluge_label/gtkui/sidebar_menu.py
+++ b/deluge/plugins/Label/deluge_label/gtkui/sidebar_menu.py
@@ -11,7 +11,7 @@ import logging
import gi # isort:skip (Required before Gtk import).
-gi.require_version('Gtk', '3.0') # NOQA: E402
+gi.require_version('Gtk', '3.0')
# isort:imports-thirdparty
from gi.repository import Gtk
diff --git a/deluge/plugins/Stats/deluge_stats/graph.py b/deluge/plugins/Stats/deluge_stats/graph.py
index 7589a31c8..0d3220fc1 100644
--- a/deluge/plugins/Stats/deluge_stats/graph.py
+++ b/deluge/plugins/Stats/deluge_stats/graph.py
@@ -19,7 +19,7 @@ import time
import gi
-gi.require_foreign('cairo') # NOQA: E402
+gi.require_foreign('cairo')
import cairo # isort:skip (gi checks required before import).
diff --git a/deluge/tests/common.py b/deluge/tests/common.py
index bed054b9f..b5941568d 100644
--- a/deluge/tests/common.py
+++ b/deluge/tests/common.py
@@ -153,7 +153,7 @@ class ProcessOutputHandler(protocol.ProcessProtocol):
return result
def _kill_watchdogs(self):
- """"Cancel all watchdogs"""
+ """Cancel all watchdogs"""
for w in self.watchdogs:
if not w.called and not w.cancelled:
w.cancel()
diff --git a/deluge/tests/test_common.py b/deluge/tests/test_common.py
index 6129f679d..afd519356 100644
--- a/deluge/tests/test_common.py
+++ b/deluge/tests/test_common.py
@@ -184,10 +184,10 @@ class TestCommon:
('1 MiB', 2 ** (10 * 2)),
('1 GiB', 2 ** (10 * 3)),
('1 GiB', 2 ** (10 * 3)),
- ('1M', 10 ** 6),
- ('1MB', 10 ** 6),
- ('1 GB', 10 ** 9),
- ('1 TB', 10 ** 12),
+ ('1M', 10**6),
+ ('1MB', 10**6),
+ ('1 GB', 10**9),
+ ('1 TB', 10**12),
]
for human_size, byte_size in sizes:
diff --git a/deluge/tests/test_files_tab.py b/deluge/tests/test_files_tab.py
index 5578c00d5..1e97cbbc3 100644
--- a/deluge/tests/test_files_tab.py
+++ b/deluge/tests/test_files_tab.py
@@ -44,8 +44,8 @@ class TestFilesTab(BaseTestCase):
root = treestore.get_iter_first()
level = 1
- def p_level(s, l):
- print('{}{}'.format(' ' * l, s))
+ def p_level(s, lvl):
+ print('{}{}'.format(' ' * lvl, s))
def _print_treestore_children(i, lvl):
while i:
diff --git a/deluge/ui/console/cmdline/commands/info.py b/deluge/ui/console/cmdline/commands/info.py
index 3533e519e..7ea9a6773 100644
--- a/deluge/ui/console/cmdline/commands/info.py
+++ b/deluge/ui/console/cmdline/commands/info.py
@@ -175,7 +175,7 @@ class Command(BaseCommand):
sort_key = 'name'
sort_reverse = False
for key, value in sorted(
- list(status.items()),
+ status.items(),
key=lambda x: x[1].get(sort_key),
reverse=sort_reverse,
):
diff --git a/deluge/ui/console/modes/basemode.py b/deluge/ui/console/modes/basemode.py
index 92c699e10..5ebaf86fe 100644
--- a/deluge/ui/console/modes/basemode.py
+++ b/deluge/ui/console/modes/basemode.py
@@ -84,7 +84,7 @@ class CursesStdIO:
"""
def fileno(self):
- """ We want to select on FD 0 """
+ """We want to select on FD 0"""
return 0
def doRead(self): # NOQA: N802
diff --git a/deluge/ui/console/utils/format_utils.py b/deluge/ui/console/utils/format_utils.py
index 6c9596729..50ec1915f 100644
--- a/deluge/ui/console/utils/format_utils.py
+++ b/deluge/ui/console/utils/format_utils.py
@@ -235,11 +235,11 @@ def wrap_string(string, width, min_lines=0, strip_colors=True):
else:
cstr = s
- def append_indent(l, string, offset):
+ def append_indent(line, string, offset):
"""Prepends indent to string if specified"""
if indent and offset != 0:
string = indent + string
- l.append(string)
+ line.append(string)
while cstr:
# max with for a line. If indent is specified, we account for this
diff --git a/deluge/ui/gtk3/files_tab.py b/deluge/ui/gtk3/files_tab.py
index c8d8c0286..24c169727 100644
--- a/deluge/ui/gtk3/files_tab.py
+++ b/deluge/ui/gtk3/files_tab.py
@@ -12,7 +12,7 @@ import os.path
import gi # isort:skip (Required before Gtk import).
-gi.require_version('Gtk', '3.0') # NOQA: E402
+gi.require_version('Gtk', '3.0')
# isort:imports-thirdparty
from gi.repository import Gio, Gtk
diff --git a/deluge/ui/gtk3/gtkui.py b/deluge/ui/gtk3/gtkui.py
index abbca263e..50323d229 100644
--- a/deluge/ui/gtk3/gtkui.py
+++ b/deluge/ui/gtk3/gtkui.py
@@ -15,8 +15,8 @@ import time
import gi # isort:skip (Required before Gtk import).
-gi.require_version('Gtk', '3.0') # NOQA: E402
-gi.require_version('Gdk', '3.0') # NOQA: E402
+gi.require_version('Gtk', '3.0')
+gi.require_version('Gdk', '3.0')
# isort:imports-thirdparty
from gi.repository.GLib import set_prgname
diff --git a/deluge/ui/gtk3/listview.py b/deluge/ui/gtk3/listview.py
index f262e0ba3..e9f6b1084 100644
--- a/deluge/ui/gtk3/listview.py
+++ b/deluge/ui/gtk3/listview.py
@@ -76,7 +76,7 @@ class ListView:
}
def __init__(self, title=None, cell_renderer=None, **args):
- """ Constructor, see Gtk.TreeViewColumn """
+ """Constructor, see Gtk.TreeViewColumn"""
Gtk.TreeViewColumn.__init__(self, title, cell_renderer, **args)
label = Gtk.Label(label=title)
self.set_widget(label)
diff --git a/deluge/ui/gtk3/path_combo_chooser.py b/deluge/ui/gtk3/path_combo_chooser.py
index 0eb13b2c3..74d9055b7 100755
--- a/deluge/ui/gtk3/path_combo_chooser.py
+++ b/deluge/ui/gtk3/path_combo_chooser.py
@@ -1405,7 +1405,7 @@ class PathChooserComboBox(Gtk.Box, StoredValuesPopup, GObject.GObject):
self.set_text(self.get_text())
def _on_entry_combobox_hbox_realize(self, widget):
- """ Must do this when the widget is realized """
+ """Must do this when the widget is realized"""
self.set_filechooser_button_visible(self.filechooser_visible)
self.set_path_entry_visible(self.path_entry_visible)
diff --git a/deluge/ui/gtk3/piecesbar.py b/deluge/ui/gtk3/piecesbar.py
index 368d598bc..8665328c0 100644
--- a/deluge/ui/gtk3/piecesbar.py
+++ b/deluge/ui/gtk3/piecesbar.py
@@ -10,9 +10,9 @@ from math import pi
import gi # isort:skip (Version check required before import).
-gi.require_version('PangoCairo', '1.0') # NOQA: E402
-gi.require_foreign('cairo') # NOQA: E402
-gi.require_version('cairo', '1.0') # NOQA: E402
+gi.require_version('PangoCairo', '1.0')
+gi.require_foreign('cairo')
+gi.require_version('cairo', '1.0')
# isort:imports-thirdparty
import cairo # Backward compat cairo <= 1.15
diff --git a/deluge/ui/gtk3/preferences.py b/deluge/ui/gtk3/preferences.py
index 4c09f91e4..a008a9562 100644
--- a/deluge/ui/gtk3/preferences.py
+++ b/deluge/ui/gtk3/preferences.py
@@ -19,6 +19,7 @@ from gi.repository.Gdk import Color
import deluge.common
import deluge.component as component
from deluge.configmanager import ConfigManager, get_config_dir
+from deluge.decorators import maybe_coroutine
from deluge.error import AuthManagerError, NotAuthorizedError
from deluge.i18n import get_languages
from deluge.ui.client import client
@@ -1337,8 +1338,6 @@ class Preferences(component.Component):
self.builder.get_object('accounts_edit').set_sensitive(False)
self.builder.get_object('accounts_delete').set_sensitive(False)
- from deluge.decorators import maybe_coroutine
-
@maybe_coroutine
async def on_accounts_add_clicked(self, widget):
dialog = AccountDialog(
diff --git a/deluge/ui/web/js/deluge-all/AboutWindow.js b/deluge/ui/web/js/deluge-all/AboutWindow.js
index 15fede9b8..cfae7a862 100644
--- a/deluge/ui/web/js/deluge-all/AboutWindow.js
+++ b/deluge/ui/web/js/deluge-all/AboutWindow.js
@@ -104,8 +104,7 @@ Deluge.about.AboutWindow = Ext.extend(Ext.Window, {
{
xtype: 'label',
style: 'padding-top: 5px; font-size: 12px;',
- html:
- '<a href="https://deluge-torrent.org" target="_blank">deluge-torrent.org</a>',
+ html: '<a href="https://deluge-torrent.org" target="_blank">deluge-torrent.org</a>',
},
]);
this.addButton(_('Close'), this.onCloseClick, this);
diff --git a/deluge/ui/web/js/deluge-all/AddTrackerWindow.js b/deluge/ui/web/js/deluge-all/AddTrackerWindow.js
index 8fbe0b221..aaf4a3ff9 100644
--- a/deluge/ui/web/js/deluge-all/AddTrackerWindow.js
+++ b/deluge/ui/web/js/deluge-all/AddTrackerWindow.js
@@ -10,7 +10,8 @@
Ext.ns('Deluge');
// Custom VType validator for tracker urls
-var trackerUrlTest = /(((^https?)|(^udp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;
+var trackerUrlTest =
+ /(((^https?)|(^udp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;
Ext.apply(Ext.form.VTypes, {
trackerUrl: function (val, field) {
return trackerUrlTest.test(val);
diff --git a/deluge/ui/web/js/deluge-all/add/OptionsPanel.js b/deluge/ui/web/js/deluge-all/add/OptionsPanel.js
index 6b75686a3..365b00190 100644
--- a/deluge/ui/web/js/deluge-all/add/OptionsPanel.js
+++ b/deluge/ui/web/js/deluge-all/add/OptionsPanel.js
@@ -134,9 +134,8 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, {
nodes,
function (node) {
if (node.attributes.fileindex < 0) return;
- var priorities = this.form.optionsManager.get(
- 'file_priorities'
- );
+ var priorities =
+ this.form.optionsManager.get('file_priorities');
priorities[node.attributes.fileindex] = newValue;
this.form.optionsManager.update('file_priorities', priorities);
},
diff --git a/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js b/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js
index 4c3720198..8c32da501 100644
--- a/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js
+++ b/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js
@@ -117,8 +117,7 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, {
border: false,
title: '',
defaultType: 'checkbox',
- style:
- 'padding-top: 0px; padding-bottom: 5px; margin-top: 0px; margin-bottom: 0px;',
+ style: 'padding-top: 0px; padding-bottom: 5px; margin-top: 0px; margin-bottom: 0px;',
autoHeight: true,
});
om.bind(
diff --git a/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js b/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js
index 31eca735c..ee761aa6f 100644
--- a/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js
+++ b/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js
@@ -80,9 +80,8 @@ Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, {
// Generate the column configs with the correct width setting
for (var i = 0; i < numCols; i++) {
var cc = Ext.apply({ items: [] }, colCfg);
- cc[
- this.columns[i] <= 1 ? 'columnWidth' : 'width'
- ] = this.columns[i];
+ cc[this.columns[i] <= 1 ? 'columnWidth' : 'width'] =
+ this.columns[i];
if (this.defaults) {
cc.defaults = Ext.apply(
cc.defaults || {},
diff --git a/packaging/win/delugewin.spec b/packaging/win/delugewin.spec
index ece6db9fe..b6b557365 100644
--- a/packaging/win/delugewin.spec
+++ b/packaging/win/delugewin.spec
@@ -1,12 +1,15 @@
-# -*- mode: python ; coding: utf-8 -*-
+# -*- mode: python -*-
import os
-import sys
-import deluge.common
-from PyInstaller.utils.hooks import collect_data_files, collect_submodules, copy_metadata
+
+from PyInstaller.utils.hooks import (
+ collect_data_files,
+ collect_submodules,
+ copy_metadata,
+)
datas = []
binaries = []
-hiddenimports = ['pygame','ifaddr']
+hiddenimports = ['pygame', 'ifaddr']
# Collect Meta Data
datas += copy_metadata('deluge', recursive=True)
@@ -16,7 +19,8 @@ datas += copy_metadata('service-identity', recursive=True)
hiddenimports += collect_submodules('deluge')
# Add stdlib as Hidden Imports.
-# This is filtered list that excludes some common examples or stuff not useful in plugins (such as tty, mailbox, turtledemo etc.).
+# This is filtered list that excludes some common examples or stuff not useful in
+# plugins (such as tty, mailbox, turtledemo etc.).
# It is safe to assume that 90% of that list would already be included anyway.
stdlib = [
'string',
@@ -108,46 +112,22 @@ icon = [src for src, dest in package_data if src.endswith('deluge.ico')][0]
# List of executables to produce
executables = {
- 'deluge-script.pyw': {
- 'name': 'deluge',
- 'console': False,
- 'gtk': True,
- },
- 'deluge-gtk-script.pyw': {
- 'name': 'deluge-gtk',
- 'console': False,
- 'gtk': True,
- },
- 'deluge-debug-script.py': {
- 'name': 'deluge-debug',
- 'console': True,
- 'gtk': True,
- },
+ 'deluge-script.pyw': {'name': 'deluge', 'console': False, 'gtk': True},
+ 'deluge-gtk-script.pyw': {'name': 'deluge-gtk', 'console': False, 'gtk': True},
+ 'deluge-debug-script.py': {'name': 'deluge-debug', 'console': True, 'gtk': True},
'deluge-console-script.py': {
'name': 'deluge-console',
'console': True,
'gtk': False,
},
- 'deluged-script.pyw': {
- 'name': 'deluged',
- 'console': False,
- 'gtk': False,
- },
- 'deluged-debug-script.py': {
- 'name': 'deluged-debug',
- 'console': True,
- 'gtk': False,
- },
+ 'deluged-script.pyw': {'name': 'deluged', 'console': False, 'gtk': False},
+ 'deluged-debug-script.py': {'name': 'deluged-debug', 'console': True, 'gtk': False},
'deluge-web-debug-script.py': {
'name': 'deluge-web-debug',
'console': True,
'gtk': False,
},
- 'deluge-web-script.pyw': {
- 'name': 'deluge-web',
- 'console': False,
- 'gtk': False,
- },
+ 'deluge-web-script.pyw': {'name': 'deluge-web', 'console': False, 'gtk': False},
}
analysis = {}
diff --git a/packaging/win/setup_nsis.py b/packaging/win/setup_nsis.py
index bdd07a9ca..f34a941e1 100644
--- a/packaging/win/setup_nsis.py
+++ b/packaging/win/setup_nsis.py
@@ -1,5 +1,4 @@
#!/usr/bin/env python
-# -*- coding: utf-8 -*-
#
# Copyright (C) 2012-2015 Calum Lind <calumlind@gmail.com>
# Copyright (C) 2010 Damien Churchill <damoxc@gmail.com>
diff --git a/setup.cfg b/setup.cfg
index b4071f53e..9403fb0cb 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -27,15 +27,19 @@ frameworks = CoreFoundation, Foundation, AppKit
[flake8]
max-line-length = 120
builtins = _,_n,__request__
-exclude = .git,.tox,.eggs,dist,build
-ignore =
-# A003 Class attribute is a python builtin.
+extend-exclude = dist,build
+extend-ignore =
+# flake8-builtins: A003 class attribute is shadowing a python builtin
A003,
-# C813, C815, C816: PY3 missing trailing commas.
- C813,C815,C816,
-# W503 line break before binary operator.
- W503,
- E203
-
+# E203 whitespace before ':'
+ E203,
+# N818 pep8-naming: error suffix in exception names
+ N818
+per-file-ignores =
+# import not top of file (gi checks required before import)
+ deluge/ui/gtk3/*.py : E402
+ deluge/**/gtkui.py: E402
+ deluge/**/gtkui/*.py: E402
+ deluge/plugins/Stats/deluge_stats/graph.py: E402
[pycodestyle]
max-line-length = 88