示例#1
0
    def convert(self, qdc, PID, target_format):
        """Convert the QDC Metadata from Fedora to any format supported by bibutils.

        Uses MODS as an intermediate format.
        """
        mods = self._make_mods(qdc, PID)
        if target_format == 'xml':
            indent.indent(mods)
            xml = ET.tostring(mods, encoding='utf-8')
            result = xml
        else:
            xml = ET.tostring(mods, encoding='utf-8')
            command = _getCommand('xml', target_format)
            p = Popen(command, shell=True, stdin=PIPE, stdout=PIPE, stderr=PIPE,
                      close_fds=False)
            (fi, fo, fe) = (p.stdin, p.stdout, p.stderr)
            # fi.write(_encode(xml))
            fi.write(xml)
            fi.close()
            result = fo.read()
            fo.close()
            error = fe.read()
            fe.close()

        return result
示例#2
0
def query(q_text='',q_fieldtext='',q_databasematch='',q_maxresults=''):
  delimiter = "\t"
  # idol server parameters
  query_action = "Query"
  query_params = ""
  query_valid = False
  if q_text != '':
    query_params = query_params + "&text=" + q_text
    query_valid = True
  if q_fieldtext != '':
    query_params = query_params + "&fieldtext=" + q_fieldtext
    query_valid = True
  if q_text != '':
    query_params = query_params + "&databasematch=" + q_databasematch
  if q_text != '':
    query_params = query_params + "&maxresults=" + str(q_maxresults)
  if query_valid == False:
    print "Missing query parameter: text or fieldtext are required."
    return
  autnresponse = aci.action(query_action+query_params)
  response = autnresponse.find("./response").text
  if response == "SUCCESS":
    numhits = int(autnresponse.find(
      "./responsedata/{http://schemas.autonomy.com/aci/}numhits").text)
    if numhits > 0:
      print "Hits: "+str(numhits)
      for hit in autnresponse.findall(
        "./responsedata/{http://schemas.autonomy.com/aci/}hit"):
        doc = hit.find("{http://schemas.autonomy.com/aci/}content/DOCUMENT")
        print ElementTree.tostring(doc)
    else:
        print "Query succeeded, but returned no hits: "+ElementTree.tostring(autnresponse)
  else:
    print "ACI exception: "+response+"|"+ElementTree.tostring(autnresponse)
  return autnresponse
示例#3
0
 def __init__(self, elem):
     self.elem = elem
     self.name = self.elem.get('name')
     self.type = self.elem.get('type')
     self.default = self.elem.get('default')
     print et.tostring(self.elem)
     print "!",self.name, self.type, self.default
示例#4
0
文件: bigtable.py 项目: alon/polinax
 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)
示例#5
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)
示例#6
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)
示例#7
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)
示例#8
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
示例#9
0
def train(text, className, new=0):
	print "Safely made it to the train() 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)
	writeCalls = ET.SubElement(root, 'writeCalls', writeApiKey=writeKey, classifierName='subjects')	
	if new == 1:
		addClass = ET.SubElement(writeCalls, 'addClass', id='add1', className=className)
	train = ET.SubElement(writeCalls, 'train', id='train1', className=className, textId='text1')
	print ET.tostring(root, encoding='UTF-8')
	return root
示例#10
0
    def loadStanzas(self, stanzaFiles, progressCB=None):
        # If files is really a single file, turn it into a list.
        if types.StringType == type(stanzaFiles):
            stanzaFiles = [
                stanzaFiles,
            ]

        if not progressCB:
            progressCB = null_progress_cb

        num_files = len(stanzaFiles)
        for (i, f) in zip(xrange(num_files), stanzaFiles):
            file_name = os.path.abspath(f)
            if os.path.exists(
                    file_name) and not self.mStanzas.has_key(file_name):
                progressCB(i / num_files, "Loading file: %s" % file_name)
                stanza_elm = ET.ElementTree(file=file_name).getroot()
                self.mStanzas[file_name] = stanza_elm

                # Store a digest to ensure we save changes.
                stanza_str = ET.tostring(stanza_elm)
                stanza_digest = md5.new(stanza_str).digest()
                self.mStanzaDigests[file_name] = stanza_digest

        self._expandCmdLine()
示例#11
0
def test_xml_indent_indent_4():
    parsed = ElementTree.fromstring(FIXTURE_XML)
    fixed = xml_indent(parsed, indent=4)
    result = ElementTree.tostring(fixed)
    # only newlines in embedded text shold remain
    print('Indent 4:\n' + result)
    assert result.count('\n') == 22
    def __call__(self, as_string=False):
        taxonomy = self.taxonomy

        attrib = self.IMSVDEX_ATTRIBS
        attrib['language'] = taxonomy.default_language or ''

        root = ElementTree.Element('vdex', attrib=attrib)

        vocabName = ElementTree.Element('vocabName')
        root.append(vocabName)

        langstring = ElementTree.Element(
            'langstring', attrib={'language': taxonomy.default_language or ''})
        langstring.text = taxonomy.title
        vocabName.append(langstring)

        vocabIdentifier = ElementTree.Element('vocabIdentifier')
        vocabIdentifier.text = self.taxonomy.name.replace(
            'collective.taxonomy.', '')
        root.append(vocabIdentifier)

        root = self.buildTree(root)

        if as_string:
            indent(root)
            treestring = ElementTree.tostring(root, self.IMSVDEX_ENCODING)
            header = """<?xml version="1.0" encoding="%s"?>""" % \
                     self.IMSVDEX_ENCODING.upper() + '\n'
            treestring = header + treestring
            return treestring
        else:
            return root
