Skip to content

Commit

Permalink
Merge pull request #320 from djhoese/bugfix-style-bugbear
Browse files Browse the repository at this point in the history
Fix all code style issues identified by flake8
  • Loading branch information
djhoese committed Aug 3, 2021
2 parents 497efd3 + b36be70 commit 132e646
Show file tree
Hide file tree
Showing 26 changed files with 75 additions and 324 deletions.
19 changes: 19 additions & 0 deletions .pre-commit-config.yaml
@@ -0,0 +1,19 @@
exclude: '^$'
fail_fast: false
repos:
#- repo: https://github.com/psf/black
# rev: 20.8b1 # Replace by any tag/version: https://github.com/psf/black/tags
# hooks:
# - id: black
# language_version: python3 # Should be a command that runs python3.6+
- repo: https://gitlab.com/pycqa/flake8
rev: 3.9.2
hooks:
- id: flake8
language_version: python3
additional_dependencies: [flake8-docstrings, flake8-debugger, flake8-bugbear]
#- repo: https://github.com/pycqa/isort
# rev: 5.8.0
# hooks:
# - id: isort
# language_version: python3
4 changes: 2 additions & 2 deletions setup.cfg
Expand Up @@ -3,7 +3,7 @@ universal=1

[flake8]
max-line-length = 120
ignore = E226,E241,E265,E266,W291,W293,W503,F999,E305,F405,W504
ignore = D,D107,D202,E226,E241,E265,E266,W291,W293,W503,F999,E305,F405,W503,W504
exclude =
uwsift/ui
uwsift/tests/timeline.py
Expand All @@ -18,4 +18,4 @@ exclude =
;[coverage:run]
;omit =
; uwsift/version.py
; versioneer.py
; versioneer.py
34 changes: 0 additions & 34 deletions uwsift/control/__init__.py
Expand Up @@ -20,40 +20,6 @@
__author__ = 'rayg'
__docformat__ = 'reStructuredText'

import argparse
import logging
import sys
import unittest

LOG = logging.getLogger(__name__)


def main():
parser = argparse.ArgumentParser(
description="PURPOSE",
epilog="",
fromfile_prefix_chars='@')
parser.add_argument('-v', '--verbose', dest='verbosity', action="count", default=0,
help='each occurrence increases verbosity 1 level through ERROR-WARNING-Info-DEBUG')
# http://docs.python.org/2.7/library/argparse.html#nargs
# parser.add_argument('--stuff', nargs='5', dest='my_stuff',
# help="one or more random things")
parser.add_argument('pos_args', nargs='*',
help="positional arguments don't have the '-' prefix")
args = parser.parse_args()

levels = [logging.ERROR, logging.WARN, logging.INFO, logging.DEBUG]
logging.basicConfig(level=levels[min(3, args.verbosity)])

if not args.pos_args:
unittest.main()
return 0

for pn in args.pos_args:
pass

return 0


