示例#1
0
 def test_et():
     """ElementTree"""
     _table = et.Element('table')
     for row in table:
         tr = et.SubElement(_table, 'tr')
         for c in row.values():
             et.SubElement(tr, 'td').text = str(c)
     et.tostring(_table)
示例#2
0
def main(bgffile,xbgffile):
	seq = ET.Element(slpsns.xbgf_('sequence'))
	rr = ET.SubElement(seq,slpsns.xbgf_('reroot'))
	for r in ET.XML('<list>'+''.join(open(bgffile,'r').readlines()).strip()+'</list>').findall('*'):
		x = ET.SubElement(rr,'root')
		x.text = r.text
	ET.ElementTree(seq).write(xbgffile)
	return
示例#3
0
 def test_et():
     """ElementTree"""
     _table = et.Element("table")
     for row in table:
         tr = et.SubElement(_table, "tr")
         for c in row.values():
             et.SubElement(tr, "td").text = str(c)
     et.tostring(_table)
示例#4
0
文件: BGF.py 项目: siwiwit/slps
 def getXml(self):
     #print 'Getting the XML of production...'
     self.ex = ET.Element(slpsns.bgf_('production'))
     if self.label != '':
         ET.SubElement(self.ex, 'label').text = self.label
     ET.SubElement(self.ex, 'nonterminal').text = str(self.nt)
     self.ex.append(self.expr.getXml())
     return self.ex
示例#5
0
文件: BGF.py 项目: siwiwit/slps
 def getXml(self):
     #print 'Getting the XML of selectable',self.sel,'...'
     self.ex = ET.Element(slpsns.bgf_('expression'))
     self.xml = ET.SubElement(self.ex, 'selectable')
     ET.SubElement(self.xml, 'selector').text = self.sel
     if self.expr:
         self.xml.append(self.expr.getXml())
         # troubleshooting?
     return self.ex
示例#6
0
 def parsefigure(self,line):
   if line[1:-1].split('.')[-1] in ('png','jpg','gif'):
     l=ET.SubElement(self.cont, "img")
     l.attrib['alt']=line[1:-1]
     l.attrib['src']=line[1:-1]
   else:
     l=ET.SubElement(self.cont, "a")
     l.text=line[1:-1]
     l.attrib['href']=line[1:-1]
示例#7
0
 def  parseequation(self,line):
   text=str(py2tex.tex(line[1:-1]))
   fn=textopng.textopng('$$%s$$' % text)
   ET.SubElement(self.cont, "p").text=line
   ET.SubElement(self.cont, "p").text=text
   l=ET.SubElement(self.cont, "center")
   l=ET.SubElement(l,"img")
   l.attrib['alt']=line
   l.attrib['src']=fn
示例#8
0
 def etree(self):
     spec = etree.Element("spec")
     name = etree.SubElement(spec, "name")
     name.text = self.name
     fmt = etree.SubElement(spec, "ctypes_format") 
     fmt.text = str(self.Format)
     num = etree.SubElement(spec, "number")
     num.text = str(self.num)
     return(spec)
示例#9
0
def getInfo():
    root = ET.Element('uclassify',
                      xmlns='http://api.uclassify.com/1/RequestSchema',
                      version='1.01')
    readCalls = ET.SubElement(root, 'readCalls', readApiKey=readKey)
    getInformation = ET.SubElement(readCalls,
                                   'getInformation',
                                   id='GetInformation',
                                   classifierName='subjects')
    return root
示例#10
0
 def update_comment(self, comment_id, body):
     """
     Update a specific comment. This can be used to edit the content of an
     existing comment.
     """
     path = '/comments/%u.xml' % comment_id
     req = ET.Element('request')
     #ET.SubElement(req, 'comment_id').text = str(int(comment_id))
     comment = ET.SubElement(req, 'comment')
     ET.SubElement(comment, 'body').text = unicode(body)
     return self._request(path, req, put=True)