def parseAndAddFilmsTree(FixedURL):
	DLConn = urllib2.urlopen(urllib2.Request(FixedURL))
	MTreeS = DLConn.read()
	DLConn.close()
	MTree = ElementTree.fromstring(MTreeS)
	NextOffsetSafe = MTree.find('next_offset')
	if NextOffsetSafe != None:
		NextOffset = NextOffsetSafe.text
	PageIndex = MTree.find('page_index').text
	PageTotal = MTree.find('page_total').text
	Films = MTree.findall('film')
	for Film in list(Films):
		FilmID = Film.find('id').text
		Title = Film.find('title').text
		Plot = Film.find('logline').text
		Year = Film.find('year').text
		Images = Film.find('images')
		Image = Images.find('image')
		strImage = ElementTree.tostring(Image)
		ImageSrc = re.compile('<image height="317" src="(.+?)" type="android_poster" width="214" />').findall(strImage)[0]
		Minutes = Film.find('duration_minutes').text
		Seconds = Film.find('duration_seconds').text
		Duration = GetFormattedTime(Minutes) + ':' + Seconds
		MPAA = Film.find('parental_rating').text
		addDir(Title, FilmID, SF_MODE_PLAY, ImageSrc, False, True, False, Plot, Year, Duration, MPAA)
	#print 'PageIndex: ' + PageIndex +  ' PageTotal: ' + PageTotal + ' NextOffset: ' + NextOffset
	if PageIndex != PageTotal and NextOffset != None:
		if mode == SF_MODE_LIST:
			addDir(__settings__.getLocalizedString(30013), url, mode, next_thumb, True, False, NextOffset)
		else:
			addDir(__settings__.getLocalizedString(30013), '', mode, next_thumb, True, False, NextOffset)
def parseAndAddDynamicLeadTree(FixedURL, mainS=False):
	DLConn = urllib2.urlopen(urllib2.Request(FixedURL))
	MTreeS = DLConn.read()
	DLConn.close()
	MTree = ElementTree.fromstring(MTreeS)
	Slides = MTree.findall('slides')
	DLSlides = Slides[0].findall('dynamicLeadSlide')
	for DLSlide in list(DLSlides):
		Film = DLSlide.findall('film')[0]
		FilmID = Film.find('id').text
		Title = Film.find('title').text
		if mainS == True:
			Title = u'\u2022 ' + Title
		Plot = Film.find('logline').text
		Year = Film.find('year').text
		Minutes = Film.find('duration_minutes').text
		Seconds = Film.find('duration_seconds').text
		Duration = GetFormattedTime(Minutes) + ':' + Seconds
		Images = Film.find('images')
		if Images is not None:
			Image = Images.find('image')
			strImage = ElementTree.tostring(Image)
			ImageSrc = re.compile('<image height="317" src="(.+?)" type="android_poster" width="214" />').findall(strImage)[0]
		else:
			ImageSrc = ''
		MPAA = Film.find('rating').text
		addDir(Title, FilmID, SF_MODE_PLAY, ImageSrc, False, True, False, Plot, Year, Duration, MPAA)
示例#15
0
def query(q_text='',q_allowoverlaps=False,q_allowmultipleresults=False,q_grammars=None):
  delimiter = "\t"
  # idol server parameters
  query_action = "EduceFromText"
  query_params = ""
  query_valid = False
  if q_text != '':
    query_params = query_params + "&text=" + q_text
    query_valid = True
  if q_allowoverlaps == True:
    query_params = query_params + "&AllowOverlaps=true"
  if q_allowmultipleresults == True:
    query_params = query_params + "&AllowMultipleResults=true"
  if q_grammars != None:
    query_params = query_params + "&Grammars=" + q_grammars
  if query_valid == False:
    print "Missing query parameter: text is required."
    return
  autnresponse = edk.action(query_action+query_params)
  response = autnresponse.find("./response").text
  if response == "SUCCESS":
    for hit in autnresponse.findall(
      "./responsedata/{http://schemas.autonomy.com/aci/}hit"):
      # print ElementTree.tostring(hit)
      nt = hit.find("./normalized_text").text
      print nt
  else:
    print "ACI exception: "+response+"|"+ElementTree.tostring(autnresponse)
  return autnresponse
