summaryrefslogtreecommitdiff
path: root/slixmpp/features/feature_session/stanza.py
blob: 538f578d4e392645bf1058ebf6deaaa2106c71d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

# Slixmpp: The Slick XMPP Library
# Copyright (C) 2011  Nathanael C. Fritz
# This file is part of Slixmpp.
# See the file LICENSE for copying permission.
from slixmpp.xmlstream import ElementBase, ET


class Session(ElementBase):

    """
    """

    name = 'session'
    namespace = 'urn:ietf:params:xml:ns:xmpp-session'
    interfaces = {'optional'}
    plugin_attrib = 'session'

    def get_optional(self):
        return self.xml.find('{%s}optional' % self.namespace) is not None

    def set_optional(self, value):
        if value:
            optional = ET.Element('{%s}optional' % self.namespace)
            self.xml.append(optional)
        else:
            self.del_optional()

    def del_optional(self):
        optional = self.xml.find('{%s}optional' % self.namespace)
        self.xml.remove(optional)