Add a Bookmark class
This commit is contained in:
parent
bab0a143a3
commit
2eaa540589
1 changed files with 39 additions and 0 deletions
39
src/bookmark.py
Normal file
39
src/bookmark.py
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
from sleekxmpp.plugins.xep_0048 import *
|
||||||
|
|
||||||
|
class Bookmark(object):
|
||||||
|
possible_methods = ('pep', 'privatexml', 'local')
|
||||||
|
def __init__(self, jid, name=None, autojoin=False, nick=None, password=None, method=None):
|
||||||
|
self.jid = jid
|
||||||
|
self.name = name or jid
|
||||||
|
self.autojoin = autojoin
|
||||||
|
self.nick = nick
|
||||||
|
self.password = password
|
||||||
|
self._method = method
|
||||||
|
|
||||||
|
@property
|
||||||
|
def method(self):
|
||||||
|
return self._method
|
||||||
|
|
||||||
|
@method.setter
|
||||||
|
def method(self, value):
|
||||||
|
if value not in self.possible_methods:
|
||||||
|
return
|
||||||
|
self._method = value
|
||||||
|
|
||||||
|
def stanza(self):
|
||||||
|
"""
|
||||||
|
Generate a <conference/> stanza from the instance
|
||||||
|
"""
|
||||||
|
el = Conference()
|
||||||
|
el['name'] = self.name
|
||||||
|
el['jid'] = self.jid
|
||||||
|
el['autojoin'] = 'true' if self.autojoin else 'false'
|
||||||
|
if self.nick:
|
||||||
|
n = Nick().xml
|
||||||
|
n.text = self.nick
|
||||||
|
el.append(n)
|
||||||
|
if self.password:
|
||||||
|
p = Password().xml
|
||||||
|
p.text = self.password
|
||||||
|
el.append(p)
|
||||||
|
return el
|
Loading…
Reference in a new issue