示例#16
0
def xmlObjToString(element=None):
    s = "None"
    if element != None:
        s = ""
        textBlock = False
        level = 0
        fields = re.split('(<.*?>)', ElementTree.tostring(element))
        for f in fields:
            if f[:4] == "<!--":
                s += "\n" + f + "\n"
            elif string.strip(f) == '':
                s += "\n"
            elif f[0] == "<" and f[1] != "/" and f[len(f) - 2:] == "/>":
                s += " " * (2 * level) + f
            elif f[0] == "<" and f[1] != "/":
                s += " " * (2 * level) + f
                level += 1
            elif (f[:2] == "</" or f[len(f) - 2:] == "/>") and not textBlock:
                level -= 1
                textBlock = False
                s += " " * (2 * level) + f
            elif (f[:2] == "</") and textBlock == True:
                s += f
                level -= 1
                textBlock = False
            else:
                textBlock = True
                s += f
    return s
示例#17
0
def test_xml_indent_indent_none():
    parsed = ElementTree.fromstring(FIXTURE_XML)
    compacted = xml_indent(parsed, indent=0)
    result = ElementTree.tostring(compacted)
    # only newlines in embedded text shold remain
    print('Indent 0:\n' + result)
    assert result.count('\n') == 3
示例#18
0
    def __call__(self, as_string=False):
        taxonomy = self.taxonomy

        attrib = self.IMSVDEX_ATTRIBS
        attrib['language'] = taxonomy.default_language or ''

        root = ElementTree.Element('vdex', attrib=attrib)

        vocabName = ElementTree.Element('vocabName')
        root.append(vocabName)

        langstring = ElementTree.Element(
            'langstring',
            attrib={'language': taxonomy.default_language or ''}
        )
        langstring.text = taxonomy.title
        vocabName.append(langstring)

        vocabIdentifier = ElementTree.Element('vocabIdentifier')
        vocabIdentifier.text = self.taxonomy.name.replace(
            'collective.taxonomy.', ''
        )
        root.append(vocabIdentifier)

        root = self.buildTree(root)

        if as_string:
            indent(root)
            treestring = ElementTree.tostring(root, self.IMSVDEX_ENCODING)
            header = """<?xml version="1.0" encoding="%s"?>""" % \
                     self.IMSVDEX_ENCODING.upper() + '\n'
            treestring = header + treestring
            return treestring
        else:
            return root
示例#19
0
文件: dav.py 项目: stain/scrapbook
    def do_PROPFIND(self):
        self.debug()
        length = self.headers.get("Content-Length")
        if length and length != "0":
            data = self.rfile.read(int(length))
            print "Received:", data

        multistatus = ET.Element(DAV.multistatus)

        try:
            resource = FS.get(self.path)
        except KeyError:
            self.send_response(404)
            self.end_headers()
            return
        # FIXME: should handle depth
        multistatus.append(properties(resource))
        if isinstance(resource, fs.Directory):
            for child in resource.children.values():
                child_desc = properties(child)
                multistatus.append(child_desc)
        response = '<?xml version="1.0" encoding="utf-8"?>\n'
        response += ET.tostring(multistatus)
        self.send_response(207)
        self.send_header("Content-Length", str(len(response)))
        self.send_header("Content-Type", 'text/xml; charset="utf-8"')
        self.end_headers()
        self.wfile.write(response)
示例#20
0
	def xml(self):
		if not self.tree:
			LOG('Failed to create XML for show: {0} (ID: {1})'.format(self.name,self.showid))
			return ''
		return etree.tostring(self.tree).strip()

		"""
示例#21
0
def getHisto(name):
	f=open(name)
	sxml=f.read()
	s=sxml.replace('\n','')
	tree =ET.XML(s)
	h=TBufferXML.ConvertFromXML(ET.tostring(tree))
	return h
示例#22
0
文件: mc.py 项目: mirabitl/SDHCAL
def getHisto(host,port,hname):
  """
  Histogram Monitoring.Send a 'HistoRequest' request to the application (host:port/theclass,instance) for the histo named hname
   handler is currently implemented in MarlinAnalyzer
  It returns the XML version of the object required and book it in pyROOT
  The histo can then be displayed with h.Draw() with all usual ROOT options
  It has to be avoided for 3D or large 2D histograms since the actual size in XML format might be critical
  """
  lq={}
  lq['name']=hname
  lqs=urllib.urlencode(lq)
  myurl = host+ ":%d" % (port)
  conn = httplib.HTTPConnection(myurl)
  saction = '/getHisto?%s' % (lqs)
  conn.request("GET",saction)
  r1 = conn.getresponse()
  print r1.status, r1.reason
  data1 = r1.read()
  data=json.loads(data1);
  #print data
  s=data["getHistoResponse"]["getHistoResult"][0]#.replace('\n','')
  #s=s.replace('\n','gogo')
  #print s
  tree = ET.XML(s)
  #print tree
  h=TBufferXML.ConvertFromXML(ET.tostring(tree))
  return h
示例#23
0
def create_new_ids(document):
    idcount = 1
    for node in document.getiterator():
        node_hash = str(ET.tostring(node, "utf-8").__hash__())
        node.attrib[IDTAG] = str(idcount)
        node.attrib[HASHTAG] = node_hash
        idcount += 1
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)
示例#25
0
 def xml(self):
     if not self.tree:
         LOG('Failed to create XML for show: {0} (ID: {1})'.format(
             self.name, self.showid))
         return ''
     return etree.tostring(self.tree).strip()
     """