示例#11
0
 def update_todo_item(self, item_id, content, party_id=None, notify=False):
     """
     Modifies an existing item. The values work much like the "create item"
     operation, so you should refer to that for a more detailed explanation.
     """
     path = '/todo_items/%u.xml' % item_id
     req = ET.Element('todo-item')
     ET.SubElement(req, 'content').text = unicode(content)
     if party_id is not None:
         ET.SubElement(req, 'responsible-party').text = str(party_id)
         ET.SubElement(req, 'notify').text = str(bool(notify)).lower()
     return self._request(path, req, put=True)
示例#12
0
    def _onTopic(self, topicObj):
        if topicObj.isAll():
            self.last_elem = self.tree
            return
        if self.roots:
            this_elem = ET.SubElement(self.roots[-1], 'topic',
                                      {'id': topicObj.getNodeName()})
        else:
            this_elem = ET.Element('topic', {'id': topicObj.getNodeName()})
        req, opt = topicObj.getArgs()
        req = req or ()
        opt = opt or ()
        desc_elem = ET.SubElement(this_elem, 'description')
        topicDesc = topicObj.getDescription()
        if topicDesc:
            desc_elem.text = ' '.join(topicDesc.split())
        else:
            desc_elem.text = "UNDOCUMENTED"
        argDescriptions = topicObj.getArgDescriptions()

        # pubsub way of getting known_args
        known_args = []
        parent = topicObj.getParent()
        while parent:
            if parent in self.known_topics:
                p_req, p_opt = parent.getArgs()
                if p_req:
                    known_args.extend(p_req)
                if p_opt:
                    known_args.extend(p_opt)
            parent = parent.getParent()

        # there is probably a cleaner way to do this
        if req or opt:
            spec = ET.SubElement(this_elem, 'listenerspec')
            for arg in req:
                if arg in known_args:
                    continue
                arg_elem = ET.SubElement(spec, 'arg', {'id': arg})
                arg_elem.text = ' '.join(
                    argDescriptions.get(arg, 'UNDOCUMENTED').split())
            for arg in opt:
                if arg in known_args:
                    continue
                arg_elem = ET.SubElement(spec, 'arg', {
                    'id': arg,
                    'optional': 'True'
                })
                arg_elem.text = ' '.join(
                    argDescriptions.get(arg, 'UNDOCUMENTED').split())

        self.last_elem = this_elem
        self.known_topics.append(topicObj)
示例#13
0
def xldf_hyperlinkify(localpath,cmd,tree):
 where = tree.findall(cmd.findtext('goal'))
 if where:
  el = ET.SubElement(where[0],'link')
  ET.SubElement(el,'text').text = where[0].text
  ET.SubElement(el,'external').text = cmd.findtext('uri')
  #el.attrib['href'] = cmd.findtext('uri')
  #el.text = where[0].text
  where[0].text = ''
  print '[XLDF] hyperlinkify(',cmd.findtext('goal'),',',cmd.findtext('uri'),')'
 else:
  print '[----] xldf:hyperlinkify: goal',cmd.findtext('goal'),'not found'
 return
示例#14
0
def make_alignment(
    seqobjectdict
):  #	[seqobjects], N --> <alignment_block, id='N'> <taxon and sequence for each seqobject /> </alignment_block>
    alignblock = ET.Element('alignment')
    alignblock.set('id', 'alignment')
    alignblock.set('dataType', 'nucleotide')

    for header, seqobject in seqobjectdict.items():
        seqblock = ET.SubElement(alignblock, 'sequence')
        taxon = ET.SubElement(seqblock, 'taxon')
        taxon.set('idref', header)
        taxon.tail = str(seqobject.seq)
    return alignblock
示例#15
0
 def parseolist(self,line):
   level=0
   for c in line:
     if c=='#':
       level+=1
     else:
       break
   while (level>len(self.list)-1):
     self.list.append(ET.SubElement(self.list[-1], "ol"))
   while (level<len(self.list)-1):
     self.list.pop()
   self.cont=ET.SubElement(self.list[-1],"li")
   self.cont.text=line[level:]
