7
OCSManager Client Notification documentation
10
class ClientNotification(object):
11
"""Client Notification class documentation. Prepare XML request
12
payloads and analyze response payloads.
18
def setNewMailPayload(self, tokenLogin=None, newmail=None):
19
"""Prepare newmail payload.
21
if tokenLogin is None: return (True, 'User not authenticated')
22
if newmail is None: return (True, 'Missing newmail arguments')
24
# Sanity checks on newmail dictionary
25
if not "backend" in newmail: return (True, 'Missing backend parameter')
26
if not "username" in newmail: return (True, 'Missing username parameter')
27
if not "folder" in newmail: return (True, 'Missing folder parameter')
28
if not "msgid" in newmail: return (True, 'Missing msgid parameter')
30
root = etree.Element('ocsmanager')
31
token = etree.SubElement(root, "token")
32
token.text = tokenLogin
34
notification = etree.SubElement(root, "notification", category="newmail")
36
backend = etree.SubElement(notification, "backend")
37
backend.text = newmail['backend']
39
username = etree.SubElement(notification, "username")
40
username.text = newmail['username']
42
folder = etree.SubElement(notification, "folder")
43
folder.text = newmail['folder']
45
messageID = etree.SubElement(notification, "messageID")
46
messageID.text = newmail['msgid']
48
return (False, etree.tostring(root, xml_declaration=True, encoding="utf-8"))