summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0060/stanza/base.py
blob: d0b7851e93fd4db63fff77d4c819c9b24f360faa (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
"""
    SleekXMPP: The Sleek XMPP Library
    Copyright (C) 2011  Nathanael C. Fritz
    This file is part of SleekXMPP.

    See the file LICENSE for copying permission.
"""

from sleekxmpp.xmlstream import ET


class OptionalSetting(object):

    interfaces = set(('required',))

    def set_required(self, value):
        if value in (True, 'true', 'True', '1'):
            self.xml.append(ET.Element("{%s}required" % self.namespace))
        elif self['required']:
            self.del_required()

    def get_required(self):
        required = self.xml.find("{%s}required" % self.namespace)
        return required is not None

    def del_required(self):
        required = self.xml.find("{%s}required" % self.namespace)
        if required is not None:
            self.xml.remove(required)