示例#16
0
def save_xml( kwargs, filename="" ):
    """ fonction: pour ecrire le fichier RssFeeds.xml, a partir d'une dico """
    try:
        if not filename: filename = XML_PATH
        if kwargs and isinstance( kwargs, dict ):
            # build a tree structure
            root = ET.Element( "rssfeeds" )
            root.text = "\n  "

            #optional Comment
            c1 = ET.Comment( 'RSS feeds. To have multiple feeds, just add a feed to the set. You can also have multiple sets.' )
            c2 = ET.Comment( 'To use different sets in your skin, each must be called from skin with a unique id.' )
            c1.tail = "\n  "; root.append( c1 )
            c2.tail = "\n  "; root.append( c2 )

            #optional Comment writed in set tag id 100 only
            c3 = ET.Comment( "Rss Feed : passion-xbmc.org; created and used by script Installer Passion-XBMC" )
            c3.tail = "\n    "

            # build elements and sub elements
            for key, value in sorted( kwargs.items(), key=lambda k: int( k[ 0 ] ) ):
                set_elem = ET.SubElement( root, "set" )
                set_elem.attrib.update( { "id": key, "rtl": value.get( "rtl", "false" ) } )
                set_elem.text = "\n    "
                set_elem.tail = "\n  "
                if key == "100": set_elem.append( c3 )
                for feed in value[ "feed" ]:
                    feed_elem = ET.SubElement( set_elem, "feed" )
                    feed_elem.attrib.update( { "updateinterval": feed.get( "updateinterval", "30" ) } )
                    feed_elem.text = feed.get( "feed", "http://passion-xbmc.org/scraper/?forumrss=1" )
                    feed_elem.tail = "\n    "

                try: feed_elem.tail = "\n  "
                except: set_elem.text = ""
                if not value[ "feed" ]:
                    set_elem.text = ""

            try: set_elem.tail = "\n"
            except: root.text = "\n"

            # wrap it in an ElementTree instance, and save as XML
            tree = ET.ElementTree( root )
            # frost: I modified ElementTree.write for write standalone
            try: tree.write( filename, ENCODING, True )
            except: tree.write( filename, ENCODING )

            #If not error, refresh_rss and return filename path.
            refresh_rss()
            return filename
    except:
        print_exc()
示例#17
0
def read(text):
    root = ET.Element('uclassify',
                      xmlns='http://api.uclassify.com/1/RequestSchema',
                      version='1.01')
    texts = ET.SubElement(root, 'texts')
    textBase64 = ET.SubElement(texts, 'textBase64', id='text1')
    textBase64.text = base64.b64encode(text.encode('UTF-8'))
    readCalls = ET.SubElement(root, 'readCalls', readApiKey=readKey)
    classify = ET.SubElement(readCalls,
                             'classify',
                             id='classify1',
                             classifierName='subjects',
                             textId='text1')
    return root
示例#18
0
 def addSubElement(self, elementFather, subElementName):
     """
     Adds a subelement to the tree
     """
     try:
         if elementFather == self.root:
             return ET.SubElement(self.root, subElementName)
         else:
             return ET.SubElement(elementFather, subElementName)
         pass
     except Exception, e:
         print str(e)
         print "There was an error adding a subElement"
         return None
示例#19
0
 def parsedlist(self,line):
   level=0
   for c in line:
     if c==';':
       level+=1
     else:
       break
   while (level>len(self.list)-1):
     self.list.append(ET.SubElement(self.list[-1], "dl"))
   while (level<len(self.list)-1):
     self.list.pop()
   d=line[level:].split(':',1)
   ET.SubElement(self.list[-1],"dt").text=d[0]
   self.cont=ET.SubElement(self.list[-1],"dd")
   self.cont.text=d[1]
