Пример #1
0
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
Пример #2
0
 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))
Пример #3
0
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
Пример #4
0
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
Пример #5
0
 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 = "&gt;&gt;%s" % reply_id
         return link
     except NoResultFound:
         dead_reply = etree.Element("span")
         dead_reply.text = "&gt;&gt;%s" % reply_id
         dead_reply.attrib["class"] = "text-danger"
         return dead_reply
Пример #6
0
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
Пример #7
0
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)
Пример #8
0
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
Пример #9
0
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
Пример #10
0
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
Пример #11
0
 def handleMatch(self, match):
     link = etree.Element("a")
     reply_id = int(match.group(2))
     link.attrib["href"] = url_for_post(reply_id)
     link.text = "&gt;&gt;%s" % reply_id
     return link
Пример #12
0
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(
Пример #13
0
def CDATA(text=None):
    element = etree.Element(CDATA)
    element.text = text
    return element
Пример #14
0
 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)
Пример #15
0
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")
Пример #16
0
 def make_elem(parent, name, text):
     child = etree.Element(name)
     child.text = text
     parent.append(child)