backend: various fixes, and type hints improvments.
This commit is contained in:
parent
cab460152c
commit
3dbd990902
5 changed files with 14 additions and 11 deletions
|
|
@ -404,7 +404,7 @@ class TextSyntaxes(object):
|
|||
"""
|
||||
return " ".join(SAFE_CLASSES.intersection(classes_raw.split()))
|
||||
|
||||
def clean_xhtml(self, xhtml):
|
||||
def clean_xhtml(self, xhtml) -> str:
|
||||
"""Clean XHTML text by removing potentially dangerous/malicious parts
|
||||
|
||||
@param xhtml(unicode, lxml.etree._Element): raw HTML/XHTML text to clean
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@ class PubsubCache:
|
|||
client: SatXMPPEntity,
|
||||
service: jid.JID,
|
||||
node: str,
|
||||
pubsub_node: PubsubNode = None,
|
||||
pubsub_node: PubsubNode|None = None,
|
||||
) -> dict:
|
||||
"""Use registered analysers on a node to determine what it is used for"""
|
||||
analyse = {"service": service, "node": node}
|
||||
|
|
@ -481,7 +481,7 @@ class PubsubCache:
|
|||
sub_id: Optional[str] = None,
|
||||
rsm_request: Optional[rsm.RSMRequest] = None,
|
||||
extra: Optional[Dict[str, Any]] = None,
|
||||
) -> Tuple[List[PubsubItem], dict]:
|
||||
) -> tuple[list[PubsubItem], dict]:
|
||||
"""Get items from cache, using same arguments as for external Pubsub request"""
|
||||
if extra is None:
|
||||
extra = {}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ from libervia.backend.core.constants import Const as C
|
|||
from libervia.backend.core.core_types import SatXMPPEntity
|
||||
from libervia.backend.core.i18n import _
|
||||
from libervia.backend.core.log import getLogger
|
||||
from libervia.backend.core.xmpp import SatXMPPClient
|
||||
from libervia.backend.core.core_types import SatXMPPClient
|
||||
from libervia.backend.plugins.plugin_xep_0059 import RSMRequest
|
||||
from libervia.backend.tools import utils
|
||||
from libervia.backend.tools import sat_defer
|
||||
|
|
@ -553,7 +553,7 @@ class XEP_0060(object):
|
|||
|
||||
async def send_item(
|
||||
self,
|
||||
client: SatXMPPClient,
|
||||
client: SatXMPPEntity,
|
||||
service: Union[jid.JID, None],
|
||||
nodeIdentifier: str,
|
||||
payload: domish.Element,
|
||||
|
|
@ -1502,7 +1502,9 @@ class XEP_0060(object):
|
|||
def eb(failure_):
|
||||
log.warning(f"Error while parsing item: {failure_.value}")
|
||||
|
||||
d = defer.gatherResults([item_cb(item).addErrback(eb) for item in items])
|
||||
d = defer.gatherResults(
|
||||
[utils.as_deferred(item_cb, item).addErrback(eb) for item in items]
|
||||
)
|
||||
d.addCallback(
|
||||
lambda parsed_items: ([i for i in parsed_items if i is not None], metadata)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ class HeadersData(BaseModel):
|
|||
def to_element(self) -> domish.Element:
|
||||
"""Build the <headers> element from this instance's data."""
|
||||
headers_elt = domish.Element((NS_SHIM, "headers"))
|
||||
header_names = list(self.model_fields.keys()) + list(
|
||||
header_names = list(self.__class__.model_fields.keys()) + list(
|
||||
self.__pydantic_extra__.keys()
|
||||
)
|
||||
for name in header_names:
|
||||
|
|
|
|||
|
|
@ -61,12 +61,13 @@ TZ_UTC = tz.tzutc()
|
|||
TZ_LOCAL = tz.gettz()
|
||||
|
||||
|
||||
def date_parse(value, default_tz=TZ_UTC):
|
||||
def date_parse(value: str, default_tz: datetime.tzinfo=TZ_UTC) -> int:
|
||||
"""Parse a date and return corresponding unix timestamp
|
||||
|
||||
@param value(unicode): date to parse, in any format supported by parser
|
||||
@param default_tz(datetime.tzinfo): default timezone
|
||||
@return (int): timestamp
|
||||
@param value: date to parse, in any format supported by parser
|
||||
@param default_tz: default timezone
|
||||
@return: timestamp
|
||||
@raise ValueError: Date can't be parsed.
|
||||
"""
|
||||
value = str(value).strip()
|
||||
dayfirst = False if YEAR_FIRST_RE.match(value) else True
|
||||
|
|
|
|||
Loading…
Reference in a new issue