示例#20
0
 def create_message(self,
                    project_id,
                    category_id,
                    title,
                    body,
                    private=False,
                    notify=None,
                    attachments=None):
     """
     Creates a new message, optionally sending notifications to a selected
     list of people. Note that you can also upload files using this
     function, but you need to upload the files first and then attach them.
     See the description at the top of this document for more information.
     """
     path = '/projects/%u/posts.xml' % project_id
     req = ET.Element('request')
     req.append(
         self._create_message_post_elem(category_id, title, body, private))
     if notify:
         for person_id in notify:
             ET.SubElement(req, 'notify').text = str(int(person_id))
     # TODO: Implement attachments.
     if attachments is not None:
         raise NotSupportedErr('Attachments are currently not implemented.')
     ##for attachment in attachments:
     ##    attms = ET.SubElement(req, 'attachments')
     ##    if attachment['name']:
     ##        ET.SubElement(attms, 'name').text = str(attachment['name'])
     ##    file_ = ET.SubElement(attms, 'file')
     ##    ET.SubElement(file_, 'file').text = str(attachment['temp_id'])
     ##    ET.SubElement(file_, 'content-type').text \
     ##        = str(attachment['content_type'])
     ##    ET.SubElement(file_, 'original-filename').text \
     ##        = str(attachment['original_filename'])
     return self._request(path, req, post=True, return_response=True)
示例#21
0
 def __init__(self,f,prefix="",pretex="",basedir=""):
   self.prefix=prefix
   self.pretex=pretex
   self.basedir=basedir
   textopng.base=basedir
   self.root=ET.Element("html")
   self.head=ET.SubElement(self.root,"head")
   self.meta=ET.SubElement(self.root,"meta")
   self.body=ET.SubElement(self.root, "body")
   self.div=ET.SubElement(self.body, "div")
   self.cont=self.div
   self.list=[self.div]
   self.scripteof=''
   self.scriptsource=''
   self.scriptprog=''
   self.parse(f)
示例#22
0
def exportTopicTreeSpecXml(moduleName=None,
                           rootTopic=None,
                           bak='bak',
                           moduleDoc=None):
    """
    If rootTopic is None, then pub.getDefaultTopicTreeRoot() is assumed.
    """

    if rootTopic is None:
        from .. import pub
        rootTopic = pub.getDefaultTopicTreeRoot()
    elif py2and3.isstring(rootTopic):
        from .. import pub
        rootTopic = pub.getTopic(rootTopic)

    tree = ET.Element('topicdefntree')
    if moduleDoc:
        mod_desc = ET.SubElement(tree, 'description')
        mod_desc.text = ' '.join(moduleDoc.split())

    traverser = pub.TopicTreeTraverser(XmlVisitor(tree))
    traverser.traverse(rootTopic)

    indent(tree)

    if moduleName:

        filename = '%s.xml' % moduleName
        if bak:
            pub._backupIfExists(filename, bak)

        fulltree = ET.ElementTree(tree)
        fulltree.write(filename, "utf-8", True)

    return ET.tostring(tree)
示例#23
0
def get_yahoo_player_audio_url(row, arrow=True, albumcover=False):
    #gets url to track with album image if album image exists
    #if arrow is true, arrow icon is shown on page
    #if album cover is true, album cover is shown on page
    try:
        if not arrow:
            link = ET.Element('a',
                              style='display:none',
                              title="%s - %s (%s)" %
                              (row.artist, row.title, row.album),
                              href='/mp3/T%s.mp3' % str(row.id))
        else:
            link = ET.Element('a',
                              title="%s - %s (%s)" %
                              (row.artist, row.title, row.album),
                              href='/mp3/T%s.mp3' % str(row.id))
        #don't show text for this
        link.text = ''
        #now add the album cover
        if len(row.albums) > 0:  #atand row.albums.count()>0 :
            albumcover_url = get_albumcover_urltxt(row.albums[0])
            if len(albumcover_url) <> '':
                link_img = ET.SubElement(link,
                                         'img',
                                         align='right',
                                         style='display:none',
                                         src=albumcover_url)
    except:
        link = ''

    return link
