本文整理汇总了Python中py.xml.html.br函数的典型用法代码示例。如果您正苦于以下问题:Python br函数的具体用法?Python br怎么用?Python br使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了br函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: append_log_html
def append_log_html(self, report, additional_html):
log = html.div(class_='log')
if report.longrepr:
for line in str(report.longrepr).splitlines():
if not PY3:
line = line.decode('utf-8')
separator = line.startswith('_ ' * 10)
if separator:
log.append(line[:80])
else:
exception = line.startswith("E ")
if exception:
log.append(html.span(raw(escape(line)),
class_='error'))
else:
log.append(raw(escape(line)))
log.append(html.br())
for header, content in report.sections:
log.append(' {0} '.format(header).center(80, '-'))
log.append(html.br())
log.append(content)
if len(log) == 0:
log = html.div(class_='empty log')
log.append('No log output captured.')
additional_html.append(log)
示例2: append_log_html
def append_log_html(self, report, additional_html):
log = html.div(class_='log')
if report.longrepr:
for line in report.longreprtext.splitlines():
separator = line.startswith('_ ' * 10)
if separator:
log.append(line[:80])
else:
exception = line.startswith("E ")
if exception:
log.append(html.span(raw(escape(line)),
class_='error'))
else:
log.append(raw(escape(line)))
log.append(html.br())
for section in report.sections:
header, content = map(escape, section)
log.append(' {0} '.format(header).center(80, '-'))
log.append(html.br())
if ANSI:
converter = Ansi2HTMLConverter(inline=False, escaped=False)
content = converter.convert(content, full=False)
log.append(raw(content))
if len(log) == 0:
log = html.div(class_='empty log')
log.append('No log output captured.')
additional_html.append(log)
示例3: pytest_sessionfinish
def pytest_sessionfinish(self, session, exitstatus):
self._make_report_dir()
logfile = py.std.codecs.open(self.logfile, 'w', encoding='utf-8')
suite_stop_time = time.time()
suite_time_delta = suite_stop_time - self.suite_start_time
numtests = self.passed + self.failed
generated = datetime.datetime.now()
doc = html.html(
html.head(
html.meta(charset='utf-8'),
html.title('Test Report'),
html.link(rel='stylesheet', href='style.css'),
html.script(src='jquery.js'),
html.script(src='main.js')),
html.body(
html.p('Report generated on %s at %s ' % (
generated.strftime('%d-%b-%Y'),
generated.strftime('%H:%M:%S'),
)),
html.div([html.p(
html.span('%i tests' % numtests, class_='all clickable'),
' ran in %i seconds.' % suite_time_delta,
html.br(),
html.span('%i passed' % self.passed, class_='passed clickable'), ', ',
html.span('%i skipped' % self.skipped, class_='skipped clickable'), ', ',
html.span('%i failed' % self.failed, class_='failed clickable'), ', ',
html.span('%i errors' % self.errors, class_='error clickable'), '.',
html.br(), ),
html.span('Hide all errors', class_='clickable hide_all_errors'), ', ',
html.span('Show all errors', class_='clickable show_all_errors'),
], id='summary-wrapper'),
html.div(id='summary-space'),
html.table([
html.thead(html.tr([
html.th('Result', class_='sortable', col='result'),
html.th('Class', class_='sortable', col='class'),
html.th('Name', class_='sortable', col='name'),
html.th('Duration', class_='sortable numeric', col='duration'),
# html.th('Output')]), id='results-table-head'),
html.th('Links')]), id='results-table-head'),
html.tbody(*self.test_logs, id='results-table-body')], id='results-table')))
logfile.write(
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' + doc.unicode(
indent=2))
logfile.close()
self.process_screenshot_files()
self.process_debug_event_files()
self.process_performance_files()
示例4: simple_list_project
def simple_list_project(self, user, index, projectname):
# we only serve absolute links so we don't care about the route's slash
abort_if_invalid_projectname(projectname)
stage = self.getstage(user, index)
projectname = ensure_unicode(projectname)
info = stage.get_project_info(projectname)
if info and info.name != projectname:
redirect("/%s/+simple/%s/" % (stage.name, info.name))
result = stage.getreleaselinks(projectname)
if isinstance(result, int):
if result == 404:
# we don't want pip/easy_install to try the whole simple
# page -- we know for sure there is no fitting project
# because all devpi indexes perform package name normalization
abort(200, "no such project %r" % projectname)
if result >= 500:
abort(502, "upstream server has internal error")
if result < 0:
abort(502, "upstream server not reachable")
links = []
for entry in result:
relpath = entry.relpath
href = "/" + relpath
href = URL(request.path).relpath(href)
if entry.eggfragment:
href += "#egg=%s" % entry.eggfragment
elif entry.md5:
href += "#md5=%s" % entry.md5
links.extend([
"/".join(relpath.split("/", 2)[:2]) + " ",
html.a(entry.basename, href=href),
html.br(), "\n",
])
return simple_html_body("%s: links for %s" % (stage.name, projectname),
links).unicode(indent=2)
示例5: simple_list_project
def simple_list_project(self, user, index, projectname):
# we only serve absolute links so we don't care about the route's slash
stage = self.getstage(user, index)
result = stage.getreleaselinks(projectname)
if isinstance(result, int):
if result == 404:
abort(404, "no such project")
if result >= 500:
abort(502, "upstream server has internal error")
if result < 0:
abort(502, "upstream server not reachable")
links = []
for entry in result:
href = "/pkg/" + entry.relpath
if entry.eggfragment:
href += "#egg=%s" % entry.eggfragment
elif entry.md5:
href += "#md5=%s" % entry.md5
links.append((href, entry.basename))
# construct html
body = []
for entry in links:
body.append(html.a(entry[1], href=entry[0]))
body.append(html.br())
return simple_html_body("%s: links for %s" % (stage.name, projectname),
body).unicode()
示例6: make_result_html
def make_result_html(self, data):
tc_time = (data["time"] - self.start_times.pop(data["test"])) / 1000.
additional_html = []
debug = data.get("extra", {})
links_html = []
status = status_name = data["status"]
expected = data.get("expected", status)
if status != expected:
status_name = "UNEXPECTED_" + status
elif status != "PASS":
status_name = "EXPECTED_" + status
self.test_count[status_name] += 1
if status in ['SKIP', 'FAIL', 'ERROR']:
if debug.get('screenshot'):
screenshot = 'data:image/png;base64,%s' % debug['screenshot']
additional_html.append(html.div(
html.a(html.img(src=screenshot), href="#"),
class_='screenshot'))
for name, content in debug.items():
if 'screenshot' in name:
href = '#'
else:
# use base64 to avoid that some browser (such as Firefox, Opera)
# treats '#' as the start of another link if the data URL contains.
# use 'charset=utf-8' to show special characters like Chinese.
href = 'data:text/plain;charset=utf-8;base64,%s' % base64.b64encode(content.encode('utf-8'))
links_html.append(html.a(
name.title(),
class_=name,
href=href,
target='_blank'))
links_html.append(' ')
log = html.div(class_='log')
output = data.get('stack', '').splitlines()
output.extend(data.get('message', '').splitlines())
for line in output:
separator = line.startswith(' ' * 10)
if separator:
log.append(line[:80])
else:
if line.lower().find("error") != -1 or line.lower().find("exception") != -1:
log.append(html.span(raw(cgi.escape(line)), class_='error'))
else:
log.append(raw(cgi.escape(line)))
log.append(html.br())
additional_html.append(log)
self.result_rows.append(
html.tr([html.td(status_name, class_='col-result'),
html.td(data['test'], class_='col-name'),
html.td('%.2f' % tc_time, class_='col-duration'),
html.td(links_html, class_='col-links'),
html.td(additional_html, class_='debug')],
class_=status_name.lower() + ' results-table-row'))
示例7: _appendrow
def _appendrow(self, result, report):
time = getattr(report, 'duration', 0.0)
additional_html = []
links_html = []
for extra in getattr(report, 'extra', []):
href = None
if extra.get('format') == extras.FORMAT_IMAGE:
href = '#'
image = 'data:image/png;base64,%s' % extra.get('content')
additional_html.append(html.div(
html.a(html.img(src=image), href="#"),
class_='image'))
elif extra.get('format') == extras.FORMAT_HTML:
additional_html.append(extra.get('content'))
elif extra.get('format') == extras.FORMAT_JSON:
href = data_uri(json.dumps(extra.get('content')),
mime_type='application/json')
elif extra.get('format') == extras.FORMAT_TEXT:
href = data_uri(extra.get('content'))
elif extra.get('format') == extras.FORMAT_URL:
href = extra.get('content')
if href is not None:
links_html.append(html.a(
extra.get('name'),
class_=extra.get('format'),
href=href,
target='_blank'))
links_html.append(' ')
if 'Passed' not in result:
if report.longrepr:
log = html.div(class_='log')
for line in str(report.longrepr).splitlines():
if not PY3:
line = line.decode('utf-8')
separator = line.startswith('_ ' * 10)
if separator:
log.append(line[:80])
else:
exception = line.startswith("E ")
if exception:
log.append(html.span(raw(escape(line)),
class_='error'))
else:
log.append(raw(escape(line)))
log.append(html.br())
additional_html.append(log)
self.test_logs.append(html.tr([
html.td(result, class_='col-result'),
html.td(report.nodeid, class_='col-name'),
html.td('%.2f' % time, class_='col-duration'),
html.td(links_html, class_='col-links'),
html.td(additional_html, class_='extra')],
class_=result.lower() + ' results-table-row'))
示例8: simple_list_all
def simple_list_all(self, user, index):
stage = self.getstage(user, index)
names = stage.getprojectnames()
body = []
for name in names:
body.append(html.a(name, href=name + "/"))
body.append(html.br())
return simple_html_body("%s: list of accessed projects" % stage.name,
body).unicode()
示例9: simple_list_project
def simple_list_project(self):
request = self.request
name = self.context.name
# we only serve absolute links so we don't care about the route's slash
abort_if_invalid_projectname(request, name)
stage = self.context.stage
if stage.get_projectname(name) is None:
# we return 200 instead of !=200 so that pip/easy_install don't
# ask for the full simple page although we know it doesn't exist
# XXX change that when pip-6.0 is released?
abort(request, 200, "no such project %r" % name)
projectname = self.context.projectname
try:
result = stage.get_releaselinks(projectname)
except stage.UpstreamError as e:
threadlog.error(e.msg)
abort(request, 502, e.msg)
links = []
for link in result:
relpath = link.entrypath
href = "/" + relpath
href = URL(request.path_info).relpath(href)
if link.eggfragment:
href += "#egg=%s" % link.eggfragment
elif link.hash_spec:
href += "#" + link.hash_spec
links.extend([
"/".join(relpath.split("/", 2)[:2]) + " ",
html.a(link.basename, href=href),
html.br(), "\n",
])
title = "%s: links for %s" % (stage.name, projectname)
if stage.has_pypi_base(projectname):
refresh_title = "Refresh" if stage.ixconfig["type"] == "mirror" else \
"Refresh PyPI links"
refresh_url = request.route_url(
"/{user}/{index}/+simple/{name}/refresh",
user=self.context.username, index=self.context.index,
name=projectname)
refresh_form = [
html.form(
html.input(
type="submit", value=refresh_title, name="refresh"),
action=refresh_url,
method="post"),
"\n"]
else:
refresh_form = []
return Response(html.html(
html.head(
html.title(title)),
html.body(
html.h1(title), "\n",
refresh_form,
links)).unicode(indent=2))
示例10: _appendrow
def _appendrow(self, result, report):
time = getattr(report, 'duration', 0.0)
additional_html = []
links_html = []
if 'Passed' not in result:
for extra in getattr(report, 'extra', []):
href = None
if type(extra) is Image:
href = '#'
image = 'data:image/png;base64,%s' % extra.content
additional_html.append(html.div(
html.a(html.img(src=image), href="#"),
class_='image'))
elif type(extra) is HTML:
additional_html.append(extra.content)
elif type(extra) is Text:
href = 'data:text/plain;charset=utf-8;base64,%s' % \
b64encode(extra.content)
elif type(extra) is URL:
href = extra.content
if href is not None:
links_html.append(html.a(
extra.name,
class_=extra.__class__.__name__.lower(),
href=href,
target='_blank'))
links_html.append(' ')
if report.longrepr:
log = html.div(class_='log')
for line in str(report.longrepr).splitlines():
line = line.decode('utf-8')
separator = line.startswith('_ ' * 10)
if separator:
log.append(line[:80])
else:
exception = line.startswith("E ")
if exception:
log.append(html.span(raw(cgi.escape(line)),
class_='error'))
else:
log.append(raw(cgi.escape(line)))
log.append(html.br())
additional_html.append(log)
self.test_logs.append(html.tr([
html.td(result, class_='col-result'),
html.td(report.nodeid, class_='col-name'),
html.td('%.2f' % time, class_='col-duration'),
html.td(links_html, class_='col-links'),
html.td(additional_html, class_='extra')],
class_=result.lower() + ' results-table-row'))
示例11: _append_screenshot
def _append_screenshot(self, name, log):
name = re.sub('[^A-Za-z0-9_.]+', '_', name)
images_saved = os.path.join(self.project_root, 'screenshots')
if os.path.isdir(images_saved) and len(os.listdir(images_saved)) > 0:
log.append(html.h3('Screenshots'))
for file in os.listdir(images_saved):
image_path = os.path.join(images_saved, file)
if name in image_path:
self.used_screens.append(image_path)
# use relative path in img src
source = image_path.replace(self.project_root, '.')
log.append(source)
log.append(html.br())
log.append(html.img(src=source))
log.append(html.br())
示例12: simple_list_project
def simple_list_project(self):
request = self.request
name = self.context.name
# we only serve absolute links so we don't care about the route's slash
abort_if_invalid_projectname(request, name)
stage = self.context.stage
projectname = stage.get_projectname(name)
if projectname is None:
abort(request, 200, "no such project %r" % projectname)
if name != projectname:
redirect("/%s/+simple/%s/" % (stage.name, projectname))
try:
result = stage.get_releaselinks(projectname)
except stage.UpstreamError as e:
threadlog.error(e.msg)
abort(request, 502, e.msg)
links = []
for link in result:
relpath = link.entrypath
href = "/" + relpath
href = URL(request.path).relpath(href)
if link.eggfragment:
href += "#egg=%s" % link.eggfragment
elif link.md5:
href += "#md5=%s" % link.md5
links.extend([
"/".join(relpath.split("/", 2)[:2]) + " ",
html.a(link.basename, href=href),
html.br(), "\n",
])
title = "%s: links for %s" % (stage.name, projectname)
if stage.has_pypi_base(projectname):
refresh_title = "Refresh" if stage.ixconfig["type"] == "mirror" else \
"Refresh PyPI links"
refresh_url = request.route_url(
"/{user}/{index}/+simple/{name}/refresh",
user=self.context.username, index=self.context.index,
name=projectname)
refresh_form = [
html.form(
html.input(
type="submit", value=refresh_title, name="refresh"),
action=refresh_url,
method="post"),
"\n"]
else:
refresh_form = []
return Response(html.html(
html.head(
html.title(title)),
html.body(
html.h1(title), "\n",
refresh_form,
links)).unicode(indent=2))
示例13: _append_crash_message_section
def _append_crash_message_section(log, report):
try:
message = report.longrepr.reprcrash.message
log.append(html.h3('Crash Message'))
crash_message_p = html.p(class_='crash_message')
for line in message.splitlines():
crash_message_p.append(escape(line))
crash_message_p.append(html.br())
log.append(crash_message_p)
except:
return
示例14: _extract_html
def _extract_html(test, class_name, duration=0, text='', result='passed', debug=None):
cls_name = class_name
tc_name = unicode(test)
tc_time = duration
additional_html = []
debug = debug or {}
links_html = []
if result in ['skipped', 'failure', 'expected failure', 'error']:
if debug.get('screenshot'):
screenshot = 'data:image/png;base64,%s' % debug['screenshot']
additional_html.append(html.div(
html.a(html.img(src=screenshot), href="#"),
class_='screenshot'))
for name, content in debug.items():
try:
if 'screenshot' in name:
href = '#'
else:
# use base64 to avoid that some browser (such as Firefox, Opera)
# treats '#' as the start of another link if the data URL contains.
# use 'charset=utf-8' to show special characters like Chinese.
href = 'data:text/plain;charset=utf-8;base64,%s' % base64.b64encode(content)
links_html.append(html.a(
name.title(),
class_=name,
href=href,
target='_blank'))
links_html.append(' ')
except:
pass
log = html.div(class_='log')
for line in text.splitlines():
separator = line.startswith(' ' * 10)
if separator:
log.append(line[:80])
else:
if line.lower().find("error") != -1 or line.lower().find("exception") != -1:
log.append(html.span(raw(cgi.escape(line)), class_='error'))
else:
log.append(raw(cgi.escape(line)))
log.append(html.br())
additional_html.append(log)
test_logs.append(html.tr([
html.td(result.title(), class_='col-result'),
html.td(cls_name, class_='col-class'),
html.td(tc_name, class_='col-name'),
html.td(tc_time, class_='col-duration'),
html.td(links_html, class_='col-links'),
html.td(additional_html, class_='debug')],
class_=result.lower() + ' results-table-row'))
示例15: _extract_html
def _extract_html(test, class_name, duration=0, text="", result="passed", debug=None):
cls_name = class_name
tc_name = unicode(test)
tc_time = duration
additional_html = []
debug = debug or {}
links_html = []
if result in ["skipped", "failure", "expected failure", "error"]:
if debug.get("screenshot"):
screenshot = "data:image/png;base64,%s" % debug["screenshot"]
additional_html.append(html.div(html.a(html.img(src=screenshot), href="#"), class_="screenshot"))
for name, content in debug.items():
try:
if "screenshot" in name:
href = "#"
else:
# use base64 to avoid that some browser (such as Firefox, Opera)
# treats '#' as the start of another link if the data URL contains.
# use 'charset=utf-8' to show special characters like Chinese.
href = "data:text/plain;charset=utf-8;base64,%s" % base64.b64encode(content)
links_html.append(html.a(name.title(), class_=name, href=href, target="_blank"))
links_html.append(" ")
except:
pass
log = html.div(class_="log")
for line in text.splitlines():
separator = line.startswith(" " * 10)
if separator:
log.append(line[:80])
else:
if line.lower().find("error") != -1 or line.lower().find("exception") != -1:
log.append(html.span(raw(cgi.escape(line)), class_="error"))
else:
log.append(raw(cgi.escape(line)))
log.append(html.br())
additional_html.append(log)
test_logs.append(
html.tr(
[
html.td(result.title(), class_="col-result"),
html.td(cls_name, class_="col-class"),
html.td(tc_name, class_="col-name"),
html.td(tc_time, class_="col-duration"),
html.td(links_html, class_="col-links"),
html.td(additional_html, class_="debug"),
],
class_=result.lower() + " results-table-row",
)
)