示例#26
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)
示例#27
0
    def _request(self, path, data=None, put=False, post=False, delete=False,
                 get=False, return_response=False):
        if isinstance(data, ET._ElementInterface):
            data = ET.tostring(data)
        url = self.baseURL + path
        headers = {'Content-Type': 'application/xml',
                   'Authorization': 'Bearer %s' % self.apikey}
        if post:
            answer = requests.post(url, data, headers=headers)
        elif put:
            if not data:
                headers['content-length'] = '0'
            answer = requests.put(url, data, headers=headers)
        elif delete:
            answer = requests.delete(url, headers=headers)
        else:
            answer = requests.get(url, headers=headers)

        if ( (post and answer.status_code != 201) or
                (not post and answer.status_code != 200) ):
            self.last_error = answer.text
            raise BasecampError()
        if return_response:
            return answer
        return answer.text
示例#28
0
def create_new_ids (document):
    idcount = 1
    for node in document.getiterator ():
        node_hash = str (ET.tostring(node, "utf-8").__hash__())
        node.attrib [IDTAG] = str (idcount)
        node.attrib [HASHTAG] = node_hash
        idcount += 1
示例#29
0
def printUserCount(prj):
    url = "http://www.ohloh.net/projects.xml?query=%s&%s" % (prj, params)
    print url
    f = urllib.urlopen(url)

    # Parse the response into a structured XML object
    tree = ET.parse(f)

    # Did Ohloh return an error?
    elem = tree.getroot()
    error = elem.find("error")
    if error != None:
        print 'Ohloh returned:', ET.tostring(error),
        sys.exit()

    # Output all the immediate child properties of the first project
    firstPrj = elem.find("result/project")
    print '{'
    if firstPrj != None:
        for node in firstPrj:
            if node.tag in [
                    'name', 'url', 'homepage_url', 'user_count',
                    'average_rating', 'rating_count', 'review_count'
            ]:
                print "\t%s:\t%s," % (node.tag, node.text)
    print '},'
示例#30
0
    def __call__(self, as_string=False):
        taxonomy = self.taxonomy

        attrib = self.IMSVDEX_ATTRIBS
        attrib["language"] = taxonomy.default_language or ""

        root = ElementTree.Element("vdex", attrib=attrib)

        vocabName = ElementTree.Element("vocabName")
        root.append(vocabName)

        langstring = ElementTree.Element("langstring", attrib={"language": taxonomy.default_language or ""})
        langstring.text = taxonomy.title
        vocabName.append(langstring)

        vocabIdentifier = ElementTree.Element("vocabIdentifier")
        vocabIdentifier.text = self.taxonomy.name.replace("collective.taxonomy.", "")
        root.append(vocabIdentifier)

        root = self.buildTree(root)

        if as_string:
            indent(root)
            treestring = ElementTree.tostring(root, self.IMSVDEX_ENCODING)
            header = """<?xml version="1.0" encoding="%s"?>""" % self.IMSVDEX_ENCODING.upper() + "\n"
            treestring = header + treestring
            return treestring
        else:
            return root
 def __call__(self):
     """
     """
     from zope.app.component import hooks
     from elementtree import ElementTree as ET
     kamerad_attr = ["title", "geburtsdatum", "mitglied_seit", "telefon", "anschrift", "dienstgrad", 
         "hauptamtlich", "ausb_tmft", "ausb_maschinist", "ausb_atemschutz", "ausb_sprechfunk", "ausb_kettensaege", 
         "ausb_jugend", "geraetewart", "atemschutz_geraetewart", "wehrleiter", "verbandsfuehrer", "zugfuehrer",
         "gruppenfuehrer", "maschinist", "atemschutz", "truppfuehrer", "sprechfunker", "truppmann"]
     site = hooks.getSite()
     brains = site.portal_catalog(portal_type="mb.ffwdz.mitgliederverwaltung.zug")
     root = ET.Element(u"Mitgliederverwaltung")
     for brain in brains:
         zug = brain.getObject()
         zug_as_xml = ET.Element(
             zug.id.encode('utf-8'), 
             attrib={
                 'ehrenjahre' : zug.ehrenjahre.encode('utf-8'),
                 'name' : zug.title.encode('utf-8')
             },
         )
         users = zug.getChildNodes()
         for user in users:
             user_as_xml = ET.Element(
                 user.id.encode('utf-8')
             )
             for attr in kamerad_attr:
                 user_as_xml.attrib[attr] = unicode(getattr(user, attr))
             zug_as_xml.append(user_as_xml)
         root.append(zug_as_xml)
     self.request.response.setHeader('Content-Type', 'application/xml')
     return ET.tostring(root)
