flake8
This commit is contained in:
parent
5903012e0e
commit
c536aa3e07
|
@ -1,4 +1,4 @@
|
||||||
from typing import Any, Awaitable, Callable, List, Sequence
|
from typing import Any, List, Sequence
|
||||||
|
|
||||||
import multiaddr
|
import multiaddr
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import Any, Awaitable, Callable, List, Sequence
|
from typing import Any, List, Sequence
|
||||||
|
|
||||||
import multiaddr
|
import multiaddr
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import TYPE_CHECKING, Awaitable, Callable, Dict, Sequence
|
from typing import TYPE_CHECKING, Dict, Sequence
|
||||||
|
|
||||||
from multiaddr import Multiaddr
|
from multiaddr import Multiaddr
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ from libp2p.typing import StreamHandlerFn
|
||||||
from .stream.net_stream_interface import INetStream
|
from .stream.net_stream_interface import INetStream
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .notifee_interface import INotifee
|
from .notifee_interface import INotifee # noqa: F401
|
||||||
|
|
||||||
|
|
||||||
class INetwork(ABC):
|
class INetwork(ABC):
|
||||||
|
|
|
@ -7,7 +7,7 @@ from libp2p.network.stream.net_stream_interface import INetStream
|
||||||
from libp2p.stream_muxer.abc import IMuxedConn
|
from libp2p.stream_muxer.abc import IMuxedConn
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .network_interface import INetwork
|
from .network_interface import INetwork # noqa: F401
|
||||||
|
|
||||||
|
|
||||||
class INotifee(ABC):
|
class INotifee(ABC):
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
from typing import Awaitable, Callable, Dict, List, Sequence
|
from typing import Callable, Dict, List, Sequence
|
||||||
|
|
||||||
from multiaddr import Multiaddr
|
from multiaddr import Multiaddr
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from typing import Dict, Tuple, TypeVar
|
from typing import Dict, Tuple
|
||||||
|
|
||||||
from libp2p.stream_muxer.abc import IMuxedStream
|
from libp2p.stream_muxer.abc import IMuxedStream
|
||||||
from libp2p.typing import StreamHandlerFn, TProtocol
|
from libp2p.typing import StreamHandlerFn, TProtocol
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import Dict, Tuple, TypeVar
|
from typing import Dict, Tuple
|
||||||
|
|
||||||
from libp2p.stream_muxer.abc import IMuxedStream
|
from libp2p.stream_muxer.abc import IMuxedStream
|
||||||
from libp2p.typing import StreamHandlerFn, TProtocol
|
from libp2p.typing import StreamHandlerFn, TProtocol
|
||||||
|
|
|
@ -15,7 +15,7 @@ from .pubsub_notifee import PubsubNotifee
|
||||||
from .validators import signature_validator
|
from .validators import signature_validator
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .pubsub_router_interface import IPubsubRouter
|
from .pubsub_router_interface import IPubsubRouter # noqa: F401
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
|
@ -8,8 +8,8 @@ from libp2p.network.stream.net_stream_interface import INetStream
|
||||||
from libp2p.stream_muxer.abc import IMuxedConn
|
from libp2p.stream_muxer.abc import IMuxedConn
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
import asyncio
|
import asyncio # noqa: F401
|
||||||
from libp2p.peer.id import ID
|
from libp2p.peer.id import ID # noqa: F401
|
||||||
|
|
||||||
|
|
||||||
class PubsubNotifee(INotifee):
|
class PubsubNotifee(INotifee):
|
||||||
|
|
|
@ -6,7 +6,7 @@ from libp2p.peer.id import ID
|
||||||
from .pb import rpc_pb2
|
from .pb import rpc_pb2
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .pubsub import Pubsub
|
from .pubsub import Pubsub # noqa: F401
|
||||||
|
|
||||||
|
|
||||||
class IPubsubRouter(ABC):
|
class IPubsubRouter(ABC):
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
from typing import TYPE_CHECKING, cast
|
from typing import cast
|
||||||
|
|
||||||
from libp2p.security.secure_conn_interface import ISecureConn
|
from libp2p.security.secure_conn_interface import ISecureConn
|
||||||
from libp2p.security.secure_transport_interface import ISecureTransport
|
from libp2p.security.secure_transport_interface import ISecureTransport
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
|
||||||
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
||||||
from libp2p.peer.id import ID
|
from libp2p.peer.id import ID
|
||||||
from .typing import TSecurityDetails
|
from .typing import TSecurityDetails
|
||||||
|
@ -20,7 +19,7 @@ class InsecureTransport(ISecureTransport):
|
||||||
def __init__(self, transport_id: str) -> None:
|
def __init__(self, transport_id: str) -> None:
|
||||||
self.transport_id = transport_id
|
self.transport_id = transport_id
|
||||||
|
|
||||||
async def secure_inbound(self, conn: "IRawConnection") -> ISecureConn:
|
async def secure_inbound(self, conn: IRawConnection) -> ISecureConn:
|
||||||
"""
|
"""
|
||||||
Secure the connection, either locally or by communicating with opposing node via conn,
|
Secure the connection, either locally or by communicating with opposing node via conn,
|
||||||
for an inbound connection (i.e. we are not the initiator)
|
for an inbound connection (i.e. we are not the initiator)
|
||||||
|
@ -29,7 +28,7 @@ class InsecureTransport(ISecureTransport):
|
||||||
insecure_conn = InsecureConn(conn, self.transport_id)
|
insecure_conn = InsecureConn(conn, self.transport_id)
|
||||||
return insecure_conn
|
return insecure_conn
|
||||||
|
|
||||||
async def secure_outbound(self, conn: "IRawConnection", peer_id: "ID") -> ISecureConn:
|
async def secure_outbound(self, conn: IRawConnection, peer_id: ID) -> ISecureConn:
|
||||||
"""
|
"""
|
||||||
Secure the connection, either locally or by communicating with opposing node via conn,
|
Secure the connection, either locally or by communicating with opposing node via conn,
|
||||||
for an inbound connection (i.e. we are the initiator)
|
for an inbound connection (i.e. we are the initiator)
|
||||||
|
@ -40,21 +39,21 @@ class InsecureTransport(ISecureTransport):
|
||||||
|
|
||||||
|
|
||||||
class InsecureConn(ISecureConn):
|
class InsecureConn(ISecureConn):
|
||||||
conn: "IRawConnection"
|
conn: IRawConnection
|
||||||
details: "TSecurityDetails"
|
details: TSecurityDetails
|
||||||
|
|
||||||
def __init__(self, conn: "IRawConnection", conn_id: str) -> None:
|
def __init__(self, conn: IRawConnection, conn_id: str) -> None:
|
||||||
self.conn = conn
|
self.conn = conn
|
||||||
self.details = cast("TSecurityDetails", {})
|
self.details = cast(TSecurityDetails, {})
|
||||||
self.details["id"] = conn_id
|
self.details["id"] = conn_id
|
||||||
|
|
||||||
def get_conn(self) -> "IRawConnection":
|
def get_conn(self) -> IRawConnection:
|
||||||
"""
|
"""
|
||||||
:return: connection object that has been made secure
|
:return: connection object that has been made secure
|
||||||
"""
|
"""
|
||||||
return self.conn
|
return self.conn
|
||||||
|
|
||||||
def get_security_details(self) -> "TSecurityDetails":
|
def get_security_details(self) -> TSecurityDetails:
|
||||||
"""
|
"""
|
||||||
:return: map containing details about the connections security
|
:return: map containing details about the connections security
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import TYPE_CHECKING
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
|
||||||
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
||||||
from .typing import TSecurityDetails
|
from .typing import TSecurityDetails
|
||||||
|
|
||||||
|
@ -16,13 +14,13 @@ Relevant go repo: https://github.com/libp2p/go-conn-security/blob/master/interfa
|
||||||
|
|
||||||
class ISecureConn(ABC):
|
class ISecureConn(ABC):
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get_conn(self) -> "IRawConnection":
|
def get_conn(self) -> IRawConnection:
|
||||||
"""
|
"""
|
||||||
:return: the underlying raw connection
|
:return: the underlying raw connection
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get_security_details(self) -> "TSecurityDetails":
|
def get_security_details(self) -> TSecurityDetails:
|
||||||
"""
|
"""
|
||||||
:return: map containing details about the connections security
|
:return: map containing details about the connections security
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import TYPE_CHECKING
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
|
||||||
from .secure_conn_interface import ISecureConn
|
from .secure_conn_interface import ISecureConn
|
||||||
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
||||||
from libp2p.peer.id import ID
|
from libp2p.peer.id import ID
|
||||||
|
@ -17,7 +15,7 @@ Relevant go repo: https://github.com/libp2p/go-conn-security/blob/master/interfa
|
||||||
|
|
||||||
class ISecureTransport(ABC):
|
class ISecureTransport(ABC):
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
async def secure_inbound(self, conn: "IRawConnection") -> "ISecureConn":
|
async def secure_inbound(self, conn: IRawConnection) -> ISecureConn:
|
||||||
"""
|
"""
|
||||||
Secure the connection, either locally or by communicating with opposing node via conn,
|
Secure the connection, either locally or by communicating with opposing node via conn,
|
||||||
for an inbound connection (i.e. we are not the initiator)
|
for an inbound connection (i.e. we are not the initiator)
|
||||||
|
@ -25,7 +23,7 @@ class ISecureTransport(ABC):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
async def secure_outbound(self, conn: "IRawConnection", peer_id: "ID") -> "ISecureConn":
|
async def secure_outbound(self, conn: IRawConnection, peer_id: ID) -> ISecureConn:
|
||||||
"""
|
"""
|
||||||
Secure the connection, either locally or by communicating with opposing node via conn,
|
Secure the connection, either locally or by communicating with opposing node via conn,
|
||||||
for an inbound connection (i.e. we are the initiator)
|
for an inbound connection (i.e. we are the initiator)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from abc import ABC
|
from abc import ABC
|
||||||
from typing import Dict, NewType
|
from typing import Dict
|
||||||
|
|
||||||
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
||||||
from libp2p.peer.id import ID
|
from libp2p.peer.id import ID
|
||||||
|
@ -20,9 +20,9 @@ Relevant go repo: https://github.com/libp2p/go-conn-security/blob/master/interfa
|
||||||
|
|
||||||
|
|
||||||
class SecurityMultistream(ABC):
|
class SecurityMultistream(ABC):
|
||||||
transports: Dict[TProtocol, "ISecureTransport"]
|
transports: Dict[TProtocol, ISecureTransport]
|
||||||
multiselect: "Multiselect"
|
multiselect: Multiselect
|
||||||
multiselect_client: "MultiselectClient"
|
multiselect_client: MultiselectClient
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
# Map protocol to secure transport
|
# Map protocol to secure transport
|
||||||
|
@ -34,7 +34,7 @@ class SecurityMultistream(ABC):
|
||||||
# Create multiselect client
|
# Create multiselect client
|
||||||
self.multiselect_client = MultiselectClient()
|
self.multiselect_client = MultiselectClient()
|
||||||
|
|
||||||
def add_transport(self, protocol: TProtocol, transport: "ISecureTransport") -> None:
|
def add_transport(self, protocol: TProtocol, transport: ISecureTransport) -> None:
|
||||||
# Associate protocol with transport
|
# Associate protocol with transport
|
||||||
self.transports[protocol] = transport
|
self.transports[protocol] = transport
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ class SecurityMultistream(ABC):
|
||||||
# we only care about selecting the protocol, not any handler function
|
# we only care about selecting the protocol, not any handler function
|
||||||
self.multiselect.add_handler(protocol, None)
|
self.multiselect.add_handler(protocol, None)
|
||||||
|
|
||||||
async def secure_inbound(self, conn: "IRawConnection") -> "ISecureConn":
|
async def secure_inbound(self, conn: IRawConnection) -> ISecureConn:
|
||||||
"""
|
"""
|
||||||
Secure the connection, either locally or by communicating with opposing node via conn,
|
Secure the connection, either locally or by communicating with opposing node via conn,
|
||||||
for an inbound connection (i.e. we are not the initiator)
|
for an inbound connection (i.e. we are not the initiator)
|
||||||
|
@ -58,7 +58,7 @@ class SecurityMultistream(ABC):
|
||||||
|
|
||||||
return secure_conn
|
return secure_conn
|
||||||
|
|
||||||
async def secure_outbound(self, conn: "IRawConnection", peer_id: "ID") -> "ISecureConn":
|
async def secure_outbound(self, conn: IRawConnection, peer_id: ID) -> ISecureConn:
|
||||||
"""
|
"""
|
||||||
Secure the connection, either locally or by communicating with opposing node via conn,
|
Secure the connection, either locally or by communicating with opposing node via conn,
|
||||||
for an inbound connection (i.e. we are the initiator)
|
for an inbound connection (i.e. we are the initiator)
|
||||||
|
@ -73,7 +73,7 @@ class SecurityMultistream(ABC):
|
||||||
|
|
||||||
return secure_conn
|
return secure_conn
|
||||||
|
|
||||||
async def select_transport(self, conn: "IRawConnection", initiator: bool) -> "ISecureTransport":
|
async def select_transport(self, conn: IRawConnection, initiator: bool) -> ISecureTransport:
|
||||||
"""
|
"""
|
||||||
Select a transport that both us and the node on the
|
Select a transport that both us and the node on the
|
||||||
other end of conn support and agree on
|
other end of conn support and agree on
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
from typing import TYPE_CHECKING, cast
|
from typing import cast
|
||||||
|
|
||||||
from libp2p.security.secure_conn_interface import ISecureConn
|
from libp2p.security.secure_conn_interface import ISecureConn
|
||||||
from libp2p.security.secure_transport_interface import ISecureTransport
|
from libp2p.security.secure_transport_interface import ISecureTransport
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
|
||||||
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
||||||
from libp2p.peer.id import ID
|
from libp2p.peer.id import ID
|
||||||
from .typing import TSecurityDetails
|
from .typing import TSecurityDetails
|
||||||
|
@ -16,7 +15,7 @@ class SimpleSecurityTransport(ISecureTransport):
|
||||||
def __init__(self, key_phrase: str) -> None:
|
def __init__(self, key_phrase: str) -> None:
|
||||||
self.key_phrase = key_phrase
|
self.key_phrase = key_phrase
|
||||||
|
|
||||||
async def secure_inbound(self, conn: "IRawConnection") -> "ISecureConn":
|
async def secure_inbound(self, conn: IRawConnection) -> ISecureConn:
|
||||||
"""
|
"""
|
||||||
Secure the connection, either locally or by communicating with opposing node via conn,
|
Secure the connection, either locally or by communicating with opposing node via conn,
|
||||||
for an inbound connection (i.e. we are not the initiator)
|
for an inbound connection (i.e. we are not the initiator)
|
||||||
|
@ -31,7 +30,7 @@ class SimpleSecurityTransport(ISecureTransport):
|
||||||
secure_conn = SimpleSecureConn(conn, self.key_phrase)
|
secure_conn = SimpleSecureConn(conn, self.key_phrase)
|
||||||
return secure_conn
|
return secure_conn
|
||||||
|
|
||||||
async def secure_outbound(self, conn: "IRawConnection", peer_id: "ID") -> "ISecureConn":
|
async def secure_outbound(self, conn: IRawConnection, peer_id: ID) -> ISecureConn:
|
||||||
"""
|
"""
|
||||||
Secure the connection, either locally or by communicating with opposing node via conn,
|
Secure the connection, either locally or by communicating with opposing node via conn,
|
||||||
for an inbound connection (i.e. we are the initiator)
|
for an inbound connection (i.e. we are the initiator)
|
||||||
|
@ -52,22 +51,22 @@ class SimpleSecurityTransport(ISecureTransport):
|
||||||
|
|
||||||
|
|
||||||
class SimpleSecureConn(ISecureConn):
|
class SimpleSecureConn(ISecureConn):
|
||||||
conn: "IRawConnection"
|
conn: IRawConnection
|
||||||
key_phrase: str
|
key_phrase: str
|
||||||
details: "TSecurityDetails"
|
details: TSecurityDetails
|
||||||
|
|
||||||
def __init__(self, conn: "IRawConnection", key_phrase: str) -> None:
|
def __init__(self, conn: IRawConnection, key_phrase: str) -> None:
|
||||||
self.conn = conn
|
self.conn = conn
|
||||||
self.details = cast("TSecurityDetails", {})
|
self.details = cast(TSecurityDetails, {})
|
||||||
self.details["key_phrase"] = key_phrase
|
self.details["key_phrase"] = key_phrase
|
||||||
|
|
||||||
def get_conn(self) -> "IRawConnection":
|
def get_conn(self) -> IRawConnection:
|
||||||
"""
|
"""
|
||||||
:return: connection object that has been made secure
|
:return: connection object that has been made secure
|
||||||
"""
|
"""
|
||||||
return self.conn
|
return self.conn
|
||||||
|
|
||||||
def get_security_details(self) -> "TSecurityDetails":
|
def get_security_details(self) -> TSecurityDetails:
|
||||||
"""
|
"""
|
||||||
:return: map containing details about the connections security
|
:return: map containing details about the connections security
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -89,7 +89,7 @@ async def no_common_protocol(host_a, host_b):
|
||||||
|
|
||||||
# try to creates a new new with a procotol not known by the other host
|
# try to creates a new new with a procotol not known by the other host
|
||||||
with pytest.raises(MultiselectClientError):
|
with pytest.raises(MultiselectClientError):
|
||||||
_ = await host_b.new_stream(host_a.get_id(), ["/fakeproto/0.0.1"])
|
await host_b.new_stream(host_a.get_id(), ["/fakeproto/0.0.1"])
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
|
|
|
@ -19,7 +19,7 @@ def test_init():
|
||||||
|
|
||||||
|
|
||||||
def test_no_init_value():
|
def test_no_init_value():
|
||||||
with pytest.raises(Exception) as _:
|
with pytest.raises(Exception):
|
||||||
ID()
|
ID()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ def test_init_():
|
||||||
|
|
||||||
|
|
||||||
def test_init_no_value():
|
def test_init_no_value():
|
||||||
with pytest.raises(Exception) as _:
|
with pytest.raises(Exception):
|
||||||
PeerInfo()
|
PeerInfo()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,8 @@ from libp2p.pubsub.mcache import MessageCache
|
||||||
|
|
||||||
|
|
||||||
class Msg:
|
class Msg:
|
||||||
|
__slots__ = ["topicIDs", "seqno", "from_id"]
|
||||||
|
|
||||||
def __init__(self, topicIDs, seqno, from_id):
|
def __init__(self, topicIDs, seqno, from_id):
|
||||||
self.topicIDs = topicIDs
|
self.topicIDs = topicIDs
|
||||||
self.seqno = seqno
|
self.seqno = seqno
|
||||||
|
|
Loading…
Reference in New Issue
Block a user