Exemple #1
0
def _read_xsl_one(filename, log=log):
    ''' return (etree.ElementTree, xsl includes from  given file '''

    with open(filename, "rb") as fp:
        log.debug('read file %s', filename)
        tree = etree.parse(fp)

        xsl_includes = [_abs_filename(filename, i.get('href'))
                        for i in tree.findall('{http://www.w3.org/1999/XSL/Transform}import')]
        return tree, xsl_includes
Exemple #2
0
def xml_from_file(filename):
    ''' 
    filename -> (status, et.Element)

    status == True - результат хороший можно кешировать
           == False - результат плохой, нужно вернуть, но не кешировать
    '''

    if os.path.exists(filename):
        try:
            res = etree.parse(file(filename)).getroot()
            tornado.autoreload.watch_file(filename)

            return True, [_source_comment(filename), res]
        except:
            log_fileloader.exception('failed to parse %s', filename)
            return False, etree.Element('error', dict(msg='failed to parse file: %s' % (filename,)))
    else:
        log_fileloader.error('file not found: %s', filename)
        return False, etree.Element('error', dict(msg='file not found: %s' % (filename,)))