From 053acc720b0dfdca9597b8f7331c4669cd2fe9f0 Mon Sep 17 00:00:00 2001 From: cclauss Date: Tue, 29 Jan 2019 12:41:59 +0100 Subject: [PATCH 1/2] tox: Add flake8 tests for undefined names --- .travis.yml | 18 +++++-------- apprise/plugins/NotifyGrowl/gntp/shim.py | 6 ++--- .../plugins/NotifyPushjet/pushjet/pushjet.py | 26 ++++++++----------- dev-requirements.txt | 6 ++--- tox.ini | 4 ++- 5 files changed, 27 insertions(+), 33 deletions(-) diff --git a/.travis.yml b/.travis.yml index ee8c6b9b..a16b41f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,29 +18,25 @@ matrix: - python: "pypy2.7-5.8.0" env: TOXENV=pypy - python: "pypy3.5-5.8.0" -env: TOXENV=pypy3 + env: TOXENV=pypy3 install: - pip install . - - pip install tox + - pip install codecov tox - pip install -r dev-requirements.txt - pip install -r requirements.txt -before_install: - - pip install codecov - - -after_success: - - tox -e coverage-report - - codecov - - # run tests script: - tox +after_success: + - tox -e coverage-report + - codecov + + notifications: email: false diff --git a/apprise/plugins/NotifyGrowl/gntp/shim.py b/apprise/plugins/NotifyGrowl/gntp/shim.py index 3a387828..46952f06 100644 --- a/apprise/plugins/NotifyGrowl/gntp/shim.py +++ b/apprise/plugins/NotifyGrowl/gntp/shim.py @@ -27,16 +27,16 @@ if PY3: from configparser import RawConfigParser else: def b(s): - if isinstance(s, unicode): + if isinstance(s, unicode): # noqa return s.encode('utf8', 'replace') return s def u(s): - if isinstance(s, unicode): + if isinstance(s, unicode): # noqa return s if isinstance(s, int): s = str(s) - return unicode(s, "utf8", "replace") + return unicode(s, "utf8", "replace") # noqa from StringIO import StringIO from ConfigParser import RawConfigParser diff --git a/apprise/plugins/NotifyPushjet/pushjet/pushjet.py b/apprise/plugins/NotifyPushjet/pushjet/pushjet.py index 070b7ea1..1289f3f0 100644 --- a/apprise/plugins/NotifyPushjet/pushjet/pushjet.py +++ b/apprise/plugins/NotifyPushjet/pushjet/pushjet.py @@ -1,8 +1,12 @@ # -*- coding: utf-8 -*- +import sys import requests from functools import partial +from six import text_type +from six.moves.urllib.parse import urljoin + from .utilities import ( NoNoneDict, requires_secret_key, with_api_bound, @@ -10,14 +14,6 @@ from .utilities import ( ) from .errors import NonexistentError, SubscriptionError, RequestError, ServerError -import sys -if sys.version_info[0] >= 3: - from urllib.parse import urljoin - unicode_type = str -else: - from urlparse import urljoin - unicode_type = unicode - DEFAULT_API_URL = 'https://api.pushjet.io/' class PushjetModel(object): @@ -52,8 +48,8 @@ class Service(PushjetModel): raise ValueError("Invalid secret key provided.") elif public_key and not is_valid_public_key(public_key): raise ValueError("Invalid public key provided.") - self.secret_key = unicode_type(secret_key) if secret_key else None - self.public_key = unicode_type(public_key) if public_key else None + self.secret_key = text_type(secret_key) if secret_key else None + self.public_key = text_type(public_key) if public_key else None self.refresh() def _request(self, endpoint, method, is_secret, params=None, data=None): @@ -97,8 +93,8 @@ class Service(PushjetModel): if not data: return self._request('service', 'PATCH', is_secret=True, data=data) - self.name = unicode_type(name) - self.icon_url = unicode_type(icon_url) + self.name = text_type(name) + self.icon_url = text_type(icon_url) @requires_secret_key def delete(self): @@ -171,10 +167,10 @@ class Device(PushjetModel): return "".format(self.uuid) def __init__(self, uuid): - uuid = unicode_type(uuid) + uuid = text_type(uuid) if not is_valid_uuid(uuid): raise ValueError("Invalid UUID provided. Try uuid.uuid4().") - self.uuid = unicode_type(uuid) + self.uuid = text_type(uuid) def _request(self, endpoint, method, params=None, data=None): params = (params or {}) @@ -292,7 +288,7 @@ class Api(object): return "".format(self.url).encode(sys.stdout.encoding, errors='replace') def __init__(self, url): - self.url = unicode_type(url) + self.url = text_type(url) self.Service = with_api_bound(Service, self) self.Device = with_api_bound(Device, self) diff --git a/dev-requirements.txt b/dev-requirements.txt index e32ceb99..8dc15431 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,6 +1,6 @@ -pytest coverage -pytest-cov -pycodestyle +flake8 mock +pytest +pytest-cov tox diff --git a/tox.ini b/tox.ini index 89d2c50f..bb12fc83 100644 --- a/tox.ini +++ b/tox.ini @@ -41,7 +41,9 @@ commands = coverage run --parallel -m pytest {posargs} deps= -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt -commands = coverage run --parallel -m pytest {posargs} +commands = + flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics + coverage run --parallel -m pytest {posargs} [testenv:pypy] deps= From 99b54d5456eb3876b9ed806ee36f3802a1e46fcb Mon Sep 17 00:00:00 2001 From: cclauss Date: Tue, 29 Jan 2019 12:54:14 +0100 Subject: [PATCH 2/2] Travis CI has deprecated the 'sudo' tag --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a16b41f3..fb63bb77 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,6 @@ matrix: env: TOXENV=py36 - python: "3.7" dist: xenial - sudo: required env: TOXENV=py37 - python: "pypy2.7-5.8.0" env: TOXENV=pypy