From e5038c9ab7a6718e7a3408a43549231929c7beb9 Mon Sep 17 00:00:00 2001 From: Thomas Kriechbaumer Date: Sat, 28 May 2016 22:17:02 +0200 Subject: [PATCH] netlib: fix most flake8 offenses --- netlib/http/cookies.py | 1 + netlib/http/headers.py | 14 ++++++++++---- netlib/http/http1/assemble.py | 1 + netlib/http/message.py | 17 ++++++++++++----- netlib/socks.py | 2 +- netlib/tcp.py | 1 + netlib/tutils.py | 3 +-- netlib/websockets/frame.py | 2 +- netlib/websockets/protocol.py | 25 +++++++++++-------------- netlib/wsgi.py | 8 ++++---- 10 files changed, 43 insertions(+), 31 deletions(-) diff --git a/netlib/http/cookies.py b/netlib/http/cookies.py index ae041174f..2be93e180 100644 --- a/netlib/http/cookies.py +++ b/netlib/http/cookies.py @@ -27,6 +27,7 @@ variants. Serialization follows RFC6265. # TODO: Disallow LHS-only Cookie values + def _read_until(s, start, term): """ Read until one of the characters in term is reached. diff --git a/netlib/http/headers.py b/netlib/http/headers.py index 60d3f429d..2caf8d519 100644 --- a/netlib/http/headers.py +++ b/netlib/http/headers.py @@ -14,12 +14,18 @@ from ..utils import always_bytes # See also: http://lucumr.pocoo.org/2013/7/2/the-updated-guide-to-unicode/ if six.PY2: # pragma: no cover - _native = lambda x: x - _always_bytes = lambda x: x + def _native(x): + return x + + def _always_bytes(x): + return x else: # While headers _should_ be ASCII, it's not uncommon for certain headers to be utf-8 encoded. - _native = lambda x: x.decode("utf-8", "surrogateescape") - _always_bytes = lambda x: always_bytes(x, "utf-8", "surrogateescape") + def _native(x): + return x.decode("utf-8", "surrogateescape") + + def _always_bytes(x): + return always_bytes(x, "utf-8", "surrogateescape") class Headers(MultiDict): diff --git a/netlib/http/http1/assemble.py b/netlib/http/http1/assemble.py index 1e73cc2b9..2f941877e 100644 --- a/netlib/http/http1/assemble.py +++ b/netlib/http/http1/assemble.py @@ -3,6 +3,7 @@ from __future__ import absolute_import, print_function, division from ... import utils from ...exceptions import HttpException + def assemble_request(request): if request.content is None: raise HttpException("Cannot assemble flow with missing content") diff --git a/netlib/http/message.py b/netlib/http/message.py index b7f425151..13d401a74 100644 --- a/netlib/http/message.py +++ b/netlib/http/message.py @@ -6,14 +6,21 @@ import six from .headers import Headers from .. import encoding, utils +from ..utils import always_bytes if six.PY2: # pragma: no cover - _native = lambda x: x - _always_bytes = lambda x: x + def _native(x): + return x + + def _always_bytes(x): + return x else: - # While the HTTP head _should_ be ASCII, it's not uncommon for certain headers to be utf-8 encoded. - _native = lambda x: x.decode("utf-8", "surrogateescape") - _always_bytes = lambda x: utils.always_bytes(x, "utf-8", "surrogateescape") + # While headers _should_ be ASCII, it's not uncommon for certain headers to be utf-8 encoded. + def _native(x): + return x.decode("utf-8", "surrogateescape") + + def _always_bytes(x): + return always_bytes(x, "utf-8", "surrogateescape") class MessageData(utils.Serializable): diff --git a/netlib/socks.py b/netlib/socks.py index 57ccd1be1..675fa784c 100644 --- a/netlib/socks.py +++ b/netlib/socks.py @@ -147,7 +147,7 @@ class UsernamePasswordAuth(object): class UsernamePasswordAuthResponse(object): - __slots__ = ("ver", "status") + __slots__ = ("ver", "status") def __init__(self, ver, status): self.ver = ver diff --git a/netlib/tcp.py b/netlib/tcp.py index d26bb5f72..ad75cff8a 100644 --- a/netlib/tcp.py +++ b/netlib/tcp.py @@ -71,6 +71,7 @@ sslversion_choices = { "TLSv1_2": (SSL.TLSv1_2_METHOD, SSL_BASIC_OPTIONS), } + class SSLKeyLogger(object): def __init__(self, filename): diff --git a/netlib/tutils.py b/netlib/tutils.py index 18d632f08..b8a3bafcf 100644 --- a/netlib/tutils.py +++ b/netlib/tutils.py @@ -91,8 +91,7 @@ class RaisesContext(object): test_data = utils.Data(__name__) # FIXME: Temporary workaround during repo merge. -import os -test_data.dirname = os.path.join(test_data.dirname,"..","test","netlib") +test_data.dirname = os.path.join(test_data.dirname, "..", "test", "netlib") def treq(**kwargs): diff --git a/netlib/websockets/frame.py b/netlib/websockets/frame.py index fce2c9d3d..da5a97f3f 100644 --- a/netlib/websockets/frame.py +++ b/netlib/websockets/frame.py @@ -14,7 +14,7 @@ from netlib import utils MAX_16_BIT_INT = (1 << 16) MAX_64_BIT_INT = (1 << 64) -DEFAULT=object() +DEFAULT = object() OPCODE = utils.BiDi( CONTINUE=0x00, diff --git a/netlib/websockets/protocol.py b/netlib/websockets/protocol.py index 940132add..101d54841 100644 --- a/netlib/websockets/protocol.py +++ b/netlib/websockets/protocol.py @@ -1,18 +1,18 @@ +""" +Colleciton of utility functions that implement small portions of the RFC6455 +WebSockets Protocol Useful for building WebSocket clients and servers. +Emphassis is on readabilty, simplicity and modularity, not performance or +completeness +This is a work in progress and does not yet contain all the utilites need to +create fully complient client/servers # +Spec: https://tools.ietf.org/html/rfc6455 -# Colleciton of utility functions that implement small portions of the RFC6455 -# WebSockets Protocol Useful for building WebSocket clients and servers. -# -# Emphassis is on readabilty, simplicity and modularity, not performance or -# completeness -# -# This is a work in progress and does not yet contain all the utilites need to -# create fully complient client/servers # -# Spec: https://tools.ietf.org/html/rfc6455 +The magic sha that websocket servers must know to prove they understand +RFC6455 +""" -# The magic sha that websocket servers must know to prove they understand -# RFC6455 from __future__ import absolute_import import base64 import hashlib @@ -94,21 +94,18 @@ class WebsocketsProtocol(object): upgrade="websocket" ) - @classmethod def check_client_handshake(self, headers): if headers.get("upgrade") != "websocket": return return headers.get("sec-websocket-key") - @classmethod def check_server_handshake(self, headers): if headers.get("upgrade") != "websocket": return return headers.get("sec-websocket-accept") - @classmethod def create_server_nonce(self, client_nonce): return base64.b64encode(hashlib.sha1(client_nonce + websockets_magic).digest()) diff --git a/netlib/wsgi.py b/netlib/wsgi.py index e1259cbae..cde562f86 100644 --- a/netlib/wsgi.py +++ b/netlib/wsgi.py @@ -1,15 +1,15 @@ from __future__ import (absolute_import, print_function, division) -from io import BytesIO -import urllib + import time import traceback - import six +from io import BytesIO from six.moves import urllib from netlib.utils import always_bytes, native from . import http, tcp + class ClientConn(object): def __init__(self, address): @@ -140,7 +140,7 @@ class WSGIAdaptor(object): elif state["status"]: raise AssertionError('Response already started') state["status"] = status - state["headers"] = http.Headers([[always_bytes(k), always_bytes(v)] for k,v in headers]) + state["headers"] = http.Headers([[always_bytes(k), always_bytes(v)] for k, v in headers]) if exc_info: self.error_page(soc, state["headers_sent"], traceback.format_tb(exc_info[2])) state["headers_sent"] = True