Here are the examples of the python api lxml.etree.XML taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
153 Examples
3
Example 1
def _parse(self, response, encoding="utf-8"):
try:
tree = etree.XML(response.encode(encoding))
except (etree.XMLSyntaxError, TypeError) as err:
raise FailedExchangeException(u"Unable to parse response from Exchange - check your login information. Error: %s" % err)
self._check_for_errors(tree)
log.info(etree.tostring(tree, encoding=encoding, pretty_print=True))
return tree
3
Example 2
def parseNode(rml, localcontext=None, fout=None, images=None, path='.', title=None):
node = etree.XML(rml)
r = _rml_doc(node, localcontext, images, path, title=title)
#try to override some font mappings
try:
SetCustomFonts(r)
except Exception, exc:
_logger.info('Cannot set font mapping: %s', "".join(traceback.format_exception_only(type(exc),exc)))
fp = StringIO()
r.render(fp)
return fp.getvalue()
3
Example 3
Project: ecogwiki Source File: test_handlers.py
def _validate(self, url, validator, status_code=200):
req = webapp2.Request.blank(url)
res = req.get_response(main.app)
self.assertEqual(status_code, res.status_code)
if validator == 'html':
self.assertEqual('text/html', res.content_type)
html5parser.fromstring(res.body, parser=self.parser)
elif validator == 'xml':
self.assertEqual('text/xml', res.content_type)
lxml.etree.XML(res.body)
elif validator == 'json':
self.assertEqual('application/json', res.content_type)
json.loads(res.body)
elif validator == 'text':
self.assertEqual('text/plain', res.content_type)
3
Example 4
Project: okcupyd Source File: xpath_test.py
def test_text_for_many():
tree = etree.XML("<top><container>"
"<element value='1'>one</element>"
"<element value='2'>two</element>"
"</container></top>")
result = xpath.xpb.container.element.text_.apply_(tree)
assert set(result) == set(['one', 'two'])
3
Example 5
def _parse_metadata(doc):
"""Aux function that returns a list of errors and a metadata object"""
if type(doc) == unicode:
doc = doc.encode('utf-8', 'ignore')
try:
metadata = Metadata(etree.XML(doc))
except etree.XMLSyntaxError, e:
# XXX sin traducir (como traducimos e.msg?)
error = e.msg or 'Unknown error, perhaps an empty doc?'
return [u'XML syntax error: ' + error], None
else:
return [], metadata
3
Example 6
def fetch_xml(self, file_name):
file_url = furl(self.BASE_DATA_URL.format(file_name))
# Not using self.requests when getting the file contents because the eLife rate limit (1, 60) does not apply
resp = requests.get(file_url.url)
xml = etree.XML(resp.content)
return xml
3
Example 7
Project: ndstore Source File: test_info.py
def test_xmlinfo (self):
"""Test the projinfo query"""
f = getURL("http://{}/ca/{}/volume.vikingxml".format(SITE_HOST, p.token))
xmlinfo = etree.XML(f.read())
assert( xmlinfo.values()[2] == p.token )
assert( xmlinfo.values()[3] == '1000' )
3
Example 8
Project: django-xml Source File: base.py
@classmethod
def create_from_string(cls, xml_source, parser=None):
opts = cls._meta
if parser is None:
parser = opts.get_parser()
# lxml doesn't like it when the <?xml ?> header has an encoding,
# so we strip out encoding="utf-8" with a regex
xml_source = re.sub(r'(<\?xml[^\?]*?) encoding="(?:utf-8|UTF-8)"([^\?]*?\?>)',
r'\1\2', xml_source)
tree = etree.XML(xml_source, parser)
return cls(tree)
3
Example 9
Project: heat Source File: test_common_serializers.py
def test_to_xml_with_list(self):
fixture = {"name": ["1", "2"]}
expected = b'<name><member>1</member><member>2</member></name>'
actual = serializers.XMLResponseSerializer().to_xml(fixture)
actual_xml_tree = etree.XML(actual)
actual_xml_dict = self._recursive_dict(actual_xml_tree)
expected_xml_tree = etree.XML(expected)
expected_xml_dict = self._recursive_dict(expected_xml_tree)
self.assertEqual(expected_xml_dict, actual_xml_dict)
3
Example 10
def __init__(self, xml):
if not mod_etree:
raise Exception('Cannot use LXMLParser without lxml installed')
if mod_utils.PYTHON_VERSION[0] == '3':
# In python 3 all strings are unicode and for some reason lxml
# don't like unicode strings with XMLs declared as UTF-8:
self.xml = xml.encode('utf-8')
else:
self.xml = xml
self.dom = mod_etree.XML(self.xml)
# get the namespace
self.ns = self.dom.nsmap.get(None)
3
Example 11
def parse(self, xml):
"""Parse the XML to a lxml tree.
"""
# XXX this is only safe for UTF-8 encoded content,
# and we're basically hacking around non-wellformedness anyway,
# but oh well
if self._ignore_bad_character_hack:
xml = text_type(xml, 'UTF-8', 'replace')
# also get rid of character code 12
xml = xml.replace(chr(12), '?')
xml = xml.encode('UTF-8')
return etree.XML(xml)
3
Example 12
def update(self, scraper=None):
scraper = scraper or PyBikesScraper()
scraper.setUserAgent('kSOAP/2.0')
scraper.headers.update({
'SOAPAction': 'http://aparcabicis.nextgal.es/GetEstaciones',
'Content-Type': 'text/xml',
})
data = scraper.request(urljoin(self.url, PATH), method='POST',
data=PAYLOAD)
tree = etree.XML(data.encode('utf-8'))
stations_xml = tree.xpath('//ab:EstacionAdditionalInformationDto',
namespaces=NS)
self.stations = map(NextgalStation, stations_xml)
3
Example 13
Project: scrapi Source File: noaa_nodc.py
def query_by_date(self, start_date, end_date):
'''Use OAI-PMH interface to get a list of dataset ids for the given date range'''
search_url_end = '&metadataPrefix=oai_dc&from={}&until={}'.format(start_date, end_date)
search_url = self.search_base_url + search_url_end
while True:
record_list = requests.get(search_url)
record_list_xml = etree.XML(record_list.content)
if record_list_xml.xpath('./oai_dc:error', namespaces=self.oai_ns):
break
for dataset in record_list_xml.xpath('./oai_dc:ListRecords/oai_dc:record', namespaces=self.oai_ns):
yield dataset.xpath('./oai_dc:header/oai_dc:identifier/node()', namespaces=self.oai_ns)[0]
token = record_list_xml.xpath('./oai_dc:ListRecords/oai_dc:resumptionToken/node()', namespaces=self.oai_ns)
if not token:
break
search_url = self.search_base_url + '&resumptionToken=' + token[0]
3
Example 14
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(invoice_merge, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=False)
parent = self.pool['account.invoice'].browse(cr, uid, context['active_id'], context)
doc = etree.XML(res['arch'])
nodes = doc.xpath("//field[@name='invoices']")
for node in nodes:
node.set('domain', '["&",("partner_id", "=", ' + str(parent.partner_id.id) + '),("state", "=","draft")]')
res['arch'] = etree.tostring(doc)
context['partner'] = parent.partner_id.id
return res
3
Example 15
Project: fakegir Source File: fakegir.py
def parse_gir(gir_path):
"""Extract everything from a gir file"""
print("Parsing {}".format(gir_path))
parser = XMLParser(encoding='utf-8', recover=True)
content = open(gir_path).read()
root = XML(content, parser)
namespace = root.findall('{%s}namespace' % XMLNS)[0]
namespace_content = extract_namespace(namespace)
return namespace_content
3
Example 16
Project: color_trace Source File: svg_stack.py
def addSVGNoLayout(self, svg_file, x=0, y=0, xml=None):
if not isinstance(svg_file,SVGFileNoLayout):
svg_file = SVGFileNoLayout(svg_file,x=x,y=y)
stretch=0
alignment=0
if xml is not None:
xml = etree.XML(xml)
self._items.append((svg_file,stretch,alignment,xml))
3
Example 17
Project: appvulnms Source File: util.py
@staticmethod
def transform_xml(xml_file, xslt_file):
"""Transform XML using XSLT
:param xml_file: XML file to convert
:param xslt_file: XSLT conversion file
"""
input_xml = xml_file.read().encode('utf-8')
xml_tree = etree.XML(input_xml)
input_xslt = xslt_file.read().encode('utf-8')
xslt_root = etree.XML(input_xslt)
# Convert XML using XSLT
transform = etree.XSLT(xslt_root)
converted_xml = transform(xml_tree)
return converted_xml
3
Example 18
def fields_view_get(self, cr, uid, view_id=None, view_type='form',
context=None, toolbar=False, submenu=False):
res = super(account_move_line, self).fields_view_get(
cr, uid, view_id=view_id, view_type=view_type,
context=context, toolbar=toolbar, submenu=False)
if context and 'account_move_line_search_extension' in context \
and view_type == 'tree':
doc = etree.XML(res['arch'])
nodes = doc.xpath("/tree")
for node in nodes:
if 'editable' in node.attrib:
del node.attrib['editable']
res['arch'] = etree.tostring(doc)
return res
3
Example 19
Project: OpenAccess_EPUB Source File: __init__.py
def _init_package_doc(self, version):
root = etree.XML('''\
<?xml version="1.0"?>
<package
xmlns="http://www.idpf.org/2007/opf"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:opf="http://www.idpf.org/2007/opf"
xmlns:dcterms="http://purl.org/dc/terms/"
version="{0}"
unique-identifier="pub-identifier">\
</package>'''.format(version))
docuement = etree.ElementTree(root)
return docuement
3
Example 20
Project: ec2-api Source File: test_middleware.py
def _validate_ec2_error(self, response, http_status, ec2_code):
self.assertEqual(response.status_code, http_status,
'Expected HTTP status %s' % http_status)
root_e = etree.XML(response.body)
self.assertEqual(root_e.tag, 'Response',
"Top element must be Response.")
errors_e = root_e.find('Errors')
error_e = errors_e[0]
code_e = error_e.find('Code')
self.assertIsNotNone(code_e, "Code element must be present.")
self.assertEqual(code_e.text, ec2_code)
3
Example 21
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(report_xml, self).fields_view_get(cr, user, view_id, view_type, context, toolbar, submenu)
if view_type=='form':
##### Check deferred_processing module #####
cr.execute("SELECT id, state FROM ir_module_module WHERE name='deferred_processing'")
deferred_proc_module = cr.dictfetchone()
if not (deferred_proc_module and deferred_proc_module['state'] in ('installed', 'to upgrade')):
doc = etree.XML(res['arch'])
deferred_node = doc.xpath("//field[@name='deferred']")
modifiers = {'invisible': True}
transfer_modifiers_to_node(modifiers, deferred_node[0])
deferred_limit_node = doc.xpath("//field[@name='deferred_limit']")
transfer_modifiers_to_node(modifiers, deferred_limit_node[0])
res['arch'] = etree.tostring(doc)
############################################
return res
3
Example 22
def _load_metadata(self):
if not hasattr(self, '_parsed_metadata'):
if settings.MODERATION_ENABLED:
if self.temp_metadata != '' and self.state != 'published':
data = self.temp_metadata
else:
data = self.metadata.read()
else:
data = self.metadata.read()
if not data:
raise ValueError('no metadata content')
if type(data) == unicode:
data = data.encode('utf-8')
try:
self._parsed_metadata = etree.XML(data)
except etree.XMLSyntaxError:
raise ValueError('invalid metadata XML')
return Metadata(self._parsed_metadata)
3
Example 23
Project: ReproWeb Source File: testtools.py
def xml(self):
"""Get an etree if possible."""
if 'xml' not in self.mimetype:
raise AttributeError(
'Not a XML response (Content-Type: %s)'
% self.mimetype)
for module in ['xml.etree.ElementTree', 'ElementTree',
'elementtree.ElementTree']:
etree = import_string(module, silent=True)
if etree is not None:
return etree.XML(self.body)
raise RuntimeError('You must have ElementTree installed '
'to use TestResponse.xml')
3
Example 24
def update(self, scraper=None):
if scraper is None:
scraper = PyBikesScraper()
data = scraper.request(self.feed_url)
tree = etree.XML(data.encode('utf-8'))
stations_xml = tree.xpath('//b:Estacion', namespaces=NS)
stations = []
for station_xml in stations_xml:
try:
station = EcobiciBAStation(station_xml)
except InvalidStation:
continue
stations.append(station)
self.stations = stations
3
Example 25
def get_parser(self, want, got, optionflags):
parser = None
if NOPARSE_MARKUP & optionflags:
return None
if PARSE_HTML & optionflags:
parser = html_fromstring
elif PARSE_XML & optionflags:
parser = etree.XML
elif (want.strip().lower().startswith('<html')
and got.strip().startswith('<html')):
parser = html_fromstring
elif (self._looks_like_markup(want)
and self._looks_like_markup(got)):
parser = self.get_default_parser()
return parser
3
Example 26
Project: pyglossary Source File: __init__.py
def xdxf_init():
"""
call this only once, before `xdxf_to_html`.
"""
global transform
import_xml_stuff()
xsl = path.join(path.dirname(__file__), 'xdxf.xsl')
with open(xsl, 'r') as f:
xslt_root_txt = f.read()
xslt_root = etree.XML(xslt_root_txt)
transform = etree.XSLT(xslt_root)
3
Example 27
Project: Piped Source File: xml_processors.py
def process(self, baton):
xml = util.dict_get_path(baton, self.xml_path)
e = etree.XML(xml)
for xpath, output_path in self.xpaths.items():
result = e.xpath(xpath)
util.dict_setdefault_path(baton, output_path, []).extend(result)
return baton
3
Example 28
Project: rigaudon Source File: abbyy2hocr_etree.py
def generate_new_output_page():
root = etree.XML('''<html xmlns:abbyy="http://www.abbyy.com/FineReader_xml/FineReader6-schema-v1.xml">
<head>
<meta name="ocr-id" value="abbyy"/>
<meta name="ocr-recognized" value="lines text"/>
</head>
<body/>
</html>''')
return root
3
Example 29
Project: okcupyd Source File: xpath_test.py
def test_selected_attribute():
node = xpath.XPathNode(element='element', selected_attribute='value')
assert node.xpath == '//element/@value'
tree = etree.XML("<top><container><element value='1'>"
"</element><element value='2'></element>"
"</container></top>")
builder = xpath.xpb.container.element.select_attribute_('value')
assert builder.xpath == './/container//element/@value'
assert builder.apply_(tree) == ['1', '2']
assert xpath.xpb.element.select_attribute_('value', elem=tree) == \
['1', '2']
3
Example 30
Project: stix-validator Source File: profile.py
def as_etree(self):
"""Returns a Schematron ``<assert>`` or ``<report>`` for this
profile rule.
"""
kwargs = {
'type': self.type, # 'assert' or 'report'
'ns': xmlconst.NS_SCHEMATRON, # schematron namespace
'test': self.test, # test selector
'role': self.role, # "error"
'message': self.message, # error message
'line': SAXON_LINENO # line number function
}
xml = '<{type} xmlns="{ns}" test="{test}" role="{role}">{message} {line}</{type}>'
rule = etree.XML(xml.format(**kwargs))
return rule
3
Example 31
Project: okcupyd Source File: xpath_test.py
def test_text_contains():
element_text = "cool stuff44"
tree = etree.XML("<top><elem>{0}</elem><elem></elem>"
"<elem>other things</elem></top>".format(element_text))
result = xpath.xpb.elem.text_contains_("stuff").text_.apply_(tree)
result_text, = result
assert result_text == element_text
result = xpath.xpb.elem.text_contains_("afdsafdsa").text_.apply_(tree)
assert result == []
3
Example 32
def fetch_records(self, url):
resp = self.requests.get(url)
xml = etree.XML(resp.content)
records = xml.xpath('records/record')
for record in records:
doc_id = record.xpath('dc:ostiId/node()', namespaces=self.namespaces)[0]
doc = etree.tostring(record)
yield(doc_id, doc)
3
Example 33
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(order_merge, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context,
toolbar=toolbar, submenu=False)
parent = self.pool['sale.order'].browse(cr, uid, context['active_id'], context=context)
doc = etree.XML(res['arch'])
nodes = doc.xpath("//field[@name='orders']")
for node in nodes:
node.set('domain', '["&",("partner_id", "=", ' + str(parent.partner_id.id) + '), ("state", "=", "draft")]')
res['arch'] = etree.tostring(doc)
context['partner'] = parent.partner_id.id
return res
3
Example 34
Project: poker Source File: pokerstars.py
def get_current_tournaments():
"""Get the next 200 tournaments from pokerstars."""
schedule_page = requests.get(TOURNAMENTS_XML_URL)
root = etree.XML(schedule_page.content)
for tour in root.iter('{*}tournament'):
yield _Tournament(
start_date=tour.findtext('{*}start_date'),
name=tour.findtext('{*}name'),
game=tour.findtext('{*}game'),
buyin=tour.findtext('{*}buy_in_fee'),
players=tour.get('players')
)
3
Example 35
Project: color_trace Source File: svg_stack.py
def addSVG(self, svg_file, stretch=0, alignment=0, xml=None):
if not isinstance(svg_file,SVGFile):
svg_file = SVGFile(svg_file)
if xml is not None:
xml = etree.XML(xml)
self._items.append((svg_file,stretch,alignment,xml))
3
Example 36
Project: spnet Source File: pubmed.py
def get_training_abstracts(terms=('cancer', 'transcription', 'evolution',
'physics', 'statistics', 'review'),
**kwargs):
'generate a training set of 20 abstracts per search term'
for t in terms:
xml = search_pubmed(t, usehistory='y', tool=None, email=None,
**kwargs)
d, root = dict_from_xml(xml, WebEnv='!WebEnv', query_key='!QueryKey')
xml = query_pubmed(retstart='0', retmax='20', tool=None, email=None,
**d)
root = etree.XML(xml)
for o in root.findall('.//AbstractText'):
yield o.text
3
Example 37
def test_xml_to_dict(self):
xml = """\
<root>
<a>One</a>
<b>Two</b>
<c>Three</c>
<c>Four</c>
<d/>
</root>"""
self.assertEqual(xml_to_dict(etree.XML(xml)),
dict(a=['One'], b=['Two'], c=['Three', 'Four'],
d=[None]))
3
Example 38
Project: libtaxii Source File: messages_10_test.py
def test_xml_ext_header(self):
"""
Tests an XML extended header value of etree._Element
:return:
"""
eh = {'my_ext_header_1': etree.XML('<x:element xmlns:x="#foo">'
'<x:subelement attribute="something"/>'
'</x:element>')}
sm = tm10.StatusMessage(message_id='1',
in_response_to='2',
status_type=ST_SUCCESS,
extended_headers=eh)
round_trip_message(sm)
3
Example 39
Project: sync-engine Source File: carddav.py
def get_principal_url(self):
""" Use PROPFIND method to find the `principal` carddav url """
payload = """
<A:propfind xmlns:A='DAV:'>
<A:prop>
<A:current-user-principal/>
</A:prop>
</A:propfind>
"""
response = self.session.request('PROPFIND',
self.base_url,
data=payload)
response.raise_for_status()
xml = response.content
element = ET.XML(xml)
principal_href = element[0][1][0][0][0].text
return principal_href
3
Example 40
Project: droopescan Source File: testutils.py
def xml_validate(xml_file, xsd_file):
with open(xsd_file, 'r') as f:
schema_root = etree.XML(f.read())
schema = etree.XMLSchema(schema_root)
xmlparser = etree.XMLParser(schema=schema)
return _validate(xmlparser, xml_file)
3
Example 41
@api.model
def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False):
result = super(AssetModify, self).fields_view_get(view_id, view_type, toolbar=toolbar, submenu=submenu)
asset_id = self.env.context.get('active_id')
active_model = self.env.context.get('active_model')
if active_model == 'account.asset.asset' and asset_id:
asset = self.env['account.asset.asset'].browse(asset_id)
doc = etree.XML(result['arch'])
if asset.method_time == 'number' and doc.xpath("//field[@name='method_end']"):
node = doc.xpath("//field[@name='method_end']")[0]
node.set('invisible', '1')
setup_modifiers(node, result['fields']['method_end'])
elif asset.method_time == 'end' and doc.xpath("//field[@name='method_number']"):
node = doc.xpath("//field[@name='method_number']")[0]
node.set('invisible', '1')
setup_modifiers(node, result['fields']['method_number'])
result['arch'] = etree.tostring(doc)
return result
3
Example 42
Project: diazo Source File: compiler.py
def build_xsl_params_docuement(xsl_params):
if xsl_params is None:
xsl_params = {}
if 'path' not in xsl_params:
xsl_params['path'] = ''
known_params = etree.XML(
'<xsl:stylesheet version="1.0" '
'xmlns:xsl="http://www.w3.org/1999/XSL/Transform" />')
for param_name, param_value in xsl_params.items():
param_element = etree.SubElement(
known_params, "{http://www.w3.org/1999/XSL/Transform}param")
param_element.attrib['name'] = param_name
if isinstance(param_value, string_types):
param_element.text = param_value
else:
param_element.attrib['select'] = str(quote_param(param_value))
param_element.tail = '\n'
return known_params
3
Example 43
def getCharacters(fname, bb):
charsInside = ''
f = open(fname, 'r')
root = etree.XML(f.read())
return xmltodict.parse(f.read())
for p in root.iter(PAGE):
for c in p.iter(CHAR):
# Convert attributes to integers
a = {k: int(v) for k, v in c.attrib.items()}
if inside(bb, a):
charsInside += c.text
charsInside += '\n'
return charsInside
3
Example 44
def add_xml_to_node(self, node):
""" For exporting, set data on `node` from ourselves. """
node.tag = self.xml_element_name()
parsed_inner_xml = etree.XML('<x>{}</x>'.format(self.inner_xml))
node.text = parsed_inner_xml.text
for child in parsed_inner_xml:
node.append(child)
3
Example 45
def __init__(self, xml_path):
# TODO: yup, that's the whole file in memory
xml_string = self.prep_xml(open(xml_path, 'r').read())
root = etree.XML(xml_string)
self.chan = root.find("channel")
self.category_dict = self.get_category_dict(self.chan)
self.tags_dict = self.get_tags_dict(self.chan)
3
Example 46
def configure_request(base_url, method='POST', timeout=None):
"""Closure to preconfigure the static request params. Return
custom request_oai function.
:param base_url: The endpoint of the OAI-PMH interface.
:param method: The HTTP method to be used for the requests.
:param timeout: The timeout in seconds for the requests.
"""
def request_oai(**kw):
"""Perform OAI request to base_url. Return parsed response."""
params = kw
params = normalize_params(params)
response = fetch_data(base_url, method, params, timeout=timeout)
return etree.XML(response)
return request_oai
3
Example 47
Project: diazo Source File: runtrace.py
def generate_runtrace(rules, error_log, rules_parser=None):
"""Annotate a rules file with the results of a transformation"""
def condition_name(trace):
"""Generate attribute name for this entry"""
for k in trace.attrib.keys():
if(k == 'theme_xmlid'):
continue
if(k.startswith('{http://namespaces.plone.org/diazo/css}')):
continue
return "runtrace-" + k
rules_doc = process_rules(rules, rules_parser=rules_parser,
stop='add_identifiers')
trace_doc = etree.XML(log_to_xml_string(error_log))
for trace in trace_doc.xpath('/runtrace/runtrace'):
for el in rules_doc.xpath("id('" + trace.attrib['theme_xmlid'] + "')"):
el.set(condition_name(trace), trace.text or '')
return rules_doc
3
Example 48
Project: stix-validator Source File: utils.py
def is_qname(string):
"""Returns ``True`` if `string` is a valid QName."""
if ":" in string:
prefix, _ = string.split(":", 1)
xmlns = "xmlns:%s='http://example.com'" % prefix
else:
xmlns = ""
try:
xml = "<%s %s/>" % (string, xmlns)
etree.XML(xml)
except etree.XMLSyntaxError:
return False
return True
3
Example 49
Project: daywatch Source File: utils.py
def convert_currency(currency_from, currency_to):
"""The conversion rate from currency_from to currency_to, both of which must be
ISO codes.
"""
try:
query = BASE_URL + QUERY + currency_from + currency_to + QUERY_SUFFIX
data = etree.XML(urllib2.urlopen(query).read())
rate = data.xpath('//Rate')[0].text
return float(rate)
except:
logger.error("Can't convert currencies: %s -> %s", currency_from,
currency_to)
3
Example 50
Project: pyglossary Source File: __init__.py
def import_xml_stuff():
from lxml import etree as _etree
global etree, XML, tostring
etree = _etree
XML = etree.XML
tostring = etree.tostring