xmlcallback.py 1.05 KB
Newer Older
1

2 3 4 5
# Slixmpp: The Slick XMPP Library
# Copyright (C) 2010  Nathanael C. Fritz
# This file is part of Slixmpp.
# See the file LICENSE for copying permission.
louiz’'s avatar
louiz’ committed
6
from slixmpp.xmlstream.handler import Callback
mathieui's avatar
mathieui committed
7
from slixmpp.xmlstream.stanzabase import StanzaBase
8

Nathan Fritz's avatar
Nathan Fritz committed
9 10

class XMLCallback(Callback):
11 12 13 14 15 16 17 18 19 20

    """
    The XMLCallback class is identical to the normal Callback class,
    except that XML contents of matched stanzas will be processed instead
    of the stanza objects themselves.

    Methods:
        run -- Overrides Callback.run
    """

mathieui's avatar
mathieui committed
21
    def run(self, payload: StanzaBase, instream: bool = False) -> None:
22 23 24 25 26 27 28 29 30 31 32 33 34
        """
        Execute the callback function with the matched stanza's
        XML contents, instead of the stanza itself.

        Overrides BaseHandler.run

        Arguments:
            payload  -- The matched stanza object.
            instream -- Force the handler to execute during
                        stream processing. Used only by prerun.
                        Defaults to False.
        """
        Callback.run(self, payload.xml, instream)