def read_from_mtz(mtzin='', colin='F,SIGF'): """Reads reflection and sigmas, returns a HKL_data_F_sigF_float object Parameters: mtzin -- a string path to an MTZ file containing measured reflections colin -- configurable column name, defaults to F,SIGF, could also be DANO,SIGDANO callback -- a function that takes care of log string and xml flushing Returns: a plain text log string, an XML etree and a clipper.HKL_data_F_sigf object""" log_string = '\n >> clipper_tools: io.structure_factors.read_from_mtz' log_string += '\n mtzin: %s' % mtzin xml_root = etree.Element('input_file') xml_root.attrib['name'] = mtzin xml_root.attrib['type'] = 'mini MTZ' hkl_data = clipper.HKL_data_F_sigF_float() hkl_info = clipper.HKL_info() if mtzin is not '': mtzfilein = clipper.CCP4MTZfile() mtzfilein.open_read(mtzin) mtzfilein.import_hkl_info(hkl_info, True) mtzfilein.import_hkl_data(hkl_data, '*/*/[' + colin + ']') else: return log_string, xml_root, hkl_data, hkl_info print(dir(hkl_data)) log_string += '\n << read_from_mtz has finished\n' xml_root.attrib['ok'] = 'yes' return log_string, xml_root, hkl_info, hkl_data
def convert(): try: root = etree.Element("TelescopeStatus", attrib={"timestamp": str(time.time())}) for name, sensor in self._sensors.items(): child = etree.Element("TelStat") make_elem(child, "Name", name) make_elem(child, "Value", str(sensor.value())) make_elem(child, "Status", str(sensor.status())) make_elem(child, "Type", self._parser[name]["type"]) if "units" in self._parser[name]: make_elem(child, "Units", self._parser[name]["units"]) root.append(child) except Exception as error: req.reply("ok", str(error)) else: req.reply("ok", etree.tostring(root))
def store_results(speaker_to_speeches, target_file): root = et.Element('root') for speaker, quoted in speaker_to_speeches.items(): doc = et.Element('doc') name = et.Element('name') name.text = speaker text = et.Element('text') text.text = "\n".join(quoted) doc.append(name) doc.append(text) root.append(doc) et.ElementTree(root).write(target_file, encoding='unicode') return True
def load(filename_output, transformed_by_speaker): root = et.Element('root') for speaker, quoted in transformed_by_speaker.items(): doc = et.Element('doc') name = et.Element('name') name.text = speaker text = et.Element('text') text.text = quoted doc.append(name) doc.append(text) root.append(doc) et.ElementTree(root).write(filename_output, encoding='unicode') return True
def handleMatch(self, match): reply_id = int(match.group(3)) try: link = etree.Element("a") link.attrib["href"] = url_for_post(reply_id) link.attrib["class"] = "post-reply" link.attrib["data-post-id"] = str(reply_id) link.attrib["data-toggle"] = "tooltip" link.attrib["data-placement"] = "bottom" link.attrib["data-html"] = "true" link.attrib["title"] = "<i>Loading...</i>" link.attrib["data-loaded"] = "false" link.text = ">>%s" % reply_id return link except NoResultFound: dead_reply = etree.Element("span") dead_reply.text = ">>%s" % reply_id dead_reply.attrib["class"] = "text-danger" return dead_reply
def read_from_mtz(mtzin=''): log_string = '\n >> clipper_tools: io.map_coefficients.read_from_mtz' log_string += '\n mtzin: %s' % mtzin xml_root = etree.Element('input_file') xml_root.attrib['name'] = mtzin xml_root.attrib['type'] = 'mini MTZ' log_string += '\n << read_from_mtz has finished\n' xml_root.attrib['ok'] = 'yes' return log_string, xml_root
def convert_to_xml(product_name, product_link, product_rating, product_price): root = etree.Element('product') name = etree.Element('Name') name.text = product_name link = etree.Element('Link') link.text = product_link rating = etree.Element('Rating') rating.text = product_rating price = etree.Element('Price') price.text = product_price root.append(name) root.append(link) root.append(rating) root.append(price) xml_parent.append(root)
def write_to_mtz(dataout=None, mtzout=''): log_string = '\n >> clipper_tools: io.map_coefficients.write_to_mtz' log_string += '\n mtzout: %s' % mtzout xml_root = etree.Element('output_file') xml_root.attrib['name'] = mtzout xml_root.attrib['type'] = 'mini MTZ' if dataout is not None and mtzout is not '': mtzfileout = clipper.CCP4MTZfile() mtzfileout.open_write(mtzout) mtzfileout.export_hkl_info(dataout.hkl_info()) mtzfileout.export_hkl_data(dataout, '*/*/[F, PHI]') mtzfileout.close_write() xml_root.attrib['ok'] = 'yes' else: xml_root.attrib['ok'] = 'no' log_string += '\n << write_to_mtz has finished\n' return log_string, xml_root
def write_pdb(pdbout='xyzout.pdb', molout=None): log_string = '\n >> clipper_tools: io.molecules.write_pdb' log_string += '\n pdbout: %s' % pdbout xml_root = etree.Element('output_file') xml_root.attrib['name'] = pdbout xml_root.attrib['type'] = 'PDB' if molout is None: xml_root.attrib['ok'] = 'no' log_string += '\n ERROR: No input MiniMol was supplied' log_string += '\n << write_pdb has finished \n' return log_string, xml_root else: mmdb = clipper.MMDBfile() mmdb.export_minimol(molout) mmdb.write_file(pdbout, 0) log_string += '\n << write_pdb has finished \n' xml_root.attrib['ok'] = 'yes' return log_string, xml_root
def read_pdb(pdbin='undefined'): log_string = '\n >> clipper_tools: io.molecules.read_pdb' log_string += '\n pdbin: %s' % pdbin xml_root = etree.Element('input_file') xml_root.attrib['name'] = pdbin xml_root.attrib['type'] = 'PDB' if pdbin is not 'undefined': f = clipper.MMDBfile() f.read_file(pdbin) mmol = clipper.MiniMol() f.import_minimol(mmol) log_string += '\n << read_pdb has finished\n' xml_root.attrib['ok'] = 'yes' return log_string, xml_root, mmol else: log_string += '\n ERROR: No input PDB was supplied' log_string += '\n << read_pdb has finished \n' xml_root.attrib['ok'] = 'no' return log_string, xml_root, None
def handleMatch(self, match): link = etree.Element("a") reply_id = int(match.group(2)) link.attrib["href"] = url_for_post(reply_id) link.text = ">>%s" % reply_id return link
from xml import etree from xml.etree import ElementTree import requests from bs4 import BeautifulSoup url = "https://www.bestbuy.com/site/aerial-drones-accessories/drones-with-cameras/pcmcat369900050002.c?id=pcmcat369900050002&intl=nosplash" hdr = {'User-Agent': 'Mozilla/5.0'} domain = "www.bestbuy.com" response = requests.get(url, headers=hdr) xml = ElementTree.ElementTree() xml_parent = etree.Element('Products') xml._setroot(xml_parent) def parse_page(): soup = BeautifulSoup(response.text, 'html.parser') products = soup.findAll("li", {"class": "sku-item"})[:10] for item in products: parse_item(item) xml.write("sample.xml") def parse_item(item): right_column = item.find("div", {"class": "right-column"}) sku_header = right_column.find("h4", {"class": "sku-header"}) product_name = sku_header.find("a").text product_link = sku_header.find("a", href=True)['href'] review_block = right_column.find(
def CDATA(text=None): element = etree.Element(CDATA) element.text = text return element
def _write(self, file, node, encoding, namespaces): if node.tag is CDATA: text = node.text.encode(encoding) file.write("\n<![CDATA[%s]]>\n" % text) else: etree.Element(self, file, node, encoding, namespaces)
def CDATA(text=None): element = etree.Element(CDATA) element.text = text return element class ElementTreeCDATA(etree.ElementTree): def _write(self, file, node, encoding, namespaces): if node.tag is CDATA: text = node.text.encode(encoding) file.write("\n<![CDATA[%s]]>\n" % text) else: etree.Element(self, file, node, encoding, namespaces) if __name__ == "__main__": import sys text = """ <?xml version='1.0' encoding='utf-8'?> <text> This is just some sample text. </text> """ e = etree.Element("data") cdata = CDATA(text) e.append(cdata) et = ElementTreeCDATA(e) et.write(sys.stdout, "utf-8")
def make_elem(parent, name, text): child = etree.Element(name) child.text = text parent.append(child)