示例#32
0
    def _request(self,
                 path,
                 data=None,
                 put=False,
                 post=False,
                 delete=False,
                 get=False,
                 return_response=False):
        if isinstance(data, ET._ElementInterface):
            data = ET.tostring(data)
        url = self.baseURL + path
        headers = {
            'Content-Type': 'application/xml',
            'Authorization': 'Bearer %s' % self.apikey
        }
        if post:
            answer = requests.post(url, data, headers=headers)
        elif put:
            if not data:
                headers['content-length'] = '0'
            answer = requests.put(url, data, headers=headers)
        elif delete:
            answer = requests.delete(url, headers=headers)
        else:
            answer = requests.get(url, headers=headers)

        if ((post and answer.status_code != 201)
                or (not post and answer.status_code != 200)):
            self.last_error = self._read_answer(answer)
            raise BasecampError()
        if return_response:
            return answer
        return self._read_answer(answer)
示例#33
0
def make_string(xml):
    if isinstance(xml, (str, unicode)):
        xml = make_xml(xml)
    s = et.tostring(xml)
    if s == '<xml />':
        return ''
    assert s.startswith('<xml>') and s.endswith('</xml>'), repr(s)
    return s[5:-6]
示例#34
0
def make_string(xml):
    if isinstance(xml, (str, unicode)):
        xml = make_xml(xml)
    s = et.tostring(xml)
    if s == '<xml />':
        return ''
    assert s.startswith('<xml>') and s.endswith('</xml>'), repr(s)
    return s[5:-6]
示例#35
0
def makeEvents(writer, todos):
    done = [todo for todo in todos if todo.doneOn]
    root = ET.Element('data')
    for todo in done:
	ev = ET.SubElement(root, 'event', title=todo.task,
			   start=makeTimelineTime(todo.doneOn))
	ev.text = '%s p-%s @%s' % (todo.task, todo.project, todo.context)
    writer(ET.tostring(root))
示例#36
0
 def assertXmlEquals(self, expected, actual):
     
     expected_tree = ElementTree.XML(expected)
     actual_tree = ElementTree.XML(actual)
     
     if ElementTree.tostring(expected_tree) != ElementTree.tostring(actual_tree):
         print
         print "Expected:"
         print prettyXML(expected_tree)
         print
         
         print
         print "Actual:"
         print prettyXML(actual_tree)
         print
         
         raise AssertionError(u"XML mis-match")
示例#37
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
	def tostring(self):

		# This statement appears to do nothing? Wanted to set this as the default namespace...
		#et.register_namespace("", ns)

		return """<?xml version="1.0" encoding="UTF-8"?>
<?org-vrjuggler-jccl-settings configuration.version="3.0"?>
""" + et.tostring(self.tree.getroot())
示例#39
0
	def writeToFile( self, filename ):
		roughXml = Et.tostring( self.sdf, 'utf-8')
		reparsed = minidom.parseString(roughXml)
	    	prettyXml = reparsed.toprettyxml(indent="\t")	
		
		outfile = open( filename, "w")
		outfile.write( prettyXml )
		outfile.close()
示例#40
0
 def writeTree(prefsFile, root):
     cfg_text = ET.tostring(root)
     cfg_text = Preferences.sLeadSpacesRe.sub('>', cfg_text)
     cfg_text = Preferences.sTrailSpacesRe.sub('<', cfg_text)
     dom = xml.dom.minidom.parseString(cfg_text)
     dom.normalize()
     output_file = file(prefsFile, 'w')
     output_file.write(dom.toprettyxml(indent='   ', newl='\n'))
     output_file.close()
示例#41
0
 def writeTree(prefsFile, root):
    cfg_text = ET.tostring(root)
    cfg_text = Preferences.sLeadSpacesRe.sub('>', cfg_text)
    cfg_text = Preferences.sTrailSpacesRe.sub('<', cfg_text)
    dom = xml.dom.minidom.parseString(cfg_text)
    dom.normalize()
    output_file = file(prefsFile, 'w')
    output_file.write(dom.toprettyxml(indent = '   ', newl = '\n'))
    output_file.close()
示例#42
0
  def to_string(self, version=1, encoding=None, pretty_print=None):
    """Converts this object to XML."""

    tree_string = ElementTree.tostring(self._to_tree(version, encoding))

    if pretty_print and xmlString is not None:
        return xmlString(tree_string).toprettyxml()
 
    return tree_string
示例#43
0
def check(a, b):
    import re
    a = ElementTree.tostring(ElementTree.XML(a))
    a = re.sub("HTML Tidy[^\"]+", "TIDY", a)
    a = re.sub("\r\n", "\n", a)
    if a != b:
        print a
        print "Expected:"
        print b
 def __str__(self):
     string = ET.tostring(self.tree, "utf-8")
     reparsed = xml.dom.minidom.parseString(string)
     xml_string = reparsed.toxml("utf-8")
     p = subprocess.Popen(("tidy", "-xml", "-indent", "-quiet"),
             stdin=subprocess.PIPE, stdout=subprocess.PIPE)
     p.stdin.write(xml_string)
     p.stdin.close()
     return p.stdout.read()
