From 53b5faf7a856ab95e92ea54684de40e211230d50 Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Sun, 28 Feb 2016 15:24:48 -0800 Subject: [PATCH 1/5] Add __future__ import style checker This adds the [flake8-future-import][f] plugin for flake8, which enforces the standard set of `__future__` imports at the top of all Python files. This revealed a fair number of files that need to be fixed. To be revisited after #1887 is merged. [f]: https://github.com/xZise/flake8-future-import --- setup.cfg | 12 ++++++++---- tox.ini | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/setup.cfg b/setup.cfg index 40eda74ec..16ab16367 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,7 +4,11 @@ logging-clear-handlers=1 eval-attr="!=slow" [flake8] -# E241 missing whitespace after ',' (used to align visually) -# E221 multiple spaces before operator (used to align visually) -# E731 do not assign a lambda expression, use a def -ignore=E241,E221,E731 +# Default pyflakes errors we ignore: +# - E241: missing whitespace after ',' (used to align visually) +# - E221: multiple spaces before operator (used to align visually) +# - E731: do not assign a lambda expression, use a def +# +# And for `flake8-future-import`, we define the set of imports we require: +# division, absolute_import, and print_function. +ignore=E241,E221,E731,FI50,FI51,FI12,FI53,FI14,FI15 diff --git a/tox.ini b/tox.ini index d220f1895..cd29693a1 100644 --- a/tox.ini +++ b/tox.ini @@ -47,4 +47,5 @@ commands = [testenv:flake8] deps = flake8 + flake8-future-import commands = flake8 beets beetsplug beet test setup.py docs From 205f868a202526a8238166e20df5f7f8e89201f1 Mon Sep 17 00:00:00 2001 From: Jack Wilsdon Date: Wed, 16 Mar 2016 21:03:11 +0000 Subject: [PATCH 2/5] Add description for all errors we ignore --- setup.cfg | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 16ab16367..b093a20b5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,7 +8,11 @@ eval-attr="!=slow" # - E241: missing whitespace after ',' (used to align visually) # - E221: multiple spaces before operator (used to align visually) # - E731: do not assign a lambda expression, use a def -# -# And for `flake8-future-import`, we define the set of imports we require: -# division, absolute_import, and print_function. +# `flake8-future-import` errors we ignore: +# - FI50: `__future__` import "division" present +# - FI51: `__future__` import "absolute_import" present +# - FI12: `__future__` import "with_statement" missing +# - FI53: `__future__` import "print_function" present +# - FI14: `__future__` import "unicode_literals" missing +# - FI15: `__future__` import "generator_stop" missing ignore=E241,E221,E731,FI50,FI51,FI12,FI53,FI14,FI15 From 6b43e1204f5eb5879221cad380201d94f29903f3 Mon Sep 17 00:00:00 2001 From: wordofglass Date: Sat, 16 Apr 2016 01:53:39 +0200 Subject: [PATCH 3/5] add missing print_function future imports --- beet | 2 ++ beets/art.py | 2 ++ beetsplug/cue.py | 2 ++ beetsplug/filefilter.py | 2 ++ beetsplug/ipfs.py | 3 +++ beetsplug/metasync/__init__.py | 3 +++ beetsplug/metasync/amarok.py | 2 ++ beetsplug/metasync/itunes.py | 3 +++ docs/conf.py | 2 ++ docs/serve.py | 4 ++++ test/__init__.py | 2 ++ test/test_filefilter.py | 3 +++ test/test_ipfs.py | 2 ++ test/test_metasync.py | 3 +++ test/test_ui_commands.py | 3 +++ test/test_ui_init.py | 3 +++ 16 files changed, 41 insertions(+) diff --git a/beet b/beet index 99dbd8cf5..9b6b0cabc 100755 --- a/beet +++ b/beet @@ -15,6 +15,8 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. +from __future__ import print_function + import beets.ui if __name__ == '__main__': diff --git a/beets/art.py b/beets/art.py index 60f9dce88..f225c1c09 100644 --- a/beets/art.py +++ b/beets/art.py @@ -17,6 +17,8 @@ music and items' embedded album art. """ +from __future__ import print_function + import subprocess import platform from tempfile import NamedTemporaryFile diff --git a/beetsplug/cue.py b/beetsplug/cue.py index 3e545c9a8..b207a4223 100644 --- a/beetsplug/cue.py +++ b/beetsplug/cue.py @@ -2,6 +2,8 @@ # Copyright 2016 Bruno Cauet # Split an album-file in tracks thanks a cue file +from __future__ import print_function + import subprocess from os import path from glob import glob diff --git a/beetsplug/filefilter.py b/beetsplug/filefilter.py index 2481390f6..f706723fd 100644 --- a/beetsplug/filefilter.py +++ b/beetsplug/filefilter.py @@ -16,6 +16,8 @@ """Filter imported files using a regular expression. """ +from __future__ import print_function + import re from beets import config from beets.plugins import BeetsPlugin diff --git a/beetsplug/ipfs.py b/beetsplug/ipfs.py index 6e5a5c7d4..cf58d112c 100644 --- a/beetsplug/ipfs.py +++ b/beetsplug/ipfs.py @@ -14,6 +14,9 @@ """Adds support for ipfs. Requires go-ipfs and a running ipfs daemon """ + +from __future__ import print_function + from beets import ui, util, library, config from beets.plugins import BeetsPlugin diff --git a/beetsplug/metasync/__init__.py b/beetsplug/metasync/__init__.py index 219d73474..50c1f3ebb 100644 --- a/beetsplug/metasync/__init__.py +++ b/beetsplug/metasync/__init__.py @@ -15,6 +15,9 @@ """Synchronize information from music player libraries """ + +from __future__ import print_function + from abc import abstractmethod, ABCMeta from importlib import import_module diff --git a/beetsplug/metasync/amarok.py b/beetsplug/metasync/amarok.py index 78241dc1b..97cfb8532 100644 --- a/beetsplug/metasync/amarok.py +++ b/beetsplug/metasync/amarok.py @@ -16,6 +16,8 @@ """Synchronize information from amarok's library via dbus """ +from __future__ import print_function + from os.path import basename from datetime import datetime from time import mktime diff --git a/beetsplug/metasync/itunes.py b/beetsplug/metasync/itunes.py index ead77cd39..3c132e9d8 100644 --- a/beetsplug/metasync/itunes.py +++ b/beetsplug/metasync/itunes.py @@ -15,6 +15,9 @@ """Synchronize information from iTunes's library """ + +from __future__ import print_function + from contextlib import contextmanager import os import shutil diff --git a/docs/conf.py b/docs/conf.py index ad100b467..986e42dcf 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from __future__ import print_function + AUTHOR = u'Adrian Sampson' # General configuration diff --git a/docs/serve.py b/docs/serve.py index 48673ea8d..facaf8fe6 100644 --- a/docs/serve.py +++ b/docs/serve.py @@ -1,5 +1,9 @@ #!/usr/bin/env python + +from __future__ import print_function + from livereload import Server, shell + server = Server() server.watch('*.rst', shell('make html')) server.serve(root='_build/html') diff --git a/test/__init__.py b/test/__init__.py index 72fb5d544..1582876d6 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -1,3 +1,5 @@ # -*- coding: utf-8 -*- # Make python -m testall.py work. + +from __future__ import print_function diff --git a/test/test_filefilter.py b/test/test_filefilter.py index aec96977e..0375e4499 100644 --- a/test/test_filefilter.py +++ b/test/test_filefilter.py @@ -15,6 +15,9 @@ """Tests for the `filefilter` plugin. """ + +from __future__ import print_function + import os import shutil diff --git a/test/test_ipfs.py b/test/test_ipfs.py index 2b2acdc2d..67a6e9c29 100644 --- a/test/test_ipfs.py +++ b/test/test_ipfs.py @@ -12,6 +12,8 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. +from __future__ import print_function + from mock import patch from beets import library diff --git a/test/test_metasync.py b/test/test_metasync.py index 6404ea1d8..19e50ee13 100644 --- a/test/test_metasync.py +++ b/test/test_metasync.py @@ -12,6 +12,9 @@ # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. + +from __future__ import print_function + import os import platform import time diff --git a/test/test_ui_commands.py b/test/test_ui_commands.py index ed7620725..a89e29d01 100644 --- a/test/test_ui_commands.py +++ b/test/test_ui_commands.py @@ -15,6 +15,9 @@ """Test module for file ui/commands.py """ + +from __future__ import print_function + import os import shutil diff --git a/test/test_ui_init.py b/test/test_ui_init.py index 98a2aac99..14e53977f 100644 --- a/test/test_ui_init.py +++ b/test/test_ui_init.py @@ -15,6 +15,9 @@ """Test module for file ui/__init__.py """ + +from __future__ import print_function + from test import _common from test._common import unittest From 0cfddfaa8ab19d7a4e6a7552a87f7e40552f77e3 Mon Sep 17 00:00:00 2001 From: wordofglass Date: Sat, 16 Apr 2016 02:28:54 +0200 Subject: [PATCH 4/5] add missing absolute_import future imports --- beet | 2 +- beets/art.py | 2 +- beetsplug/cue.py | 2 +- beetsplug/filefilter.py | 2 +- beetsplug/ipfs.py | 2 +- beetsplug/metasync/__init__.py | 2 +- beetsplug/metasync/amarok.py | 2 +- beetsplug/metasync/itunes.py | 2 +- docs/conf.py | 2 +- docs/serve.py | 2 +- test/__init__.py | 2 +- test/test_filefilter.py | 10 +++++----- test/test_ipfs.py | 2 +- test/test_metasync.py | 2 +- test/test_ui_commands.py | 2 +- test/test_ui_init.py | 2 +- 16 files changed, 20 insertions(+), 20 deletions(-) diff --git a/beet b/beet index 9b6b0cabc..742dd2a36 100755 --- a/beet +++ b/beet @@ -15,7 +15,7 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. -from __future__ import print_function +from __future__ import absolute_import, print_function import beets.ui diff --git a/beets/art.py b/beets/art.py index f225c1c09..9012db00e 100644 --- a/beets/art.py +++ b/beets/art.py @@ -17,7 +17,7 @@ music and items' embedded album art. """ -from __future__ import print_function +from __future__ import absolute_import, print_function import subprocess import platform diff --git a/beetsplug/cue.py b/beetsplug/cue.py index b207a4223..d6865b4f2 100644 --- a/beetsplug/cue.py +++ b/beetsplug/cue.py @@ -2,7 +2,7 @@ # Copyright 2016 Bruno Cauet # Split an album-file in tracks thanks a cue file -from __future__ import print_function +from __future__ import absolute_import, print_function import subprocess from os import path diff --git a/beetsplug/filefilter.py b/beetsplug/filefilter.py index f706723fd..437b66d9a 100644 --- a/beetsplug/filefilter.py +++ b/beetsplug/filefilter.py @@ -16,7 +16,7 @@ """Filter imported files using a regular expression. """ -from __future__ import print_function +from __future__ import absolute_import, print_function import re from beets import config diff --git a/beetsplug/ipfs.py b/beetsplug/ipfs.py index cf58d112c..119d857c8 100644 --- a/beetsplug/ipfs.py +++ b/beetsplug/ipfs.py @@ -15,7 +15,7 @@ """Adds support for ipfs. Requires go-ipfs and a running ipfs daemon """ -from __future__ import print_function +from __future__ import absolute_import, print_function from beets import ui, util, library, config from beets.plugins import BeetsPlugin diff --git a/beetsplug/metasync/__init__.py b/beetsplug/metasync/__init__.py index 50c1f3ebb..a7ed292ce 100644 --- a/beetsplug/metasync/__init__.py +++ b/beetsplug/metasync/__init__.py @@ -16,7 +16,7 @@ """Synchronize information from music player libraries """ -from __future__ import print_function +from __future__ import absolute_import, print_function from abc import abstractmethod, ABCMeta from importlib import import_module diff --git a/beetsplug/metasync/amarok.py b/beetsplug/metasync/amarok.py index 97cfb8532..8d657b564 100644 --- a/beetsplug/metasync/amarok.py +++ b/beetsplug/metasync/amarok.py @@ -16,7 +16,7 @@ """Synchronize information from amarok's library via dbus """ -from __future__ import print_function +from __future__ import absolute_import, print_function from os.path import basename from datetime import datetime diff --git a/beetsplug/metasync/itunes.py b/beetsplug/metasync/itunes.py index 3c132e9d8..4e67193bc 100644 --- a/beetsplug/metasync/itunes.py +++ b/beetsplug/metasync/itunes.py @@ -16,7 +16,7 @@ """Synchronize information from iTunes's library """ -from __future__ import print_function +from __future__ import absolute_import, print_function from contextlib import contextmanager import os diff --git a/docs/conf.py b/docs/conf.py index 986e42dcf..6d58a8135 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from __future__ import print_function +from __future__ import absolute_import, print_function AUTHOR = u'Adrian Sampson' diff --git a/docs/serve.py b/docs/serve.py index facaf8fe6..0920f9374 100644 --- a/docs/serve.py +++ b/docs/serve.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from __future__ import print_function +from __future__ import absolute_import, print_function from livereload import Server, shell diff --git a/test/__init__.py b/test/__init__.py index 1582876d6..4de37e268 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -2,4 +2,4 @@ # Make python -m testall.py work. -from __future__ import print_function +from __future__ import absolute_import, print_function diff --git a/test/test_filefilter.py b/test/test_filefilter.py index 0375e4499..a3a3e212f 100644 --- a/test/test_filefilter.py +++ b/test/test_filefilter.py @@ -16,19 +16,19 @@ """Tests for the `filefilter` plugin. """ -from __future__ import print_function +from __future__ import absolute_import, print_function import os import shutil -from _common import unittest +from test import _common +from test._common import unittest +from test.helper import capture_log +from test.test_importer import ImportHelper from beets import config from beets.mediafile import MediaFile from beets.util import displayable_path from beetsplug.filefilter import FileFilterPlugin -from test import _common -from test.helper import capture_log -from test.test_importer import ImportHelper class FileFilterPluginTest(unittest.TestCase, ImportHelper): diff --git a/test/test_ipfs.py b/test/test_ipfs.py index 67a6e9c29..a261590b1 100644 --- a/test/test_ipfs.py +++ b/test/test_ipfs.py @@ -12,7 +12,7 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. -from __future__ import print_function +from __future__ import absolute_import, print_function from mock import patch diff --git a/test/test_metasync.py b/test/test_metasync.py index 19e50ee13..dce66b218 100644 --- a/test/test_metasync.py +++ b/test/test_metasync.py @@ -13,7 +13,7 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. -from __future__ import print_function +from __future__ import absolute_import, print_function import os import platform diff --git a/test/test_ui_commands.py b/test/test_ui_commands.py index a89e29d01..6347bc312 100644 --- a/test/test_ui_commands.py +++ b/test/test_ui_commands.py @@ -16,7 +16,7 @@ """Test module for file ui/commands.py """ -from __future__ import print_function +from __future__ import absolute_import, print_function import os import shutil diff --git a/test/test_ui_init.py b/test/test_ui_init.py index 14e53977f..457655907 100644 --- a/test/test_ui_init.py +++ b/test/test_ui_init.py @@ -16,7 +16,7 @@ """Test module for file ui/__init__.py """ -from __future__ import print_function +from __future__ import absolute_import, print_function from test import _common from test._common import unittest From 0f89f17227a4c821cc42536da011fc5937b74fe2 Mon Sep 17 00:00:00 2001 From: wordofglass Date: Sat, 16 Apr 2016 18:33:54 +0200 Subject: [PATCH 5/5] add missing division future imports --- beet | 2 +- beets/art.py | 2 +- beetsplug/cue.py | 2 +- beetsplug/filefilter.py | 2 +- beetsplug/ipfs.py | 2 +- beetsplug/metasync/__init__.py | 2 +- beetsplug/metasync/amarok.py | 2 +- beetsplug/metasync/itunes.py | 2 +- docs/conf.py | 2 +- docs/serve.py | 2 +- test/__init__.py | 2 +- test/test_filefilter.py | 2 +- test/test_ipfs.py | 2 +- test/test_metasync.py | 2 +- test/test_ui_commands.py | 2 +- test/test_ui_init.py | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/beet b/beet index 742dd2a36..21fa085b9 100755 --- a/beet +++ b/beet @@ -15,7 +15,7 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function import beets.ui diff --git a/beets/art.py b/beets/art.py index 9012db00e..7a65a2b80 100644 --- a/beets/art.py +++ b/beets/art.py @@ -17,7 +17,7 @@ music and items' embedded album art. """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function import subprocess import platform diff --git a/beetsplug/cue.py b/beetsplug/cue.py index d6865b4f2..63051bfc1 100644 --- a/beetsplug/cue.py +++ b/beetsplug/cue.py @@ -2,7 +2,7 @@ # Copyright 2016 Bruno Cauet # Split an album-file in tracks thanks a cue file -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function import subprocess from os import path diff --git a/beetsplug/filefilter.py b/beetsplug/filefilter.py index 437b66d9a..72b5ea9ea 100644 --- a/beetsplug/filefilter.py +++ b/beetsplug/filefilter.py @@ -16,7 +16,7 @@ """Filter imported files using a regular expression. """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function import re from beets import config diff --git a/beetsplug/ipfs.py b/beetsplug/ipfs.py index 119d857c8..87a100b14 100644 --- a/beetsplug/ipfs.py +++ b/beetsplug/ipfs.py @@ -15,7 +15,7 @@ """Adds support for ipfs. Requires go-ipfs and a running ipfs daemon """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function from beets import ui, util, library, config from beets.plugins import BeetsPlugin diff --git a/beetsplug/metasync/__init__.py b/beetsplug/metasync/__init__.py index a7ed292ce..3fc0be4cc 100644 --- a/beetsplug/metasync/__init__.py +++ b/beetsplug/metasync/__init__.py @@ -16,7 +16,7 @@ """Synchronize information from music player libraries """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function from abc import abstractmethod, ABCMeta from importlib import import_module diff --git a/beetsplug/metasync/amarok.py b/beetsplug/metasync/amarok.py index 8d657b564..aaa1ee91e 100644 --- a/beetsplug/metasync/amarok.py +++ b/beetsplug/metasync/amarok.py @@ -16,7 +16,7 @@ """Synchronize information from amarok's library via dbus """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function from os.path import basename from datetime import datetime diff --git a/beetsplug/metasync/itunes.py b/beetsplug/metasync/itunes.py index 4e67193bc..a62746848 100644 --- a/beetsplug/metasync/itunes.py +++ b/beetsplug/metasync/itunes.py @@ -16,7 +16,7 @@ """Synchronize information from iTunes's library """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function from contextlib import contextmanager import os diff --git a/docs/conf.py b/docs/conf.py index 6d58a8135..e6eae663a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function AUTHOR = u'Adrian Sampson' diff --git a/docs/serve.py b/docs/serve.py index 0920f9374..d54c8b64d 100644 --- a/docs/serve.py +++ b/docs/serve.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function from livereload import Server, shell diff --git a/test/__init__.py b/test/__init__.py index 4de37e268..8214c3b8e 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -2,4 +2,4 @@ # Make python -m testall.py work. -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function diff --git a/test/test_filefilter.py b/test/test_filefilter.py index a3a3e212f..9e6a71099 100644 --- a/test/test_filefilter.py +++ b/test/test_filefilter.py @@ -16,7 +16,7 @@ """Tests for the `filefilter` plugin. """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function import os import shutil diff --git a/test/test_ipfs.py b/test/test_ipfs.py index a261590b1..87ca3f2ec 100644 --- a/test/test_ipfs.py +++ b/test/test_ipfs.py @@ -12,7 +12,7 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function from mock import patch diff --git a/test/test_metasync.py b/test/test_metasync.py index dce66b218..f4a5f4d49 100644 --- a/test/test_metasync.py +++ b/test/test_metasync.py @@ -13,7 +13,7 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function import os import platform diff --git a/test/test_ui_commands.py b/test/test_ui_commands.py index 6347bc312..e71db3ca9 100644 --- a/test/test_ui_commands.py +++ b/test/test_ui_commands.py @@ -16,7 +16,7 @@ """Test module for file ui/commands.py """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function import os import shutil diff --git a/test/test_ui_init.py b/test/test_ui_init.py index 457655907..35fd99cc5 100644 --- a/test/test_ui_init.py +++ b/test/test_ui_init.py @@ -16,7 +16,7 @@ """Test module for file ui/__init__.py """ -from __future__ import absolute_import, print_function +from __future__ import division, absolute_import, print_function from test import _common from test._common import unittest