Example #1
0
 def encode(node, obj, errs):
     if node and obj:
         try:
             # FIXME: this doesn't look pretty
             classnode = xmlext.newNode(node, tag)
             obj.encode(classnode, errs)
             xmlext.addNode(node, '', classnode)
         except Error:
             if req == mandatory:
                 # note: we can receive an error if obj has no content
                 errs.append(_('Object cannot be encoded.'))
     else:
         if req == mandatory:
             errs.append(_('Mandatory argument not available.'))
Example #2
0
 def decode(node, errs, where):
     l = []
     nodes = xmlext.getAllNodes(node, path)
     # print node, tag + '/' + comp_tag, nodes
     if len(nodes) == 0 and req == mandatory:
         errs.append(where + ': ' +
                     _('Mandatory list "{0}" under "{1}" node is empty.'
                       ).format(path, node.name()))
     ix = 1
     for node in nodes:
         dummy = xmlext.newNode(node, "Dummy")
         xmlext.addNode(dummy, '', node)
         l.append(
             decode_item(dummy, errs, where + str("[{}]".format(ix))))
         ix += 1
     return l
Example #3
0
    def add(self, repo_name, repo_url, repo_type="remote"):
        repo_doc = self._get_doc()

        repo_node = xmlext.addNode(repo_doc, "Repo")

        xmlext.addText(repo_node, "Name", repo_name)

        xmlext.addText(repo_node, "Url", repo_url)

        xmlext.addText(repo_node, "Status", "active")

        xmlext.addText(repo_node, "Media", repo_type)

        self._update(repo_doc)
Example #4
0
 def encode(node, l, errs):
     if l:
         for item in l:
             if list_tagpath:
                 listnode = xmlext.addNode(node,
                                           list_tagpath,
                                           branch=False)
             else:
                 listnode = node
             encode_item(listnode, item, errs)
             # encode_item(node, item, errs)
     else:
         if req is mandatory:
             errs.append(
                 _('Mandatory list "{0}" under "{1}" node is empty.').
                 format(path, node.name()))
Example #5
0
 def encode(self, node, errs):
     assert self.tag != ''
     for key in list(self.keys()):
         newnode = xmlext.addNode(node, self.tag)
         xmlext.setNodeAttribute(newnode, 'xml:lang', key)
         xmlext.addText(newnode, '', self[key])