示例#45
0
 def makeXML(self):
     def makeChildEl(parent_el,child_tag,content):
         parent_el.tail ="\n"
         if content is None: return
         parent_el.text = "\n"
         child_el = ET.Element(child_tag)
         child_el.text = content
         child_el.tail = "\n"
         parent_el.append(child_el)
     int_ids = getUtility(IQreatureIntIds, context=self.quiz)    
     root = ET.Element(u'quiz')
     makeChildEl(root,u'title',self.quiz.title)
     
     makeChildEl(root, u'content', self.quiz.body)
     
     if IScaleQuiz.providedBy(self.quiz):
         makeChildEl(root,u'schema',u'scale')
     elif ISlotQuiz.providedBy(self.quiz):
         makeChildEl(root,u'schema',u'slots')
         
     pages = IAnnotations(removeSecurityProxy(self.quiz)).get(PAGES_KEY)
     if pages is not None:
         makeChildEl(root,u'questions_per_page',str(pages))
     
     results = [r for r in self.quiz.values() if IQuizResult.providedBy(r)]
     for r in results:
         r_el = ET.Element(u'result')
         makeChildEl(r_el,u'title',r.title)
         makeChildEl(r_el,u'content',r.body)
         result_interval = IAnnotations(removeSecurityProxy(r)).get(INTERVAL_KEY)
         if result_interval is not None:
             makeChildEl(r_el,u'border',unicode(result_interval))
         root.append(r_el)
     
     questions = [q for q in self.quiz.values() if IQuizQuestion.providedBy(q)]
     for q in questions:
         q_el = ET.Element(u'question')
         makeChildEl(q_el,u'title',q.title)
         makeChildEl(q_el,u'content',q.body)
         answers = [a for a in q.values() if IQuizAnswer.providedBy(a)]
         for a in answers:
             a_el = ET.Element(u'answer')
             makeChildEl(a_el,u'title',a.title)
             makeChildEl(a_el,u'content',a.body)
             makeChildEl(a_el,u'value',unicode(a['value'].value))
             if (removeSecurityProxy(a)).has_key('lead'):
                 makeChildEl(a_el, u'lead', int_ids.getObject(int(a['lead'].question_id)).title)
             depends = [d for d in a.values() if IAnswerDepends.providedBy(d)]
             for d in depends:
                 d_el = ET.Element(u'depend')
                 makeChildEl(d_el,u'result_title',int_ids.getObject(int(d.result_id)).title)
                 makeChildEl(d_el,u'value',unicode(d.depend_value))
                 a_el.append(d_el)
             q_el.append(a_el)
         root.append(q_el)
     data = ET.tostring(root,'utf-8')
     return data
示例#46
0
    def GetMessage(self, desiredcanid, desiredopcode, desiredfctid,
                   desireddata):
        """ Returns Errors in string mode, Input desiredcanid, Desiredopcode, desiredfctid and desireddata to get the
            message and ready to send to the PCAN driver. Assumption : data will not be segmented when datatype = uint8
            or """
        desiredfctid = str(desiredfctid)
        retval = desiredfctid in self.fctidlist
        if (retval == False):
            return 'FunctionIdError'

        else:
            fctid = desiredfctid
            self.desiredfctidelement = self.fctidelemlist[self.fctidlist.index(
                desiredfctid)]
            opcodecombined = self.desiredfctidelement.getchildren()[0].find(
                'TX').get('opCode')
            retval = desiredopcode in opcodecombined.split('-')
            if (retval == False):
                return 'OpcodeError'

            else:
                opcode = opcode_dict[desiredopcode]
                lsgid = self.root.find('FLsg').get('id')
                issegmentedelement = self.desiredfctidelement.getchildren(
                )[0].find('TX').getchildren()[0]
                self.issegment = ET.tostring(issegmentedelement).split(
                    ' ')[0][1:]
                self.datatype = self.desiredfctidelement.getchildren()[0].find(
                    'TX').get('dataType')
                if self.datatype == 'byteSequence':
                    self.length = int(self.desiredfctidelement.getchildren()
                                      [0].find('TX').get('length'))
                    if len(desireddata) >= self.length:
                        return 'DataLengthError'
                    else:
                        maxlength = self.length
                elif self.datatype == 'fixedByteSequence':
                    self.length = int(self.desiredfctidelement.getchildren()
                                      [0].find('TX').get('length'))
                    if len(desireddata) != self.length:
                        return 'DataLengthError'
                    else:
                        maxlength = self.length

                elif self.datatype == 'uint8':
                    self.length = 1
                    if len(desireddata) >= 1:
                        return 'DataLengthError'
                    maxlength = 1
        data = desireddata
        canid = desiredcanid
        bapmessage = BapMessage.BapMessage(canid, lsgid, fctid, opcode,
                                           issegmenteddict[self.issegment],
                                           maxlength, data)
        a = bapmessage.getCanMessages()
        return a
示例#47
0
def combine_xml(files):
    first = None
    for filename in files:
        data = ElementTree.parse(os.path.join(sys.argv[1], filename)).getroot()
        if first is None:
            first = data
        else:
            first.extend(data)
    if first is not None:
        return ElementTree.tostring(first)
