示例#1
0
 def to_node(self):
     security = Node(tag='securitylabel',
                     attrs={'xmlns': Namespace.SECLABEL})
     if self.displaymarking is not None:
         security.addChild(node=self.displaymarking.to_node())
     security.addChild(node=self.label)
     return security
示例#2
0
 def to_node(self):
     node = Node(self.name)
     if self.parameters:
         node.addChild(node=make_parameters(self.parameters))
     add_children(node, 'surname', self.surname)
     add_children(node, 'given', self.given)
     add_children(node, 'additional', self.additional)
     add_children(node, 'prefix', self.prefix)
     add_children(node, 'suffix', self.suffix)
     return node
示例#3
0
    def __init__(self, msg_dict):
        # , contact_jid, key, iv, payload, dev_id, my_dev_id):
        Node.__init__(self, 'encrypted', attrs={'xmlns': NS_OMEMO})
        header = Node('header', attrs={'sid': msg_dict['sid']})
        for rid, key in msg_dict['keys'].items():
            header.addChild('key', attrs={'rid': rid}).addData(b64encode(key))

        header.addChild('iv').addData(b64encode(msg_dict['iv']))
        self.addChild(node=header)
        self.addChild('payload').addData(b64encode(msg_dict['payload']))
示例#4
0
    def __init__(self, msg_dict):
        # , contact_jid, key, iv, payload, dev_id, my_dev_id):
        Node.__init__(self, 'encrypted', attrs={'xmlns': NS_OMEMO})
        header = Node('header', attrs={'sid': msg_dict['sid']})
        for rid, key in msg_dict['keys'].items():
            header.addChild('key', attrs={'rid': rid}).addData(b64encode(key))

        header.addChild('iv').addData(b64encode(msg_dict['iv']))
        self.addChild(node=header)
        self.addChild('payload').addData(b64encode(msg_dict['payload']))
示例#5
0
 def to_node(self):
     node = Node(self.name)
     if self.parameters:
         node.addChild(node=make_parameters(self.parameters))
     add_children(node, 'pobox', self.pobox)
     add_children(node, 'ext', self.ext)
     add_children(node, 'street', self.street)
     add_children(node, 'locality', self.locality)
     add_children(node, 'region', self.region)
     add_children(node, 'code', self.code)
     add_children(node, 'country', self.country)
     return node
示例#6
0
    def __init__(self, device_list):
        id_ = gajim.get_an_id()
        attrs = {'id': id_}
        Iq.__init__(self, typ='set', attrs=attrs)

        list_node = Node('list')
        for device in device_list:
            list_node.addChild('device').setAttr('id', device)

        publish = PublishNode(NS_DEVICE_LIST, list_node)
        pubsub = PubsubNode(publish)

        self.addChild(node=pubsub)
示例#7
0
    def __init__(self, device_list):
        id_ = gajim.get_an_id()
        attrs = {'id': id_}
        Iq.__init__(self, typ='set', attrs=attrs)

        list_node = Node('list')
        for device in device_list:
            list_node.addChild('device').setAttr('id', device)

        publish = PublishNode(NS_DEVICE_LIST, list_node)
        pubsub = PubsubNode(publish)

        self.addChild(node=pubsub)
示例#8
0
文件: xmpp.py 项目: amenk/gajim-omemo
    def __init__(self, device_list):
        assert isinstance(device_list, list)
        assert len(device_list) > 0
        id_ = gajim.get_an_id()
        attrs = {'id': id_}
        Iq.__init__(self, typ='set', attrs=attrs)

        list_node = Node('list', attrs={'xmlns': NS_DEVICE_LIST})
        for device in device_list:
            list_node.addChild('device').setAttr('id', device)

        publish = PublishNode(NS_DEVICE_LIST, list_node)
        pubsub = PubsubNode(publish)

        self.addChild(node=pubsub)
示例#9
0
文件: xmpp.py 项目: Ape/gajim-plugins
    def __init__(self, device_list):
        assert isinstance(device_list, list)
        assert len(device_list) > 0
        id_ = gajim.get_an_id()
        attrs = {'id': id_}
        Iq.__init__(self, typ='set', attrs=attrs)

        list_node = Node('list', attrs={'xmlns': NS_OMEMO})
        for device in device_list:
            list_node.addChild('device').setAttr('id', device)

        publish = PublishNode(NS_DEVICE_LIST, list_node)
        pubsub = PubsubNode(publish)

        self.addChild(node=pubsub)