示例#24
0
def appendToXML(playlists):
    tree = ET.parse("query.xml")

    #root = ET.Element("xml")
    root = tree.getroot()

    for key in playlists.keys():
        list = ET.SubElement(root, "list")
        theme = ET.SubElement(list, "theme")
        theme.text = key
        for s in playlists[key]:
            song = ET.SubElement(list, "song")
            song.text = s

    tree = ET.ElementTree(root)
    tree.write("query.xml", "utf-8")
示例#25
0
def insert_screensaver_settings(root, settings):
    """
    """
    tab = '    '
    ret = '\n'
    root.text = ret + tab
    for setting in settings.keys():
        subelement = ET.SubElement(root, setting)
        subelement.text = ret + tab + tab
        for param in settings[setting].keys():
            subsub = ET.SubElement(subelement, param)
            subsub.text = settings[setting][param]
            subsub.tail = ret + tab + tab
        subelement.tail = ret

    return root
示例#26
0
 def __get__(self, document, owner):
     if document is None:
         return self
         
     if hasattr(document, '_element'):
         return document._element
     
     nodes = {}
     root = None
     for node in document._nodes:
         if node.parent_id is not None:
             parent = nodes[node.parent_id]
             elem = ElementTree.SubElement(parent, node.tag)
             nodes[node.element_id] = elem
         else:
             parent = None
             elem = root = ElementTree.Element(node.tag)
             nodes[node.element_id] = root
         for attr in node.attributes:
             elem.attrib[attr.name] = attr.value
         elem.text = node.text
         elem.tail = node.tail
         
     document._element = ElementTree.ElementTree(root)
     return document._element
    def init(self, side):
        self.sides.append(ET.Element("side", id=side.owner))
        sidexml = self.sides[-1]

        for type, amount in enumerate(side.ships.combine()):
            for index in range(0, amount):
                entityid = side.name(type, index)

                sidexml.append(ET.Element("entity", id=entityid))
                entityxml = sidexml[-1]

                namexml = ET.SubElement(entityxml, "name")
                namexml.text = entityid

                typexml = ET.SubElement(entityxml, "type")
                typexml.text = side.ships.names[type]
示例#28
0
 def onAddKeyClicked(self, checked=False):
    ET.SubElement(self.mOption.mElement, 'key', value="NEW_KEY")
    self.mKeyListModel.emit(QtCore.SIGNAL("modelReset()"))
    new_row = self.mKeyListModel.rowCount()-1
    new_index = self.mKeyListModel.index(new_row)
    self.mKeysList.setCurrentIndex(new_index)
    self.mKeysList.edit(new_index)
示例#29
0
文件: BGF.py 项目: siwiwit/slps
 def getXml(self):
     #print 'Getting the XML of selectable',self.sel,'...'
     self.ex = ET.Element(slpsns.bgf_('expression'))
     self.xml = ET.SubElement(self.ex, 'seplistplus')
     self.xml.append(self.item.getXml())
     self.xml.append(self.sep.getXml())
     return self.ex
示例#30
0
def read(text):
    print "Safely made it into the read() method!"
    root = ET.Element('uclassify',
                      xmlns='http://api.uclassify.com/1/RequestSchema',
                      version='1.01')
    texts = ET.SubElement(root, 'texts')
    textBase64 = ET.SubElement(texts, 'textBase64', id='text1')
    textBase64.text = escape(text)
    readCalls = ET.SubElement(root, 'readCalls', readApiKey=readKey)
    classify = ET.SubElement(readCalls,
                             'classify',
                             id='classify1',
                             classifierName='subjects',
                             textId='text1')
    print ET.tostring(root, encoding='UTF-8')
    print "End of read() method."
    return root