示例#48
0
 def update_todo_item(self, item_id, content):
     path = '/todo_items/%d.xml' % item_id
     logger.debug("Updateing todo item %d - %s" % (item_id, path) )
     req = ET.Element('todo-item')
     ET.SubElement( req, "content").text = str( content )
     (headers, conn) = self._create_http_connection()
     conn.request( "PUT", path, ET.tostring(req), headers )  
     res = conn.getresponse()
     logger.debug("Response code %d" % res.status)
     return res.status == 200
示例#49
0
def combine_xml(files):
    first = None
    for filename in files:
        data = ElementTree.parse(os.path.join(sys.argv[1],filename)).getroot()
        if first is None:
            first = data
        else:
            first.extend(data)
    if first is not None:
        return ElementTree.tostring(first)
示例#50
0
    def save(self, filename=None):
        if filename is None:
            filename = self.mFilename

        # The maestro gui should have asked the user for a
        # filename if we don't already have one.
        assert filename is not None

        ensemble_str = ET.tostring(self.mElement)
        lines = [l.strip() for l in ensemble_str.splitlines()]
        ensemble_str = ''.join(lines)
        dom = parseString(ensemble_str)
        output_file = file(filename, 'w')
        output_file.write(dom.toprettyxml(indent='   ', newl='\n'))
        output_file.close()

        # Store a digest to ensure we save changes.
        ensemble_str = ET.tostring(self.mElement)
        self.mDigest = md5.new(ensemble_str).digest()
示例#51
0
def xml_to_string(elem, pretty=False):
    """Returns a string from an xml tree"""
    if pretty:
        elem = pretty_print_xml(elem)
    try:
        return ElementTree.tostring(elem)
    except TypeError, e:
        # we assume this is a comment
        if hasattr(elem, 'text'):
            return "<!-- %s -->\n" % (elem.text)
        else:
            raise e
示例#52
0
def query(q_text='', q_fieldtext='', q_databasematch='', q_maxresults=''):
    delimiter = "\t"
    # idol server parameters
    query_action = "Query"
    query_params = ""
    query_valid = False
    if q_text != '':
        query_params = query_params + "&text=" + q_text
        query_valid = True
    if q_fieldtext != '':
        query_params = query_params + "&fieldtext=" + q_fieldtext
        query_valid = True
    if q_text != '':
        query_params = query_params + "&databasematch=" + q_databasematch
    if q_text != '':
        query_params = query_params + "&maxresults=" + str(q_maxresults)
    if query_valid == False:
        print "Missing query parameter: text or fieldtext are required."
        return
    autnresponse = aci.action(query_action + query_params)
    response = autnresponse.find("./response").text
    if response == "SUCCESS":
        numhits = int(
            autnresponse.find(
                "./responsedata/{http://schemas.autonomy.com/aci/}numhits").
            text)
        if numhits > 0:
            print "Hits: " + str(numhits)
            for hit in autnresponse.findall(
                    "./responsedata/{http://schemas.autonomy.com/aci/}hit"):
                doc = hit.find(
                    "{http://schemas.autonomy.com/aci/}content/DOCUMENT")
                print ElementTree.tostring(doc)
        else:
            print "Query succeeded, but returned no hits: " + ElementTree.tostring(
                autnresponse)
    else:
        print "ACI exception: " + response + "|" + ElementTree.tostring(
            autnresponse)
    return autnresponse
示例#53
0
    def __init__(self, xmlTree, fileName=None, parent=None):
        QtCore.QObject.__init__(self, parent)

        self.mDisallowedNodes = []
        self.mConnectInProgress = {}

        # Store filename to save to later.
        self.mFilename = fileName

        # Store the element tree.
        self.mElementTree = xmlTree

        # Store cluster XML element
        self.mElement = self.mElementTree.getroot()
        assert self.mElement.tag == "ensemble"

        # Store a digest to ensure we save changes.
        ensemble_str = ET.tostring(self.mElement)
        self.mDigest = md5.new(ensemble_str).digest()

        self.mLogger = logging.getLogger("maestro.gui.ensemble")

        # Parse all node settings
        self.mNodes = []
        for node_elt in self.mElement.findall("./cluster_node"):
            node = ClusterNode(node_elt)
            self.mNodes.append(node)
            self.connect(node, QtCore.SIGNAL("nodeChanged"),
                         self.onNodeChanged)

        self.mIpToNodeMap = {}

        # XXX: Should we manage this signal on a per node basis? We would have
        #      to make each node generate a signal when its OS changed and
        #      listen for it here anyway.
        # Register to receive signals from all nodes about their current os.
        env = maestro.gui.Environment()
        env.mEventManager.connect("*", "ensemble.report_os", self.onReportOs)
        env.mEventManager.connect(LOCAL, "connectionStarted",
                                  self.onConnectionStarted)
        env.mEventManager.connect(LOCAL, "connectionMade",
                                  self.onConnectionMade)
        env.mEventManager.connect(LOCAL, "connectionFailed",
                                  self.onConnectionFailure)
        env.mEventManager.connect(LOCAL, "connectionLost",
                                  self.onLostConnection)
        env.mEventManager.connect(LOCAL, "authenticationSucceeded",
                                  self.onAuthSuccess)
        env.mEventManager.connect(LOCAL, "authenticationFailed",
                                  self.onAuthFailure)
