Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar
Source code for slixmpp.plugins.xep_0191.stanza
# Slixmpp: The Slick XMPP Library
# Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
# This file is part of Slixmpp.
# See the file LICENSE for copying permission.
from slixmpp.xmlstream import ET , ElementBase , JID
[docs]
class BlockList ( ElementBase ):
name = 'blocklist'
namespace = 'urn:xmpp:blocking'
plugin_attrib = 'blocklist'
interfaces = { 'items' }
[docs]
def get_items ( self ):
result = set ()
items = self . xml . findall ( '{ %s }item' % self . namespace )
if items is not None :
for item in items :
jid = JID ( item . attrib . get ( 'jid' , '' ))
if jid :
result . add ( jid )
return result
[docs]
def set_items ( self , values ):
self . del_items ()
for jid in values :
if jid :
item = ET . Element ( '{ %s }item' % self . namespace )
item . attrib [ 'jid' ] = JID ( jid ) . full
self . xml . append ( item )
[docs]
def del_items ( self ):
items = self . xml . findall ( '{ %s }item' % self . namespace )
if items is not None :
for item in items :
self . xml . remove ( item )
[docs]
class Block ( BlockList ):
name = 'block'
plugin_attrib = 'block'
[docs]
class Unblock ( BlockList ):
name = 'unblock'
plugin_attrib = 'unblock'