if __name__ == '__main__':
sys.exit(main())
2 changes: 1 addition & 1 deletion uwsift/control/doc_ws_as_timeline_scene.py
Expand Up @@ -88,7 +88,7 @@ def _purge_orphan_tracks_frames(self, tracks: Iterable[str], frames: Iterable[UU
"""Remove QTrackItem and QFrameItem instances that no longer correspond to document content
"""
LOG.debug("purging {} orphan tracks and {} orphan frames from timeline scene".format(len(tracks), len(frames)))
for frid in frames:
for _ in frames:
self.removeItem()
self._frame_items = dict((k, v) for (k, v) in self._frame_items.items() if k not in frames)
self._track_items = dict((k, v) for (k, v) in self._track_items.items() if k not in tracks)
Expand Down
39 changes: 1 addition & 38 deletions uwsift/control/file_behaviors.py
Expand Up @@ -20,16 +20,13 @@
__author__ = 'rayg'
__docformat__ = 'reStructuredText'

import argparse
import logging
import sys
import unittest

from PyQt5.QtCore import QObject

# from PyQt4.QtGui import QAction


LOG = logging.getLogger(__name__)
FORMAT_GUIDEBOOK = {}


Expand Down Expand Up @@ -68,37 +65,3 @@ def __call__(self, files_to_open):
:return:
"""
pass


LOG = logging.getLogger(__name__)


def main():
parser = argparse.ArgumentParser(
description="PURPOSE",
epilog="",
fromfile_prefix_chars='@')
parser.add_argument('-v', '--verbose', dest='verbosity', action="count", default=0,
help='each occurrence increases verbosity 1 level through ERROR-WARNING-Info-DEBUG')
# http://docs.python.org/2.7/library/argparse.html#nargs
# parser.add_argument('--stuff', nargs='5', dest='my_stuff',
# help="one or more random things")
parser.add_argument('pos_args', nargs='*',
help="positional arguments don't have the '-' prefix")
args = parser.parse_args()

levels = [logging.ERROR, logging.WARN, logging.INFO, logging.DEBUG]
logging.basicConfig(level=levels[min(3, args.verbosity)])

if not args.pos_args:
unittest.main()
return 0

for pn in args.pos_args:
pass

return 0


if __name__ == '__main__':
sys.exit(main())
6 changes: 4 additions & 2 deletions uwsift/control/layer_tree.py
Expand Up @@ -712,12 +712,14 @@ def setData(self, index: QModelIndex, data, role: int = None):
return True
elif role == Qt.DisplayRole:
if index.isValid():
LOG.debug("changing row {} name to {0!r:s}".format(index.row(), data))
LOG.debug("changing row {0} name to {1!r:s}".format(index.row(), data))
self.doc.change_layer_name(index.row(), data)
return True
return False

def insertRows(self, row, count, parent=QModelIndex()):
def insertRows(self, row, count, parent=None):
if parent is None:
parent = QModelIndex()
self.beginInsertRows(QModelIndex(), row, row + count - 1)
LOG.debug(">>>> INSERT {} rows".format(count))
# TODO: insert 'count' empty rows into document
Expand Down
4 changes: 2 additions & 2 deletions uwsift/control/rgb_behaviors.py
Expand Up @@ -66,8 +66,8 @@ def _create_rgb_from_uuids(self, recipe_dict):
families.append(None)
self.create_rgb(families=families)

def create_rgb(self, action=None, families=[]):
if len(families) == 0:
def create_rgb(self, action=None, families=None):
if families is None or len(families) == 0:
# get the layers to composite from current selection
uuids = [u for u in self.layer_list_model.current_selected_uuids() if
self.doc[u][Info.KIND] in [Kind.IMAGE, Kind.COMPOSITE]]
Expand Down
44 changes: 5 additions & 39 deletions uwsift/model/document.py
Expand Up @@ -60,10 +60,7 @@
__author__ = 'rayg'
__docformat__ = 'reStructuredText'

import sys
import logging
import unittest
import argparse
from collections import MutableSequence, OrderedDict, defaultdict
from itertools import groupby, chain
from uuid import UUID, uuid1 as uuidgen
Expand Down Expand Up @@ -2149,8 +2146,8 @@ def change_rgb_recipe_components(self, recipe, update=True, **rgba):

def _uuids_for_recipe(self, recipe, valid_only=True):
prez_uuids = self.current_layer_uuid_order
for inst_key, time_layers in self._recipe_layers[recipe.name].items():
for t, rgb_layer in time_layers.items():
for time_layers in self._recipe_layers[recipe.name].values():
for rgb_layer in time_layers.values():
u = rgb_layer[Info.UUID]
if not valid_only:
yield u
Expand Down Expand Up @@ -2273,14 +2270,14 @@ def _component_generator(family, this_rgba):
# return empty `None` layers since we don't know what is wanted right now
# we look at all possible times
inst_layers = {
k: {l[Info.SCHED_TIME]: None for l in g}
k: {layer[Info.SCHED_TIME]: None for layer in g}
for k, g in groupby(sorted(layers, key=_key_func), _key_func)}
return inst_layers
else:
family_uuids = self._families[family]
family_layers = [self[u] for u in family_uuids]
# (sat, inst) -> {time -> layer}
inst_layers = {k: {l[Info.SCHED_TIME]: l for l in g} for k, g in
inst_layers = {k: {layer[Info.SCHED_TIME]: layer for layer in g} for k, g in
groupby(sorted(family_layers, key=_key_func), _key_func)}
return inst_layers

Expand Down Expand Up @@ -2318,7 +2315,7 @@ def sync_composite_layer_prereqs(self, new_times):
# update the layer object with newly available layers if possible
# add the layer object to the document if it should be included with
# the rest of them
for recipe_name, inst_rgbs in self._recipe_layers.items():
for recipe_name in self._recipe_layers.keys():
recipe = self.recipe_manager[recipe_name]
self.update_rgb_composite_layers(recipe, times=new_times)

Expand Down Expand Up @@ -2653,34 +2650,3 @@ def time_siblings_uuids(self, uuids, sibling_infos=None):
#
# def
#


def main():
parser = argparse.ArgumentParser(
description="PURPOSE",
epilog="",
fromfile_prefix_chars='@')
parser.add_argument('-v', '--verbose', dest='verbosity', action="count", default=0,
help='each occurrence increases verbosity 1 level through ERROR-WARNING-Info-DEBUG')
# http://docs.python.org/2.7/library/argparse.html#nargs
# parser.add_argument('--stuff', nargs='5', dest='my_stuff',
# help="one or more random things")
parser.add_argument('pos_args', nargs='*',
help="positional arguments don't have the '-' prefix")
args = parser.parse_args()

levels = [logging.ERROR, logging.WARN, logging.INFO, logging.DEBUG]
logging.basicConfig(level=levels[min(3, args.verbosity)])

if not args.pos_args:
unittest.main()
return 0

for pn in args.pos_args:
pass

return 0


if __name__ == '__main__':
sys.exit(main())
34 changes: 0 additions & 34 deletions uwsift/model/layer.py
Expand Up @@ -26,11 +26,8 @@
__author__ = 'rayg'
__docformat__ = 'reStructuredText'

import sys
import logging
import numpy as np
import unittest
import argparse

LOG = logging.getLogger(__name__)

Expand Down Expand Up @@ -447,34 +444,3 @@ class DocAlgebraicLayer(DocCompositeLayer):
# """
# FUTURE: A shape layer which feeds probe values to another UI element or helper.
# """


def main():
parser = argparse.ArgumentParser(
description="PURPOSE",
epilog="",
fromfile_prefix_chars='@')
parser.add_argument('-v', '--verbose', dest='verbosity', action="count", default=0,
help='each occurrence increases verbosity 1 level through ERROR-WARNING-Info-DEBUG')
# http://docs.python.org/2.7/library/argparse.html#nargs
# parser.add_argument('--stuff', nargs='5', dest='my_stuff',
# help="one or more random things")
parser.add_argument('pos_args', nargs='*',
help="positional arguments don't have the '-' prefix")
args = parser.parse_args()

levels = [logging.ERROR, logging.WARN, logging.INFO, logging.DEBUG]
logging.basicConfig(level=levels[min(3, args.verbosity)])

if not args.pos_args:
unittest.main()
return 0

for pn in args.pos_args:
pass

return 0


if __name__ == '__main__':
sys.exit(main())
4 changes: 2 additions & 2 deletions uwsift/project/geocat2merc.py
Expand Up @@ -166,8 +166,8 @@ def ahi_dataset_metadata(input_filename, dataset_name):
metadata["valid_max"] = valid_max * scale_factor + add_offset

# mimic satpy metadata
metadata["start_time"] = getattr(nc, "Image_Date_Time")
metadata["end_time"] = getattr(nc, "Image_Date_Time")
metadata["start_time"] = nc.Image_Date_Time
metadata["end_time"] = nc.Image_Date_Time
if "standard_name" not in metadata:
for k, v in VAR_NAME_STANDARD_NAME.items():
if dataset_name.endswith(k):
Expand Down
34 changes: 0 additions & 34 deletions uwsift/queue.py
Expand Up @@ -22,10 +22,7 @@
__author__ = 'rayg'
__docformat__ = 'reStructuredText'

import argparse
import logging
import sys
import unittest
from collections import OrderedDict

from PyQt5.QtCore import QObject, pyqtSignal, QThread
Expand Down Expand Up @@ -211,34 +208,3 @@ def test_task():
yield {TASK_DOING: 'test task', TASK_PROGRESS: float(dex) / 10.0}
TheQueue.sleep(1)
yield {TASK_DOING: 'test task', TASK_PROGRESS: 1.0}


def main():
parser = argparse.ArgumentParser(
description="PURPOSE",
epilog="",
fromfile_prefix_chars='@')
parser.add_argument('-v', '--verbose', dest='verbosity', action="count", default=0,
help='each occurrence increases verbosity 1 level through ERROR-WARNING-Info-DEBUG')
# http://docs.python.org/2.7/library/argparse.html#nargs
# parser.add_argument('--stuff', nargs='5', dest='my_stuff',
# help="one or more random things")
parser.add_argument('pos_args', nargs='*',
help="positional arguments don't have the '-' prefix")
args = parser.parse_args()

levels = [logging.ERROR, logging.WARN, logging.INFO, logging.DEBUG]
logging.basicConfig(level=levels[min(3, args.verbosity)])

if not args.pos_args:
unittest.main()
return 0

for pn in args.pos_args:
pass

return 0


if __name__ == '__main__':
sys.exit(main())
4 changes: 2 additions & 2 deletions uwsift/tests/view/test_open_file_wizard.py
Expand Up @@ -86,7 +86,7 @@ def test_wizard_abi_l1b(qtbot, monkeypatch):
# HACK: Bug in Windows, no enum's by name
assert wiz.button(getattr(QWizard.WizardButton, 'NextButton', 1)).isEnabled()
# Go to the next page
wiz.next()
wiz.next() # noqa: B305

## Page 2
# One product should be listed from our mocking above
Expand All @@ -98,7 +98,7 @@ def test_wizard_abi_l1b(qtbot, monkeypatch):
# HACK: Bug in Windows, no enum's by name
assert wiz.button(getattr(QWizard.WizardButton, 'FinishButton', 3)).isEnabled()
# Go to the next page
wiz.next()
wiz.next() # noqa: B305

# Verify the wizard is left in a usable state for the MainWindow
assert len(wiz.scenes) == 1
Expand Down
2 changes: 0 additions & 2 deletions uwsift/tests/view/test_tile_calculator.py
Expand Up @@ -75,7 +75,6 @@ def test_get_reference_points_bad_points(ic, iv):
"""Test that error is thrown if given invalid mesh points."""
with pytest.raises(ValueError):
get_reference_points(np.array(ic), np.array(iv))
assert False


@pytest.mark.parametrize("cp,ip,num_p,mpp,exp", [
Expand Down Expand Up @@ -114,7 +113,6 @@ def test_calc_view_extents_bad_box(iebox, cp, ip, cs, dx, dy):
"""Test that error is thrown given zero-sized box."""
with pytest.raises(ValueError):
calc_view_extents(iebox, np.array(cp), np.array(ip), cs, dx, dy)
assert False


@pytest.mark.parametrize("ims,ts,s,exp", [
Expand Down

0 comments on commit 132e646

Please sign in to comment.