From 1607d5e74a0fd42585d1caa07f1c64ab173eda29 Mon Sep 17 00:00:00 2001 From: Thomas Sileo Date: Sat, 16 Jun 2018 00:27:49 +0200 Subject: [PATCH] Cleanup/sorted imports --- little_boxes/activitypub.py | 25 ++++++++++--------------- little_boxes/collection.py | 5 ++--- little_boxes/content_helper.py | 4 ++-- little_boxes/errors.py | 4 ++-- little_boxes/httpsig.py | 16 +++++++++------- little_boxes/key.py | 2 +- little_boxes/linked_data_sig.py | 13 ++++++------- little_boxes/urlutils.py | 2 +- little_boxes/webfinger.py | 9 ++++----- setup.py | 1 + tests/test_backend.py | 6 +++--- tests/test_little_boxes.py | 1 - tests/test_webfinger.py | 15 +++++++++++---- 13 files changed, 52 insertions(+), 51 deletions(-) diff --git a/little_boxes/activitypub.py b/little_boxes/activitypub.py index 196a1b7..8610f07 100644 --- a/little_boxes/activitypub.py +++ b/little_boxes/activitypub.py @@ -1,27 +1,22 @@ """Core ActivityPub classes.""" -import logging import json +import logging import weakref from datetime import datetime from enum import Enum - -from .errors import BadActivityError -from .errors import UnexpectedActivityTypeError -from .errors import Error -from .errors import NotFromOutboxError - -# from .errors import ActivityNotFoundError -# from .urlutils import check_url -from .collection import parse_collection -from .backend import Backend - +from typing import Any +from typing import Dict from typing import List from typing import Optional -from typing import Dict -from typing import Any -from typing import Union from typing import Type +from typing import Union +from .backend import Backend +from .collection import parse_collection +from .errors import BadActivityError +from .errors import Error +from .errors import NotFromOutboxError +from .errors import UnexpectedActivityTypeError logger = logging.getLogger(__name__) diff --git a/little_boxes/collection.py b/little_boxes/collection.py index be89c11..7c20dea 100644 --- a/little_boxes/collection.py +++ b/little_boxes/collection.py @@ -1,10 +1,9 @@ """Contains some ActivityPub related utils.""" -from typing import Optional +from typing import Any from typing import Callable from typing import Dict from typing import List -from typing import Any - +from typing import Optional from .errors import RecursionLimitExceededError from .errors import UnexpectedActivityTypeError diff --git a/little_boxes/content_helper.py b/little_boxes/content_helper.py index eeae694..e3f45d0 100644 --- a/little_boxes/content_helper.py +++ b/little_boxes/content_helper.py @@ -1,14 +1,14 @@ import re +from typing import Dict from typing import List from typing import Tuple -from typing import Dict from bleach.linkifier import Linker from markdown import markdown -from .webfinger import get_actor_url from .activitypub import BACKEND from .activitypub import UninitializedBackendError +from .webfinger import get_actor_url def _set_attrs(attrs, new=False): diff --git a/little_boxes/errors.py b/little_boxes/errors.py index 28c8ce8..33455de 100644 --- a/little_boxes/errors.py +++ b/little_boxes/errors.py @@ -1,7 +1,7 @@ """Errors raised by this package.""" -from typing import Optional -from typing import Dict from typing import Any +from typing import Dict +from typing import Optional class Error(Exception): diff --git a/little_boxes/httpsig.py b/little_boxes/httpsig.py index eef6d7b..df64720 100644 --- a/little_boxes/httpsig.py +++ b/little_boxes/httpsig.py @@ -3,22 +3,24 @@ Mastodon instances won't accept requests that are not signed using this scheme. """ -from datetime import datetime -from urllib.parse import urlparse -from typing import Any, Dict, Optional import base64 import hashlib import logging +from datetime import datetime +from typing import Any +from typing import Dict +from typing import Optional +from urllib.parse import urlparse -# FIXME(tsileo): no more Flask +from Crypto.Hash import SHA256 +from Crypto.Signature import PKCS1_v1_5 from flask import request from requests.auth import AuthBase -from Crypto.Signature import PKCS1_v1_5 -from Crypto.Hash import SHA256 - logger = logging.getLogger(__name__) +# FIXME(tsileo): no more Flask + def _build_signed_string( signed_headers: str, method: str, path: str, headers: Any, body_digest: str diff --git a/little_boxes/key.py b/little_boxes/key.py index 2931e74..8e9e39e 100644 --- a/little_boxes/key.py +++ b/little_boxes/key.py @@ -1,6 +1,6 @@ -from typing import Optional from typing import Any from typing import Dict +from typing import Optional from Crypto.PublicKey import RSA diff --git a/little_boxes/linked_data_sig.py b/little_boxes/linked_data_sig.py index 94ce0a4..04adaca 100644 --- a/little_boxes/linked_data_sig.py +++ b/little_boxes/linked_data_sig.py @@ -1,15 +1,14 @@ -from pyld import jsonld -import hashlib -from datetime import datetime - -from Crypto.Signature import PKCS1_v1_5 -from Crypto.Hash import SHA256 import base64 - +import hashlib import typing +from datetime import datetime from typing import Any from typing import Dict +from Crypto.Hash import SHA256 +from Crypto.Signature import PKCS1_v1_5 +from pyld import jsonld + if typing.TYPE_CHECKING: from .key import Key # noqa: type checking diff --git a/little_boxes/urlutils.py b/little_boxes/urlutils.py index 7dbcadf..1907c2c 100644 --- a/little_boxes/urlutils.py +++ b/little_boxes/urlutils.py @@ -1,7 +1,7 @@ +import ipaddress import logging import os import socket -import ipaddress from urllib.parse import urlparse from . import strtobool diff --git a/little_boxes/webfinger.py b/little_boxes/webfinger.py index d83ea2e..ea91f05 100644 --- a/little_boxes/webfinger.py +++ b/little_boxes/webfinger.py @@ -1,14 +1,13 @@ -from urllib.parse import urlparse -from typing import Dict -from typing import Any -from typing import Optional import logging +from typing import Any +from typing import Dict +from typing import Optional +from urllib.parse import urlparse import requests from .urlutils import check_url - logger = logging.getLogger(__name__) diff --git a/setup.py b/setup.py index 723b778..01efc8f 100644 --- a/setup.py +++ b/setup.py @@ -3,6 +3,7 @@ import io import os from distutils.core import setup + from setuptools import find_packages here = os.path.abspath(os.path.dirname(__file__)) diff --git a/tests/test_backend.py b/tests/test_backend.py index 461936d..b7db587 100644 --- a/tests/test_backend.py +++ b/tests/test_backend.py @@ -1,11 +1,11 @@ import binascii -import os import json -from typing import Optional +import os from typing import List +from typing import Optional -from little_boxes.backend import Backend import little_boxes.activitypub as ap +from little_boxes.backend import Backend def track_call(f): diff --git a/tests/test_little_boxes.py b/tests/test_little_boxes.py index 2cb0d1a..2dc5237 100644 --- a/tests/test_little_boxes.py +++ b/tests/test_little_boxes.py @@ -3,7 +3,6 @@ import logging from little_boxes import activitypub as ap from test_backend import InMemBackend - logging.basicConfig(level=logging.DEBUG) diff --git a/tests/test_webfinger.py b/tests/test_webfinger.py index ac22356..e0db07d 100644 --- a/tests/test_webfinger.py +++ b/tests/test_webfinger.py @@ -1,10 +1,12 @@ -from unittest import mock -import logging import json - -from little_boxes import webfinger +import logging +from unittest import mock import httpretty +import pytest + +from little_boxes import urlutils +from little_boxes import webfinger logging.basicConfig(level=logging.DEBUG) @@ -48,3 +50,8 @@ def test_webfinger(_): webfinger.get_remote_follow_template("@dev@microblog.pub") == "https://microblog.pub/authorize_follow?profile={uri}" ) + + +def test_webfinger_invalid_url(): + with pytest.raises(urlutils.InvalidURLError): + data = webfinger.webfinger("@dev@localhost:8080")