示例#54
0
    def checkForChanges(self):
        ensemble_str = ET.tostring(self.mElement)
        ensemble_digest = md5.new(ensemble_str).digest()
        if self.mDigest != ensemble_digest:
            # Ask the user if they are sure.
            reply = QtGui.QMessageBox.question(
                None, "Unsaved Ensemble",
                "You have unsaved ensemble changes. Do you want to save them?",
                QtGui.QMessageBox.Yes | QtGui.QMessageBox.Default,
                QtGui.QMessageBox.No | QtGui.QMessageBox.Escape)

            # If they say yes, go ahead and do it.
            return QtGui.QMessageBox.Yes == reply
        return False
示例#55
0
def consultaDetalleProduccion(request, nrec):
    #def consultaDetalleProduccion(ncab):
    dajax = Dajax()
    nrec = DetProcesos.objects.filter(cabprocesos=CabProcesos.objects.get(
        pk=ncab))[0].id
    raiz = DetProcesos.get_root(DetProcesos.objects.get(pk=nrec)).id
    size = DetProcesos.get_descendant_count(
        DetProcesos.objects.get(id=raiz)) + 1
    print raiz
    padre = DetProcesos.objects.get(id=raiz)
    cpadre = str(raiz)
    #Cabecera del Mensaje
    root = ET.Element("mxGraphModel")
    head = ET.SubElement(root, "root")
    ele = Element("mxCell")
    ele.set("id", "0")
    head.append(ele)
    ele1 = Element("mxCell")
    ele1.set("id", cpadre)
    ele1.set("parent", "0")
    head.append(ele1)
    objetoProcesos(head, str(raiz + 1), str(raiz + 1), str(raiz), str(raiz),
                   padre.descripcion)
    print padre.descripcion
    nid = raiz
    for ele in range(0, size - 1):
        obj = DetProcesos.get_children(DetProcesos.objects.get(id=nid))
        if len(obj) != 0:
            objetoProcesos(head, str(nid + 2), str(nid + 2), cpadre, cpadre,
                           obj.values()[0]['descripcion'])
            print obj.values()[0]['descripcion']
            nid = obj.values()[0]['id']

    nid = raiz
    cpadre = str(raiz + 1)
    for ele in range(0, size - 1):
        obj = DetProcesos.get_children(DetProcesos.objects.get(id=nid))
        if len(obj) != 0:
            nid = obj.values()[0]['id']
            dest = nid + 1
            enlaceProceso(
                head, str(nid + 2), str(nid + 2), str(raiz), str(raiz), cpadre,
                str(dest),
                TiposProcesos.objects.get(id=obj.values()[0]['tproceso_id']))
            cpadre = str(dest)

    valores = simplejson.dumps(ET.tostring(root), cls=JSONEncoder)
    #tree = ET.ElementTree(root)
    #tree.write("salida.xml")
    return valores
示例#56
0
def train(text, className, new=0):
    print "Safely made it to the train() 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)
    writeCalls = ET.SubElement(root,
                               'writeCalls',
                               writeApiKey=writeKey,
                               classifierName='subjects')
    if new == 1:
        addClass = ET.SubElement(writeCalls,
                                 'addClass',
                                 id='add1',
                                 className=className)
    train = ET.SubElement(writeCalls,
                          'train',
                          id='train1',
                          className=className,
                          textId='text1')
    print ET.tostring(root, encoding='UTF-8')
    return root
示例#57
0
    def checkForStanzaChanges(self):
        for file_name, stanza in self.mStanzas.iteritems():
            stanza_str = ET.tostring(stanza)
            stanza_digest = md5.new(stanza_str).digest()
            if not self.mStanzaDigests.has_key(file_name) or \
               self.mStanzaDigests[file_name] != stanza_digest:
                # Ask the user if they are sure.
                reply = QtGui.QMessageBox.question(
                    None, "Unsaved Stanza",
                    "You have unsaved changes to %s. Do you want to save it?" %
                    file_name,
                    QtGui.QMessageBox.Yes | QtGui.QMessageBox.Default,
                    QtGui.QMessageBox.No | QtGui.QMessageBox.Escape)

                # If they say yes, go ahead and do it.
                if reply == QtGui.QMessageBox.Yes:
                    self.saveStanza(stanza, file_name)
示例#58
0
 def get_episodes(feed):
     #Open URL and get the stuff
     url = feed.url
     doc = urllib2.urlopen(url)
     rssXML = doc.read()
     doc.close()
     tree = ET.XML(rssXML)
     episodes = tree.findall('channel/item')
     episodesTitles = tree.findall('channel/item/title')
     for j in xrange(len(episodes)):
         n = episodesTitles[j]
         n = n.text
         epN = ((len(episodes)) - j)
         epXML = episodes[j]
         epXML = ET.tostring(epXML)
         newEp = models.Episode(name=n, episodeNum=epN, xml=epXML)
         newEp.save()