mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
bitbake: asyncrpc: include parse_address from hashserv
Moving the code and related definitions from hashserv/__init__.py to asyncrpc/client.py, allowing this function to be used in other asyncrpc clients. (Bitbake rev: b67bb05e431414866b8e8c6a4c88d20b9cdb44a3) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Suggested-by: Joshua Watt <JPEWhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
9a2d08995e
commit
d133dc7e77
@@ -10,11 +10,34 @@ import json
|
|||||||
import os
|
import os
|
||||||
import socket
|
import socket
|
||||||
import sys
|
import sys
|
||||||
|
import re
|
||||||
import contextlib
|
import contextlib
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
from .connection import StreamConnection, WebsocketConnection, DEFAULT_MAX_CHUNK
|
from .connection import StreamConnection, WebsocketConnection, DEFAULT_MAX_CHUNK
|
||||||
from .exceptions import ConnectionClosedError, InvokeError
|
from .exceptions import ConnectionClosedError, InvokeError
|
||||||
|
|
||||||
|
UNIX_PREFIX = "unix://"
|
||||||
|
WS_PREFIX = "ws://"
|
||||||
|
WSS_PREFIX = "wss://"
|
||||||
|
|
||||||
|
ADDR_TYPE_UNIX = 0
|
||||||
|
ADDR_TYPE_TCP = 1
|
||||||
|
ADDR_TYPE_WS = 2
|
||||||
|
|
||||||
|
def parse_address(addr):
|
||||||
|
if addr.startswith(UNIX_PREFIX):
|
||||||
|
return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],))
|
||||||
|
elif addr.startswith(WS_PREFIX) or addr.startswith(WSS_PREFIX):
|
||||||
|
return (ADDR_TYPE_WS, (addr,))
|
||||||
|
else:
|
||||||
|
m = re.match(r"\[(?P<host>[^\]]*)\]:(?P<port>\d+)$", addr)
|
||||||
|
if m is not None:
|
||||||
|
host = m.group("host")
|
||||||
|
port = m.group("port")
|
||||||
|
else:
|
||||||
|
host, port = addr.split(":")
|
||||||
|
|
||||||
|
return (ADDR_TYPE_TCP, (host, int(port)))
|
||||||
|
|
||||||
class AsyncClient(object):
|
class AsyncClient(object):
|
||||||
def __init__(
|
def __init__(
|
||||||
|
|||||||
@@ -5,39 +5,14 @@
|
|||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from contextlib import closing
|
from contextlib import closing
|
||||||
import re
|
|
||||||
import itertools
|
import itertools
|
||||||
import json
|
import json
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
from bb.asyncrpc.client import parse_address, ADDR_TYPE_UNIX, ADDR_TYPE_WS
|
||||||
UNIX_PREFIX = "unix://"
|
|
||||||
WS_PREFIX = "ws://"
|
|
||||||
WSS_PREFIX = "wss://"
|
|
||||||
|
|
||||||
ADDR_TYPE_UNIX = 0
|
|
||||||
ADDR_TYPE_TCP = 1
|
|
||||||
ADDR_TYPE_WS = 2
|
|
||||||
|
|
||||||
User = namedtuple("User", ("username", "permissions"))
|
User = namedtuple("User", ("username", "permissions"))
|
||||||
|
|
||||||
|
|
||||||
def parse_address(addr):
|
|
||||||
if addr.startswith(UNIX_PREFIX):
|
|
||||||
return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],))
|
|
||||||
elif addr.startswith(WS_PREFIX) or addr.startswith(WSS_PREFIX):
|
|
||||||
return (ADDR_TYPE_WS, (addr,))
|
|
||||||
else:
|
|
||||||
m = re.match(r"\[(?P<host>[^\]]*)\]:(?P<port>\d+)$", addr)
|
|
||||||
if m is not None:
|
|
||||||
host = m.group("host")
|
|
||||||
port = m.group("port")
|
|
||||||
else:
|
|
||||||
host, port = addr.split(":")
|
|
||||||
|
|
||||||
return (ADDR_TYPE_TCP, (host, int(port)))
|
|
||||||
|
|
||||||
|
|
||||||
def create_server(
|
def create_server(
|
||||||
addr,
|
addr,
|
||||||
dbname,
|
dbname,
|
||||||
|
|||||||
Reference in New Issue
Block a user