summaryrefslogtreecommitdiff
path: root/slixmpp/xmlstream/matcher/stanzapath.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-07-15 10:01:03 +0200
committermathieui <mathieui@mathieui.net>2021-07-15 10:01:03 +0200
commit22fa8bc4d91d38a1176b09d03e0d41313b1adcaa (patch)
tree7344f9e7d72b913e9dfef29fe9b926364e7db587 /slixmpp/xmlstream/matcher/stanzapath.py
parentb1411d8ed79792c6839f4aace13061256337e69b (diff)
parent5c54806578260adcb54b12b00a16cc8707a19263 (diff)
downloadslixmpp-22fa8bc4d91d38a1176b09d03e0d41313b1adcaa.tar.gz
slixmpp-22fa8bc4d91d38a1176b09d03e0d41313b1adcaa.tar.bz2
slixmpp-22fa8bc4d91d38a1176b09d03e0d41313b1adcaa.tar.xz
slixmpp-22fa8bc4d91d38a1176b09d03e0d41313b1adcaa.zip
Merge branch 'more-typing' into 'master'
Add more typing See merge request poezio/slixmpp!166
Diffstat (limited to 'slixmpp/xmlstream/matcher/stanzapath.py')
-rw-r--r--slixmpp/xmlstream/matcher/stanzapath.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/slixmpp/xmlstream/matcher/stanzapath.py b/slixmpp/xmlstream/matcher/stanzapath.py
index 1bf3fa8e..b7de3ee2 100644
--- a/slixmpp/xmlstream/matcher/stanzapath.py
+++ b/slixmpp/xmlstream/matcher/stanzapath.py
@@ -4,8 +4,9 @@
# Part of Slixmpp: The Slick XMPP Library
# :copyright: (c) 2011 Nathanael C. Fritz
# :license: MIT, see LICENSE for more details
+from typing import cast, List
from slixmpp.xmlstream.matcher.base import MatcherBase
-from slixmpp.xmlstream.stanzabase import fix_ns
+from slixmpp.xmlstream.stanzabase import fix_ns, StanzaBase
class StanzaPath(MatcherBase):
@@ -17,22 +18,28 @@ class StanzaPath(MatcherBase):
:param criteria: Object to compare some aspect of a stanza against.
"""
-
- def __init__(self, criteria):
- self._criteria = fix_ns(criteria, split=True,
- propagate_ns=False,
- default_ns='jabber:client')
+ _criteria: List[str]
+ _raw_criteria: str
+
+ def __init__(self, criteria: str):
+ self._criteria = cast(
+ List[str],
+ fix_ns(
+ criteria, split=True, propagate_ns=False,
+ default_ns='jabber:client'
+ )
+ )
self._raw_criteria = criteria
- def match(self, stanza):
+ def match(self, stanza: StanzaBase) -> bool:
"""
Compare a stanza against a "stanza path". A stanza path is similar to
an XPath expression, but uses the stanza's interfaces and plugins
instead of the underlying XML. See the documentation for the stanza
- :meth:`~slixmpp.xmlstream.stanzabase.ElementBase.match()` method
+ :meth:`~slixmpp.xmlstream.stanzabase.StanzaBase.match()` method
for more information.
- :param stanza: The :class:`~slixmpp.xmlstream.stanzabase.ElementBase`
+ :param stanza: The :class:`~slixmpp.xmlstream.stanzabase.StanzaBase`
stanza to compare against.
"""
return stanza.match(self._criteria) or stanza.match(self._raw_criteria)