示例#10
0
 def to_node(self):
     vcard = Node(tag='vCard', attrs={'xmlns': Namespace.VCARD})
     for i in self.data:
         if i == 'jid':
             continue
         if isinstance(self.data[i], dict):
             child = vcard.addChild(i)
             for j in self.data[i]:
                 child.addChild(j).setData(self.data[i][j])
         elif isinstance(self.data[i], list):
             for j in self.data[i]:
                 child = vcard.addChild(i)
                 for k in j:
                     child.addChild(k).setData(j[k])
         else:
             vcard.addChild(i).setData(self.data[i])
     return vcard
示例#11
0
    def make_bundle_node(self, state_bundle):
        result = Node('bundle', attrs={'xmlns': NS_OMEMO})
        prekey_pub_node = result.addChild(
            'signedPreKeyPublic',
            attrs={'signedPreKeyId': state_bundle['signedPreKeyId']})
        prekey_pub_node.addData(state_bundle['signedPreKeyPublic'])

        prekey_sig_node = result.addChild('signedPreKeySignature')
        prekey_sig_node.addData(state_bundle['signedPreKeySignature'])

        identity_key_node = result.addChild('identityKey')
        identity_key_node.addData(state_bundle['identityKey'])
        prekeys = result.addChild('prekeys')

        for key in state_bundle['prekeys']:
            prekeys.addChild('preKeyPublic',
                             attrs={'preKeyId': key[0]}).addData(key[1])
        return result
示例#12
0
    def make_bundle_node(self, state_bundle):
        result = Node('bundle', attrs={'xmlns': NS_OMEMO})
        prekey_pub_node = result.addChild(
            'signedPreKeyPublic',
            attrs={'signedPreKeyId': state_bundle['signedPreKeyId']})
        prekey_pub_node.addData(state_bundle['signedPreKeyPublic'])

        prekey_sig_node = result.addChild('signedPreKeySignature')
        prekey_sig_node.addData(state_bundle['signedPreKeySignature'])

        identity_key_node = result.addChild('identityKey')
        identity_key_node.addData(state_bundle['identityKey'])
        prekeys = result.addChild('prekeys')

        for key in state_bundle['prekeys']:
            prekeys.addChild('preKeyPublic',
                             attrs={'preKeyId': key[0]}).addData(key[1])
        return result
示例#13
0
 def to_node(self):
     node = Node(self.name)
     if self.parameters:
         node.addChild(node=make_parameters(self.parameters))
     node.addChild('sourceid', payload=self.sourceid)
     node.addChild('uri', payload=self.uri)
     return node
示例#14
0
 def to_node(self):
     node = Node(self.name)
     if self.parameters:
         node.addChild(node=make_parameters(self.parameters))
     if self.sex:
         node.addChild('sex', payload=self.sex)
     if self.identity:
         node.addChild('identity', payload=self.identity)
     return node
示例#15
0
 def to_node(self):
     vcard = Node(f'{Namespace.VCARD4} vcard')
     for group, props in self._properties:
         if group is None:
             vcard.addChild(node=props.to_node())
         else:
             group = Node(group)
             for prop in props:
                 group.addChild(node=prop.to_node())
             vcard.addChild(node=group)
     return vcard
示例#16
0
 def to_node(self):
     node = Node(self.name)
     for value in self.values:
         node.addChild(self.type, payload=value)
     return node
示例#17
0
 def to_node(self):
     node = Node(self.name)
     node.addChild(self.value_type, payload=self.value)
     return node
示例#18
0
 def to_node(self):
     node = Node(self.name)
     if self.parameters:
         node.addChild(node=make_parameters(self.parameters))
     add_children(node, 'text', self.values)
     return node
示例#19
0
 def to_node(self):
     node = Node(self.name)
     if self.parameters:
         node.addChild(node=make_parameters(self.parameters))
     node.addChild('language-tag', payload=self.value)
     return node
示例#20
0
 def to_node(self):
     node = Node(self.name)
     if self.parameters:
         node.addChild(node=make_parameters(self.parameters))
     node.addChild('timestamp', payload=self.value)
     return node
示例#21
0
def make_parameters(parameters):
    parameters_node = Node('parameters')
    for parameter in parameters.values():
        parameters_node.addChild(node=parameter.to_node())
    return parameters_node