def onsheetok(self, event): del self.dom doctype = dom.getDOMImplementation().createDocumentType( "soulforge_character", None, '') self.dom = dom.getDOMImplementation().createDocument( None, "soulforge_character", doctype) self.universe.sheet2xml(self.sh.sheet, self.dom) self.sh.Destroy() self.populatefields() self.modified = True self.updategui()
def get_records(self, url): """ Returns the records listed in the webpage given as parameter as a xml String. @param url: the url of the Journal, Book, Protocol or Reference work """ page = urllib2.urlopen(url) pages = [BeautifulSoup(page)] #content spread over several pages? numpag = pages[0].body.findAll('span', attrs={'class': 'number-of-pages'}) if len(numpag) > 0: if re.search('^\d+$', numpag[0].string): for i in range(int(numpag[0].string) - 1): page = urllib2.urlopen('%s/page/%i' % (url, i + 2)) pages.append(BeautifulSoup(page)) else: print("number of pages %s not an integer" % (numpag[0].string)) impl = getDOMImplementation() doc = impl.createDocument(None, "collection", None) links = [] for page in pages: links += page.body.findAll('p', attrs={'class': 'title'}) links += page.body.findAll('h3', attrs={'class': 'title'}) for link in links: record = self._get_record(link) doc.firstChild.appendChild(record) return doc.toprettyxml()
def store_params(*args): channels = {} for p in args: for ch in p.ch: if ch not in channels: channels[ch] = p else: raise AssertionError( "Duplicate channel {0} in parameter {1}. Already defined in {2} param.".format(ch, p.name, channells[ch].name) ) impl = xml.getDOMImplementation() doc = impl.createDocument(None, None, None) root = doc.appendChild(doc.createElement("pydiag-test")) root.setAttribute("version", "0.1") info_node = root.appendChild(doc.createElement("info")) chgroups_node = info_node.appendChild(doc.createElement("chgroup")) max_len = max( [len(p) for p in args] ) for p in args: p.expand(max_len) ch_list_sorted = sorted([key for key in channels], key = lambda i: i) root.setAttribute("channels", ",".join( [str(i) for i in ch_list_sorted])) for p in args: group_node = chgroups_node.appendChild(doc.createElement("group")) group_node.setAttribute("name", str(p.name)) # @type p param group_node.setAttribute("channels", ",".join( [str(i) for i in p.ch ])) #Добавляем комментарии если они есть if len( p.comments ) != 0: group_comments_node = group_node.appendChild(doc.createElement("comments")) for tn in sorted([i for i in p.comments], key = lambda item: item ): comment_node = group_comments_node.appendChild(doc.createElement("comment")) comment_node.setAttribute("tn", str(tn)) comment_node.setAttribute("content", p.comments[tn]) for tn in xrange(max_len): tn_node = root.appendChild(doc.createElement("tn")) tn_node.setAttribute("number", str(tn)) tn_data = [] tn_mask = [] tn_io = [] for ch in ch_list_sorted: p = channels[ch] tn_data.append( str (get_bit(p[tn][0], p.nbit(ch))) ) tn_mask.append( str( get_bit(p[tn][1].mask, p.nbit(ch)))) tn_io.append( str( p[tn][2] )) tn_data = "".join(tn_data) tn_mask = "".join(tn_mask) tn_io = "".join(tn_io) tn_node.setAttribute("data", tn_data) tn_node.setAttribute("mask", tn_mask) tn_node.setAttribute("io", tn_io) print doc.toprettyxml()
def create_xml_document(self, root_element_name): '''Create a new XML document with a child element object having the given root_element_name. ''' return getDOMImplementation().createDocument(None, root_element_name, None)
def _ft_gen_texbundle_xml( b64bytes:bytes, entryfile="main.tex", worker='xelatex', timeout=60) -> str: """ Generate xmlbundle from base64 bytes and given metadata as api_1_0. :returns: XML-formatted bundle string :rtype: str """ impl = dom.getDOMImplementation() doc = impl.createDocument(None, "xmlbundle", None) reqNode = doc.createElement('request') workerNode = doc.createElement('worker') workerNode.appendChild(doc.createTextNode(worker)) reqNode.appendChild(workerNode) timeoutNode = doc.createElement('timeout') timeoutNode.appendChild(doc.createTextNode(str(timeout))) reqNode.appendChild(timeoutNode) entryNode = doc.createElement('entryfile') entryNode.appendChild(doc.createTextNode(str(entryfile))) reqNode.appendChild(entryNode) doc.documentElement.appendChild(reqNode) bundleNode = doc.createElement('bundle') bundleNode.appendChild(doc.createTextNode(b64bytes.decode('UTF-8'))) doc.documentElement.appendChild(bundleNode) return doc.toxml()
def xmlIfExtCloneTree (self, rootElementCopy): domImpl = getDOMImplementation() # documentCopy = domImpl.createDocument(rootElementCopy.xmlIfExtGetNamespaceURI(), rootElementCopy.xmlIfExtGetTagName(), None) documentCopy = domImpl.createDocument(None, None, None) # documentCopy = copy.copy(self.document) documentCopy.documentElement = rootElementCopy.element return self.__class__(documentCopy)
def createDom(self, nsUri, qualifName, dtName): self.reset() # for now, we live the doctype 'dtd' out. dt = None #Dom.getDOMImplementation().createDocumentType("","","") self._doc = Dom.getDOMImplementation().createDocument( nsUri, qualifName, dt)
def get_records(self, url): """ Returns the records listed in the webpage given as parameter as a xml String. @param url: the url of the Journal, Book, Protocol or Reference work """ page = urllib2.urlopen(url) pages = [BeautifulSoup(page)] #content spread over several pages? numpag = pages[0].body.findAll('span', attrs={'class': 'number-of-pages'}) if len(numpag) > 0: if re.search('^\d+$', numpag[0].string): for i in range(int(numpag[0].string)-1): page = urllib2.urlopen('%s/page/%i' % (url, i+2)) pages.append(BeautifulSoup(page)) else: print("number of pages %s not an integer" % (numpag[0].string)) impl = getDOMImplementation() doc = impl.createDocument(None, "collection", None) links = [] for page in pages: links += page.body.findAll('p', attrs={'class': 'title'}) links += page.body.findAll('h3', attrs={'class': 'title'}) for link in links: record = self._get_record(link) doc.firstChild.appendChild(record) return doc.toprettyxml()
def __init__(self, title, description, link, copyright=None, email=None, pub_date=None, rss_link=None): self.document = getDOMImplementation().createDocument(None, "rss", None) rss = self.document.documentElement rss.setAttribute("version", "2.0") rss.setAttribute("xmlns:atom", "http://www.w3.org/2005/Atom") channel = self.document.createElement("channel") elem = self.document.createElement("title") elem.appendChild(self.document.createTextNode(title)) channel.appendChild(elem) elem = self.document.createElement("description") elem.appendChild(self.document.createTextNode(description)) channel.appendChild(elem) elem = self.document.createElement("link") elem.appendChild(self.document.createTextNode(link)) channel.appendChild(elem) elem = self.document.createElement("docs") elem.appendChild(self.document.createTextNode("http://www.rssboard.org/rss-specification")) channel.appendChild(elem) elem = self.document.createElement("generator") elem.appendChild(self.document.createTextNode("Mr. Fusion")) channel.appendChild(elem) elem = self.document.createElement("lastBuildDate") elem.appendChild(self.document.createTextNode(formatdate())) channel.appendChild(elem) if copyright is not None: elem = self.document.createElement("copyright") elem.appendChild(self.document.createTextNode(copyright)) channel.appendChild(elem) if email is not None: elem = self.document.createElement("managingEditor") elem.appendChild(self.document.createTextNode(email)) channel.appendChild(elem) elem = self.document.createElement("webMaster") elem.appendChild(self.document.createTextNode(email)) channel.appendChild(elem) if pub_date is not None: elem = self.document.createElement("pubDate") elem.appendChild(self.document.createTextNode(format_rfc822_date(pub_date))) channel.appendChild(elem) if rss_link is not None: elem = self.document.createElementNS("http://www.w3.org/2005/Atom", "atom:link") elem.setAttribute("rel", "self") elem.setAttribute("href", rss_link) channel.appendChild(elem) rss.appendChild(channel)
def setupDefaults(): dom_impl = getDOMImplementation() doc = dom_impl.createDocument(MATHML_NAMESPACE_URI, u"math", None) logbase = doc.createElementNS(MATHML_NAMESPACE_URI, u'cn') logbase.appendChild(doc.createTextNode(u'10')) DEFAULT_DICT['logbase'] = logbase
def setupDefaults(): dom_impl = getDOMImplementation() doc = dom_impl.createDocument(MATHML_NAMESPACE_URI, u"math", None) logbase = doc.createElementNS(MATHML_NAMESPACE_URI, u'cn') logbase.appendChild( doc.createTextNode(u'10') ) DEFAULT_DICT['logbase'] = logbase
def __init__(self, document=None): self.__common_methods = METHODS_BY_ELEMENT_NAME.get(None, ()) if document is None: dom_impl = getDOMImplementation() document = dom_impl.createDocument(MATHML_NAMESPACE_URI, u"math", None) self.__augmentElements(document) self._document = document
def __init__(self, center_ra=None, center_dec=None, position_angle=0, target_name='', mask_name='', equinox=2000, proposal_code='', proposer='', creator='', validated=False): super(QObject, self).__init__() self.__center_ra = None self.__center_dec = None self.__position_angle = None self.__equinox = None self.add_center_ra(center_ra) self.add_center_dec(center_dec) self.add_position_angle(position_angle) self.add_equinox(equinox) self.target_name = target_name self.mask_name = mask_name self.proposal_code = proposal_code self.proposer = proposer self.creator = creator self.validated = validated #create the slitlets self.slitlets = Slitlets() #needed for writing xml self.impl = getDOMImplementation()
def _createHadoopSiteXml(self): if self.restart: if not os.path.exists(self.confdir): os.makedirs(self.confdir) else: assert os.path.exists(self.confdir) == False os.makedirs(self.confdir) implementation = getDOMImplementation() doc = implementation.createDocument('', 'configuration', None) comment = doc.createComment("This is an auto generated hadoop-site.xml, do not modify") topElement = doc.documentElement topElement.appendChild(comment) finalAttr = self.desc.getfinalAttrs() self.createXML(doc, finalAttr, topElement, True) attr = {} attr1 = self.desc.getAttrs() for k,v in attr1.iteritems(): if not finalAttr.has_key(k): attr[k] = v self.createXML(doc, attr, topElement, False) siteName = os.path.join(self.confdir, "hadoop-site.xml") sitefile = file(siteName, 'w') print >> sitefile, topElement.toxml() sitefile.close() self.log.debug('created %s' % (siteName))
def _createHadoopSiteXml(self): if self.restart: if not os.path.exists(self.confdir): os.makedirs(self.confdir) else: assert os.path.exists(self.confdir) == False os.makedirs(self.confdir) implementation = getDOMImplementation() doc = implementation.createDocument('', 'configuration', None) comment = doc.createComment( "This is an auto generated hadoop-site.xml, do not modify") topElement = doc.documentElement topElement.appendChild(comment) finalAttr = self.desc.getfinalAttrs() self.createXML(doc, finalAttr, topElement, True) attr = {} attr1 = self.desc.getAttrs() for k, v in attr1.iteritems(): if not finalAttr.has_key(k): attr[k] = v self.createXML(doc, attr, topElement, False) siteName = os.path.join(self.confdir, "hadoop-site.xml") sitefile = file(siteName, 'w') print >> sitefile, topElement.toxml() sitefile.close() self.log.debug('created %s' % (siteName))
def xmlIfExtCloneTree(self, rootElementCopy): domImpl = getDOMImplementation() # documentCopy = domImpl.createDocument(rootElementCopy.xmlIfExtGetNamespaceURI(), rootElementCopy.xmlIfExtGetTagName(), None) documentCopy = domImpl.createDocument(None, None, None) # documentCopy = copy.copy(self.document) documentCopy.documentElement = rootElementCopy.element return self.__class__(documentCopy)
def end(self): from xml.dom import getDOMImplementation impl = getDOMImplementation() doc = impl.createDocument(None, "messages", None) el_messages = doc.documentElement for message in self.messages: el_messages.appendChild(self.message_factory.create(doc, message)) self.output.write(doc.toprettyxml(encoding = self.encoding))
def __init__(self, size=(300, 300)): self.verbose = 0 self.width, self.height = self.size = size # self.height = size[1] self.code = [] self.style = {} self.path = '' self._strokeColor = self._fillColor = self._lineWidth = \ self._font = self._fontSize = self._lineCap = \ self._lineJoin = self._color = None implementation = getDOMImplementation('minidom') self.doc = implementation.createDocument(None, "svg", None) self.svg = self.doc.documentElement self.svg.setAttribute("width", str(size[0])) self.svg.setAttribute("height", str(self.height)) #these suggested by Tim Roberts self.svg.setAttribute("xmlns", "http://www.w3.org/2000/svg") self.svg.setAttribute("xmlns:link", "http://www.w3.org/1999/xlink") self.svg.setAttribute("version", "1.0") self.svg.setAttribute("baseProfile", "full") title = self.doc.createElement('title') text = self.doc.createTextNode('...') title.appendChild(text) self.svg.appendChild(title) desc = self.doc.createElement('desc') text = self.doc.createTextNode('...') desc.appendChild(text) self.svg.appendChild(desc) self.setFont(STATE_DEFAULTS['fontName'], STATE_DEFAULTS['fontSize']) self.setStrokeColor(STATE_DEFAULTS['strokeColor']) self.setLineCap(2) self.setLineJoin(0) self.setLineWidth(1) # Add a rectangular clipping path identical to view area. clipPath = transformNode(self.doc, "clipPath", id="clip") clipRect = transformNode(self.doc, "rect", x=0, y=0, width=self.width, height=self.height) clipPath.appendChild(clipRect) self.svg.appendChild(clipPath) self.groupTree = transformNode( self.doc, "g", id="group", transform="scale(1,-1) translate(0,-%d)" % self.height, style="clip-path: url(#clip)") self.svg.appendChild(self.groupTree) self.currGroup = self.groupTree
def ActivateOrg(connStr, org_cd, status, eff_date, output_file, parent_rel=False): assert (status is not None), print('Org status is None\n') assert (eff_date is not None), print('Org status eff date is None\n') orgs = getAllChildren(connStr, org_cd) if (orgs is None): return dom_imp = getDOMImplementation() org_api_int = dom_imp.createDocument('orgapiload', 'orgapiload', None) root_element = org_api_int.documentElement root_element.setAttribute("global_version", "1.0") for i in range(0, len(orgs)): assert (orgs[i].code is not None), print('Org entry code is None \n') assert (orgs[i].level is not None), print('Org entry level code is None for org ' + orgs[i].code + '\n') #assert (orgs[i].location is not None), print('Org location name is None for org ' + orgs[i].code + '\n') assert (orgs[i].name is not None), print('Org entry name is None for org ' + orgs[i].code + '\n') if orgs[i].location is None: orgs[i].location = orgs[i].name org_entry_node = org_api_int.createElement("entry") root_element.appendChild(org_entry_node) org_entry_node.setAttribute("org_cd", orgs[i].code) org_entry_node.setAttribute("org_level_cd", orgs[i].level) org_entry_node.setAttribute("locationname", orgs[i].location) org_entry_node.setAttribute("name", orgs[i].name) status_node = org_api_int.createElement("status") status_node.setAttribute("code", status) status_node.setAttribute("eff_date", eff_date) org_entry_node.appendChild(status_node) if (parent_rel and orgs[i].parent_cd is not None): assert (orgs[i].parent_level is not None), print('Parent level code is None for org ' + orgs[i].code + '\n') assert (orgs[i].parent_eff_date is not None), print('Parent eff date is None for org ' + orgs[i].code + '\n') orgrel_node = org_api_int.createElement("orgrel") orgrel_node.setAttribute("org_cd", orgs[i].parent_cd) orgrel_node.setAttribute("org_org_lvl_cd", orgs[i].parent_level) orgrel_node.setAttribute("eff_date", orgs[i].parent_eff_date.__str__()) org_entry_node.appendChild(orgrel_node) fd = open(output_file, 'w') fd.write(org_api_int.toxml()) #"iso-8859-1")) #print org_api_int.toxml() >> fd #"iso-8859-1") fd.close()
def __init__(self, svn_path, repos_path, item_url, feed_file, max_items, feed_url): Svn2Feed.__init__(self, svn_path, repos_path, item_url, feed_file, max_items, feed_url) from xml.dom import getDOMImplementation self.dom_impl = getDOMImplementation() self.pickle_file = self.feed_file + ".pickle" if os.path.exists(self.pickle_file): self.document = pickle.load(open(self.pickle_file, "r")) self.feed = self.document.getElementsByTagName("feed")[0] else: self._init_atom_document()
def convert_textgraph_to_xml(textgraph): impl = getDOMImplementation() newdoc = impl.createDocument(None, "root", None) root = newdoc.documentElement latest = root annotations_to_add = deque(textgraph.annotations_sorted) for counter, text_token in enumerate(textgraph.text_tokens): print(counter, text_token) if annotations_to_add[0].range_start == counter: print(annotations_to_add.popleft()) return newdoc pass
def getRecordsForKeywords(n, keywordFile): impl = getDOMImplementation() doc = impl.createDocument(None, "root", None) keywords = open(keywordFile) for keyword in keywords: print "Querying for " + str(n)+ " records using keyword: " + keyword dom = run(n, keyword) for record in dom.getElementsByTagNameNS(SRW, 'record'): doc.firstChild.appendChild(record) print "Done" #print doc.toxml('utf-8') return doc.toxml('utf-8')
def __init__(self, size=(300,300)): self.verbose = 0 self.width, self.height = self.size = size # self.height = size[1] self.code = [] self.style = {} self.path = '' self._strokeColor = self._fillColor = self._lineWidth = \ self._font = self._fontSize = self._lineCap = \ self._lineJoin = self._color = None implementation = getDOMImplementation('minidom') self.doc = implementation.createDocument(None, "svg", None) self.svg = self.doc.documentElement self.svg.setAttribute("width", str(size[0])) self.svg.setAttribute("height", str(self.height)) #these suggested by Tim Roberts self.svg.setAttribute("xmlns", "http://www.w3.org/2000/svg") self.svg.setAttribute("xmlns:link", "http://www.w3.org/1999/xlink") self.svg.setAttribute("version", "1.0") self.svg.setAttribute("baseProfile", "full") title = self.doc.createElement('title') text = self.doc.createTextNode('...') title.appendChild(text) self.svg.appendChild(title) desc = self.doc.createElement('desc') text = self.doc.createTextNode('...') desc.appendChild(text) self.svg.appendChild(desc) self.setFont(STATE_DEFAULTS['fontName'], STATE_DEFAULTS['fontSize']) self.setStrokeColor(STATE_DEFAULTS['strokeColor']) self.setLineCap(2) self.setLineJoin(0) self.setLineWidth(1) # Add a rectangular clipping path identical to view area. clipPath = transformNode(self.doc, "clipPath", id="clip") clipRect = transformNode(self.doc, "rect", x=0, y=0, width=self.width, height=self.height) clipPath.appendChild(clipRect) self.svg.appendChild(clipPath) self.groupTree = transformNode(self.doc, "g", id="group", transform="scale(1,-1) translate(0,-%d)" % self.height, style="clip-path: url(#clip)") self.svg.appendChild(self.groupTree) self.currGroup = self.groupTree
def main(): try: processOutput = subprocess.check_output(sys.argv[2:]) retVal = 0 except (OSError): sys.exit(1) except subprocess.CalledProcessError as exc: processOutput = exc.output retVal = exc.returncode data = json.loads(processOutput) impl = getDOMImplementation() doc = impl.createDocument(None, "testsuite", None) root = doc.documentElement totaltests = int(data["passed"]) + int(data["failed"]) root.setAttribute("name", data["name"]) root.setAttribute("tests", str(totaltests)) root.setAttribute("errors", "0") root.setAttribute("failures", data["failed"]) props = doc.createElement("properties") setProperty(doc, props, "compiled", data["compiled"]) setProperty(doc, props, "time", data["time"]) setProperty(doc, props, "ucunit-version", data["version"]) root.appendChild(props) for tc in data['testcases']: if 'testcasename' in tc: tcelement = doc.createElement('testcase') tcelement.setAttribute("name", tc['testcasename']) failures = "" stdout = "" for check in tc["checks"]: if "result" in check: if check["result"] == "passed": stdout += checkToString(check) else: failures += checkToString(check) root.appendChild(tcelement) sysout = doc.createElement('system-out') sysout.appendChild(doc.createCDATASection(stdout)) tcelement.appendChild(sysout) if tc["result"] != "passed": f = doc.createElement("failure") f.appendChild(doc.createTextNode(failures)) tcelement.appendChild(f) with open(sys.argv[1], mode='w') as fh: fh.write(doc.toxml('utf-8').decode('utf-8')) sys.exit(retVal)
def createXMLFile(self,tag,list_options): impl = getDOMImplementation() self.xmldoc = impl.createDocument(None, tag, None) top_element = self.xmldoc.documentElement #top_element.appendChild(text) for option in list_options: var = option[0] value = option[1] attr = self.xmldoc.createAttribute(var) top_element.setAttributeNode(attr) top_element.attributes[var]._set_value(value) xmlcontent = self.xmldoc.toprettyxml() self._saveFile(xmlcontent)
def __init__(self, svn_path, repos_path, item_url, feed_file, max_items, feed_url): Svn2Feed.__init__(self, svn_path, repos_path, item_url, feed_file, max_items, feed_url) from xml.dom import getDOMImplementation self.dom_impl = getDOMImplementation() self.pickle_file = self.feed_file + ".pickle" if os.path.exists(self.pickle_file): self.document = pickle.load(open(self.pickle_file, "r")) self.feed = self.document.getElementsByTagName('feed')[0] else: self._init_atom_document()
def write(self, writer): impl = getDOMImplementation() doctype = impl.createDocumentType( "bml", None, "http://www.blinkenlights.de/dtd/bml.dtd") doc = impl.createDocument(None, "blm", doctype) root = doc.documentElement root.attributes['width'] = str(self.width) root.attributes['height'] = str(self.height) root.attributes['bits'] = str(self.bits) root.attributes['channels'] = str(self.channels) self.addHeader(doc) self.addFrames(doc) PrettyPrint(doc, writer, indent="\t", encoding="utf-8")
def purgeBatchForOneDomainToXml(purgeBatch): doc = dom.getDOMImplementation().createDocument('', 'purge-paths', '') purgeRootNode = util.getChildNode(doc, 'purge-paths') util.addElement(doc, purgeRootNode, 'version', "1.0.0") urls = purgeBatch.urls if urls is not None and len(urls) > 0 : for url in urls: util.addElement(doc, purgeRootNode, 'file-path', url) dirs = purgeBatch.dirs if dirs is not None and len(dirs) > 0: for dirItem in dirs: util.addElement(doc, purgeRootNode, "dir-path", dirItem) return doc.toprettyxml(indent = "", newl="", encoding = 'utf-8')
def __load_cache(self): try: self.xmlCache = minidom.parse(self.cacheName) top = self.xmlCache.documentElement accountElements = top.getElementsByTagName(ACCOUNT_ELEMENT) for element in accountElements: accountData = self.__load_account(element) self.new_account(self, **accountData) except (IOError, ExpatError): xmlImp = getDOMImplementation() self.xmlCache = xmlImp.createDocument(None, "Tinymail_Account_Cache", None)
def initDoc(namespace): impl = getDOMImplementation() doc = impl.createDocument(namespace, 'registryObjects', None) appendAttribute(doc, doc.documentElement, namespace, 'xmlns', 'http://ands.org.au/standards/rif-cs/registryObjects') appendAttribute(doc, doc.documentElement, namespace, 'xsi:schemaLocation', \ 'http://ands.org.au/standards/rif-cs/registryObjects http://services.ands.org.au/documentation/rifcs/schema/registryObjects.xsd') appendAttribute(doc, doc.documentElement, namespace, 'xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance') appendAttribute(doc, doc.documentElement, namespace, 'xmlns:rif', 'http://ands.org.au/standards/rif-cs/registryObjects') return doc
def purgeBatchForOneDomainToXml(purgeBatch): doc = dom.getDOMImplementation().createDocument('', 'purge-paths', '') purgeRootNode = util.getChildNode(doc, 'purge-paths') util.addElement(doc, purgeRootNode, 'version', "1.0.0") urls = purgeBatch.urls if urls is not None and len(urls) > 0: for url in urls: util.addElement(doc, purgeRootNode, 'file-path', url) dirs = purgeBatch.dirs if dirs is not None and len(dirs) > 0: for dirItem in dirs: util.addElement(doc, purgeRootNode, "dir-path", dirItem) return doc.toprettyxml(indent="", newl="", encoding='utf-8')
def __init__(self,xmlTitle="LHCbNightlies"): '''Create the basic XML''' xmlImplementation = xmlDOM.getDOMImplementation() xmlDoc = xmlImplementation.createDocument(None,xmlTitle, None) self.xmlDoc = xmlDoc self.fileName = time.strftime("NightliesMessages_%Y%m%d_%H%M%S.xml", time.localtime()) self.namespace = "LHCbNightlies" self.foundLineagesList = [] self.foundLeafList = [] self.lineageList = [] self.lineageDict = {} self.foundNodesList = [] self.keyList = []
def prefetchToXml(purgeBatch): ''' PurgeBatch 对象 转换成 用来预缓存的xml ''' doc = dom.getDOMImplementation().createDocument('', 'prefetch-urls', '') purgeRootNode = util.getChildNode(doc, 'prefetch-urls') util.addElement(doc, purgeRootNode, 'version', "1.0.0") urls = purgeBatch.urls if urls is not None and len(urls) > 0: for url in urls: util.addElement(doc, purgeRootNode, 'prefetch-url', url) dirs = purgeBatch.dirs if dirs is not None and len(dirs) > 0: for dirItem in dirs: util.addElement(doc, purgeRootNode, "prefetch-url", dirItem) return doc.toprettyxml(indent = "", newl="", encoding = 'utf-8')
def route_to_gpx(sentences, name, description): """ Create GPX doc with a route that contains waypoints. 1. Save waypoint as {name : sentence} map. 2. Flatten route sentences into a single list of waypoints. This presumes the :class:`nmeatools.nmea_data.GPRTE` sentences are already in their proper order. :param sentences: iterable sequence of :class:`nmeatools.nmea_data.GPWPL` and :class:`nmeatools.nmea_data.GPRTE` instances :param name: The string name to put in the metadata :param description: the string description to put in the metadata :returns: ``<gpx>`` element containing the ``<rte>`` and ``<rtpte>`` waypoints. """ names = set() waypoints = {} route_points = [] for s in sentences: logger.info(f"{s}") if s._name == 'GPWPL': waypoints[s.name] = s elif s._name == 'GPRTE': route_points.extend(s.waypoints) names.add(s.id) else: assert s._name not in ( 'GPWPL', 'GPRTE'), f"Unexpected NMEA capture document {s}" impl = getDOMImplementation() document = impl.createDocument(None, None, None) gpx = build_gpx(document, name, description) rte = document.createElementNS(NAMESPACE, 'rte') name_node = document.createElementNS(NAMESPACE, "name") name_node.appendChild(document.createTextNode(", ".join(names))) rte.appendChild(name_node) desc_node = document.createElementNS(NAMESPACE, "desc") desc_node.appendChild(document.createTextNode("")) rte.appendChild(desc_node) gpx.appendChild(rte) for rp in route_points: s = waypoints[rp] wpt = build_routepoint(document, s) rte.appendChild(wpt) return document
def createJUnitRptTemplate(): try: #Create a new xml document impl = dom.getDOMImplementation() doc = impl.createDocument(None, 'testsuite', None) root = doc.documentElement #Append attributes to root element ts_attributes = {'name':'', 'skips':'0', 'failures':'0', 'errors':'0', 'tests':'0', 'time':'0.0'} for (k,v) in ts_attributes.items(): attr = doc.createAttribute(k) attr.value = v root.setAttributeNode(attr) return doc except Exception, ex: raise ex
def CreateXmlDom(self, dataName): """ 创建XML构造DOM """ domImp = getDOMImplementation() dom = domImp.createDocument(None, None, None) newNode = dom.createElement(DATA_ROOT_NAME) dataNode1 = dom.appendChild(newNode) newNode = dom.createElement(DATA_RECORD_NAME) dataNode2 = dataNode1.appendChild(newNode) newNode = dom.createElement("g_%s" %dataName) dataNode3 = dataNode2.appendChild(newNode) return (dom, dataNode3)
def __init__(self, size=(300, 300)): self.verbose = 0 self.width, self.height = self.size = size # self.height = size[1] self.code = [] self.style = {} self.path = "" self._strokeColor = ( self._fillColor ) = self._lineWidth = self._font = self._fontSize = self._lineCap = self._lineJoin = self._color = None implementation = getDOMImplementation("minidom") self.doc = implementation.createDocument(None, "svg", None) self.svg = self.doc.documentElement self.svg.setAttribute("width", str(size[0])) self.svg.setAttribute("height", str(self.height)) title = self.doc.createElement("title") text = self.doc.createTextNode("...") title.appendChild(text) self.svg.appendChild(title) desc = self.doc.createElement("desc") text = self.doc.createTextNode("...") desc.appendChild(text) self.svg.appendChild(desc) self.setFont(STATE_DEFAULTS["fontName"], STATE_DEFAULTS["fontSize"]) self.setStrokeColor(STATE_DEFAULTS["strokeColor"]) self.setLineCap(2) self.setLineJoin(0) self.setLineWidth(1) # Add a rectangular clipping path identical to view area. clipPath = transformNode(self.doc, "clipPath", id="clip") clipRect = transformNode(self.doc, "rect", x=0, y=0, width=self.width, height=self.height) clipPath.appendChild(clipRect) self.svg.appendChild(clipPath) self.groupTree = transformNode( self.doc, "g", id="group", transform="scale(1,-1) translate(0,-%d)" % self.height, style="clip-path: url(#clip)", ) self.svg.appendChild(self.groupTree) self.currGroup = self.groupTree
def end(self): from xml.dom import getDOMImplementation impl = getDOMImplementation() doc = impl.createDocument(None, 'html', None) el_html = doc.documentElement el_head = self.create_el(doc, 'head', el_html) el_title = self.create_el(doc, 'title', el_head).appendChild(doc.createTextNode('iPhone SMS')) el_style = self.create_el(doc, 'style', el_head, [('type', 'text/css')]).appendChild(doc.createTextNode(HTMLExporter.CSS)) el_body = self.create_el(doc, 'body', el_html) el_div_header = self.create_el(doc, 'div', el_body, [('id', 'header')]) el_h4_title = self.create_el(doc, 'h4', el_div_header).appendChild(doc.createTextNode('iPhone SMS')) el_div_content = self.create_el(doc, 'div', el_body, [('id', 'content')]) for message in self.messages: self.create_message_div(doc, message, el_div_content) self.output.write(doc.toprettyxml(encoding = self.encoding))
def __init__(self,BasePath=".",Name="Unnamed",Version="Unknown",Type="XMLVolume",Mode='database'): self.SourceMatrix = dom.getDOMImplementation() self.DocType = self.SourceMatrix.createDocumentType('volume','http://localhost/xmlvolume.dtd','xmlvolume.dtd') self.Document = self.SourceMatrix.createDocument("xmlvolume.dtd/volume","volume",self.DocType) self.Name = Name self.Document.documentElement.setAttribute("name",self.Name) self.Version = Version self.Document.documentElement.setAttribute("version",self.Version) self.BasePath = BasePath self.Type = Type self.Mode = Mode self.Trunk=None
def initDoc(namespace): impl = getDOMImplementation() doc = impl.createDocument(namespace, "registryObjects", None) appendAttribute(doc, doc.documentElement, namespace, "xmlns", "http://ands.org.au/standards/rif-cs/registryObjects") appendAttribute( doc, doc.documentElement, namespace, "xsi:schemaLocation", "http://ands.org.au/standards/rif-cs/registryObjects http://services.ands.org.au/documentation/rifcs/schema/registryObjects.xsd", ) appendAttribute(doc, doc.documentElement, namespace, "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") appendAttribute( doc, doc.documentElement, namespace, "xmlns:rif", "http://ands.org.au/standards/rif-cs/registryObjects" ) return doc
def test_sanitize_to_id_idempotent(self): def _verify(formatter, id): origid = formatter.sanitize_to_id(id) id = origid for i in xrange(3): id = formatter.sanitize_to_id(id) assert id == origid formatters = wikiutil.getPlugins("formatter", self.request.cfg) try: from xml.dom import getDOMImplementation dom = getDOMImplementation("4DOM") except ImportError: # if we don't have 4suite installed, the docbook formatter would just raise an exception formatters.remove('text_docbook') testids = [ r"tho/zeequeen&angu\za", r"quuirahz\iphohsaij,i", r"ashuifa+it[ohchieque", r"ohyie-lakoo`duaghaib", r"eixaepumuqu[ie\ba|eh", r"theegieque;zahmeitie", r"pahcooje&rahkeiz$oez", r"ohjeeng*iequao%fai?p", r"ahfoodahmepooquepee;", r"ubed_aex;ohwebeixah%", r"eitiekicaejuelae=g^u", r"", r' ', r'--123', r'__$$', r'@@', u'\xf6\xf6llasdf\xe4', ] for f_name in formatters: try: formatter = wikiutil.importPlugin(self.request.cfg, "formatter", f_name, "Formatter") f = formatter(self.request) for id in testids: yield _verify, f, id except wikiutil.PluginAttributeError: pass
def get_records(self, url): """ Returns the records listed in the webpage given as parameter as a xml String. @param url: the url of the Journal, Book, Protocol or Reference work """ page = urllib2.urlopen(url) page = BeautifulSoup(page) links = page.body.findAll('p', attrs={'class': 'title'}) links += page.body.findAll('h3', attrs={'class': 'title'}) impl = getDOMImplementation() doc = impl.createDocument(None, "collection", None) for link in links: record = self._get_record(link) doc.firstChild.appendChild(record) return doc.toprettyxml()
def testSyntaxReferenceDocBook(self): py.test.skip("docbook is broken") try: from xml.dom import getDOMImplementation dom = getDOMImplementation("4DOM") except ImportError: # if we don't have 4suite installed, the docbook formatter would just raise an exception py.test.skip("not testing docbook formatter because no 4suite installed") else: f_name = 'text_docbook' try: formatter = wikiutil.importPlugin(self.request.cfg, "formatter", f_name, "Formatter") except wikiutil.PluginAttributeError: pass else: print "Formatting using %r" % formatter self.formatPage("HelpOnMoinWikiSyntax", formatter) print "Done."
def parse_ksp_ship(filelike, implied_node="CRAFT"): parse_stack = list() di = DOM.getDOMImplementation() document = new_ksp_document(di, implied_node) parse_stack.append(document.documentElement) my_iter = next_token_iterator(filelike) line_no = 0 for t_type, match in my_iter: line_no += 1 if t_type == LINE_ATTRIBUTE: name, value = match.groups() if name in multiple_allowed[parse_stack[-1].tagName]: an_element = document.createElement(name) a_text_node = document.createTextNode(value) an_element.appendChild(a_text_node) parse_stack[-1].appendChild(an_element) else: assert len(parse_stack) > 0, " no stack on line {}, {}".format( line_no, document.toprettyxml()) assert not parse_stack[-1].hasAttribute( name), "name {} repeated line {}, context {}: ".format( name, line_no, parse_stack[-1].tagName) parse_stack[-1].setAttribute(name, value) elif t_type == LINE_ELEMENT_TYPE: shouldbeopen, _ = my_iter.next() assert shouldbeopen == LINE_OPEN_BRAK line_no += 1 if line_no == 2: #NIX the implied element document = new_ksp_document(di, match.groups()[0]) parse_stack = list() parse_stack.append(document.documentElement) else: an_element = document.createElement(match.groups()[0]) parse_stack[-1].appendChild(an_element) parse_stack.append(an_element) # elif t_type == LINE_CLOSE_BRAK: #TODO: put a space or emtpy text node in if the element is childless. parse_stack.pop() return document
def toMathml(self, out=None, indent=False): """Convert this MathDOM into MathML and write it to file (or file-like object) out. Pretty printing is activated by setting indent=True.""" if out is None: out = sys.stdout root = self._document.lastChild if root and root.localName != u'math': dom = getDOMImplementation() document = dom.createDocument(MATHML_NAMESPACE_URI, u"math", None) document.lastChild.children[:] = [root] else: document = self._document if indent: PrettyPrint(document, out) else: Print(document, out)
def waypoints_to_gpx(sentences, name, description): """ Create GPX doc with waypoints. :param sentences: iterable sequence of :class:`nmeatools.nmea_data.GPWPL` instances :param name: The string name to put in the metadata :param description: the string description to put in the metadata :returns: ``<gpx>`` element containing the ``<wpt>`` waypoints. """ impl = getDOMImplementation() document = impl.createDocument(None, None, None) gpx = build_gpx(document, name, description) for s in sentences: logger.info(f"{s}") wpt = build_waypoint_location(document, s) gpx.appendChild(wpt) return document
def composeCIAXMLMessage(self): """ Composes the XML message to send (a commit message according to the `CIA schema`_\) .. _CIA schema: http://navi.cx/svn/misc/trunk/cia/xml/schema.xsd :return: The message :rtype: DOM object """ from xml import dom message = dom.getDOMImplementation().createDocument( None, 'message', None ) self._addTimeStamp(message) self._addGenerator(message) self._addSource(message) self._addBody(message) return message
def read_nlpp_file(self, filename): dom = getDOMImplementation() file = open (filename, "r") reader = Sax2.Reader() doc = reader.fromStream (file) file.close() headerList = xpath.Evaluate("pseudo/header", doc) if (headerList != []): header = headerList[0] elem = header.getAttribute("symbol") Z = header.getAttribute("atomic-number") charge = header.getAttribute("zval") self.Widgets[0].set_label(elem) self.Widgets[1].set_label(Z) self.Charge = int(float(charge)) self.emit("changed") return True else: self.Widgets[0].set_label("Invalid PP") self.Widgets[1].set_label("-1") return False
def testSyntaxReferenceDocBook(self): py.test.skip("docbook is broken") try: from xml.dom import getDOMImplementation dom = getDOMImplementation("4DOM") except ImportError: # if we don't have 4suite installed, the docbook formatter would just raise an exception py.test.skip( "not testing docbook formatter because no 4suite installed") else: f_name = 'text_docbook' try: formatter = wikiutil.importPlugin(self.request.cfg, "formatter", f_name, "Formatter") except wikiutil.PluginAttributeError: pass else: print "Formatting using %r" % formatter self.formatPage("HelpOnMoinWikiSyntax", formatter) print "Done."
def __init__(self,BasePath=".",Name=None,Version=None,Type="XMLVolume",Populate=None): self.SourceMatrix = dom.getDOMImplementation() self.Document = self.SourceMatrix.createDocument(None,"volume",None) if Name: self.Name = Name else: self.Name = "Unnamed" self.Document.documentElement.setAttribute("name",self.Name) if Version: self.Version = Version else: self.Version = "Unknown" self.Document.documentElement.setAttribute("version",self.Version) self.BasePath = BasePath self.Type = Type self.Trunk=None if Populate: self.addToTree(Populate)
def numbers_feed(n: int) -> str: ''' Generates a RSS feed containing first *n* fibonacci numbers. ''' doc = getDOMImplementation().createDocument(None, 'rss', None) root = doc.documentElement root.setAttribute('version', '2.0') channel = doc.createElement('channel') root.appendChild(channel) title = doc.createElement('title') channel.appendChild(title) title.appendChild(doc.createTextNode(f'{n} numbers')) od = datetime.datetime.now() - datetime.timedelta(minutes=n) for (k, a) in reversed(list(numbers(n))): item = doc.createElement('item') channel.appendChild(item) item_title = doc.createElement('title') item.appendChild(item_title) item_title.appendChild(doc.createTextNode(f'{a}')) item_guid = doc.createElement('guid') item.appendChild(item_guid) item_guid.setAttribute('isPermaLink', 'true') item_guid.appendChild( doc.createTextNode(f'https://en.wikipedia.org/wiki/{a}')) d = od + datetime.timedelta(minutes=k) item_pubdate = doc.createElement('pubDate') item.appendChild(item_pubdate) item_pubdate.appendChild( doc.createTextNode(d.strftime('%a, %d %b %Y %H:%M:%S %z'))) return doc.toprettyxml(indent=' ' * 4)
def export_kopete(pack, target_file): log.debug("export to kopete started...%s", target_file) pack_document = getDOMImplementation(config.dom_impl).createDocument(None, "icondef", None) meta_element = pack_document.createElement("meta") if pack.name: name_element = pack_document.createElement("name") name_element.appendChild(pack_document.createTextNode(pack.name)) meta_element.appendChild(name_element) pack_document.documentElement.appendChild(meta_element) for icon in pack.icons: icon_element = pack_document.createElement("icon") image_element = pack_document.createElement("object") image_element.setAttribute("mime", "image/gif") icon_element.appendChild(image_element) image_text = pack_document.createTextNode(icon.image) image_element.appendChild(image_text) for text in icon.text: text_element = pack_document.createElement("text") icon_element.appendChild(text_element) text_text = pack_document.createTextNode(text) text_element.appendChild(text_text) pack_document.documentElement.appendChild(icon_element) content = "" try: import cStringIO as StringIO stream=StringIO.StringIO() from xml.dom.ext import PrettyPrint PrettyPrint(pack_document, stream) content = stream.getvalue() except ImportError: content = pack_document.toxml() zip_file = ZipFile(target_file, "w") zip_file.writestr(os.path.join(pack.name, "icondef.xml"), content) for icon in pack.icons: zip_file.write(os.path.join(config.temp_dir, icon.image), os.path.join(pack.name, icon.image)) zip_file.close() log.debug("export to kopete finished")
def _write_props(self, fh): impl = getDOMImplementation() doc = impl.createDocument(MSBUILD_NAMESPACE, 'Project', None) project = doc.documentElement project.setAttribute('xmlns', MSBUILD_NAMESPACE) project.setAttribute('ToolsVersion', '4.0') ig = project.appendChild(doc.createElement('ImportGroup')) ig.setAttribute('Label', 'PropertySheets') pg = project.appendChild(doc.createElement('PropertyGroup')) pg.setAttribute('Label', 'UserMacros') ig = project.appendChild(doc.createElement('ItemGroup')) def add_var(k, v): e = pg.appendChild(doc.createElement(k)) e.appendChild(doc.createTextNode(v)) e = ig.appendChild(doc.createElement('BuildMacro')) e.setAttribute('Include', k) e = e.appendChild(doc.createElement('Value')) e.appendChild(doc.createTextNode('$(%s)' % k)) add_var('TopObjDir', os.path.normpath(self.environment.topobjdir)) add_var('TopSrcDir', os.path.normpath(self.environment.topsrcdir)) add_var('PYTHON', '$(TopObjDir)\\_virtualenv\\Scripts\\python.exe') add_var('MACH', '$(TopSrcDir)\\mach') # From MozillaBuild. add_var('DefaultIncludes', os.environ.get('INCLUDE', '')) fh.write(b'\xef\xbb\xbf') doc.writexml(fh, addindent=' ', newl='\r\n')
def _write_props(self, fh): impl = getDOMImplementation() doc = impl.createDocument(MSBUILD_NAMESPACE, "Project", None) project = doc.documentElement project.setAttribute("xmlns", MSBUILD_NAMESPACE) project.setAttribute("ToolsVersion", "4.0") ig = project.appendChild(doc.createElement("ImportGroup")) ig.setAttribute("Label", "PropertySheets") pg = project.appendChild(doc.createElement("PropertyGroup")) pg.setAttribute("Label", "UserMacros") ig = project.appendChild(doc.createElement("ItemGroup")) def add_var(k, v): e = pg.appendChild(doc.createElement(k)) e.appendChild(doc.createTextNode(v)) e = ig.appendChild(doc.createElement("BuildMacro")) e.setAttribute("Include", k) e = e.appendChild(doc.createElement("Value")) e.appendChild(doc.createTextNode("$(%s)" % k)) add_var("TopObjDir", os.path.normpath(self.environment.topobjdir)) add_var("TopSrcDir", os.path.normpath(self.environment.topsrcdir)) add_var("PYTHON", "$(TopObjDir)\\_virtualenv\\Scripts\\python.exe") add_var("MACH", "$(TopSrcDir)\\mach") # From MozillaBuild. add_var("DefaultIncludes", os.environ.get("INCLUDE", "")) fh.write(b"\xef\xbb\xbf") doc.writexml(fh, addindent=" ", newl="\r\n")