Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _build(self,mo,element_store):
body = mo.group(1).split(self.delimiter,1)
src_mo = self.src_regexp.search(body[0])
if not src_mo:
return bldr.tag.span('Bad Image src')
if sanitizer.is_safe_uri(src_mo.group(1)):
link = src_mo.group(1)
else:
link = "unsafe_uri_detected"
if len(body) == 1:
alias = link
else:
alias = body[1].strip()
return bldr.tag.__getattr__(self.tag)(src=link ,alt=alias)
"changes merged from the other parents)"),
href=context.href.changeset(current_sha, reponame,
old=rev)),
')')
for rev in revs))
return tag(list(parent_links),
tag.br(),
tag.span(Markup(_("Note: this is a <strong>merge"
"</strong> changeset, the "
"changes displayed below "
"correspond to the merge "
"itself.")),
class_='hint'),
tag.br(),
tag.span(Markup(_("Use the <tt>(diff)</tt> links "
"above to see all the changes "
"relative to each parent.")),
class_='hint'))
# simple non-merge commit
return tag(*intersperse(', ', map(sha_link, revs)))
elif name in ('git-committer', 'git-author'):
user_, time_ = props[name]
_str = "%s (%s)" % (
Chrome(self.env).format_author(context.req, user_),
format_datetime(time_, tzinfo=context.req.tz))
return unicode(_str)
raise TracError(_("Internal error"))
def render_timeline_event(self, context, field, event):
builder_name, num, end, branch, rev, results, text = event[3]
if field == 'url':
return None
elif field == 'title':
return tag('Build ', tag.a('#%s' % num, href=context.href.buildbot('builder/%s/%s' % (builder_name, num))),
' of ', builder_name, ' ', results == 'success' and tag.span('passed', style="color: #080") or tag.span('failed', style="color: #f00"))
elif field == 'description':
return format_to_oneliner(self.env, context, 'Built from %s' % (rev and 'r%s sources' % rev or 'local changes (see TryBuildUsage)'))
links = []
for id in sorted(ids, key=lambda x: int(x)):
try:
ticket = Ticket(self.env, id)
elem = tag.a('#%s' % id,
href=req.href.ticket(id),
class_='%s ticket' % ticket['status'],
title=ticket['summary'])
if len(links) > 0:
links.append(', ')
links.append(elem)
except ResourceNotFound, e:
pass
for field in data.get('fields', ''):
if field.get('name') == 'parents':
field['rendered'] = tag.span(*links)
break
else:
body = mo.group('body')
tail = ''
if mo.group('name') in self.macros:
value = self._macro_func(mo.group('name'),mo.group('arg_string'),body,True,environ)
elif self.func:
value = self.func(mo.group('name'),mo.group('arg_string'),body,True,environ)
else:
value = None
if value is None:
output = bldr.tag.pre(self.token[0],bldr.tag.span(mo.group('name'),class_="macro_name"),
bldr.tag.span(mo.group('arg_string'),class_="macro_arg_string"),
self.token[1],'\n',bldr.tag.span(mo.group('body'),class_="macro_body"),
self.token[0] + '/' + mo.group('name') + self.token[1],
class_="unknown_macro")
elif (isinstance(value, (Stream, basestring)) or
(isinstance(value,bldr.Element) and value.tag in BLOCK_TAGS)):
output = value
# Add a p tag if the value is a Fragment or Element that needs one
elif isinstance(value, bldr.Fragment):
output = bldr.tag.p(value)
else:
raise Exception("macros can only return strings and genshi objects")
return [output, tail]
def _build(self,mo,element_store, environ):
arg_string = re.sub(self.trailing_slash,'',mo.group(4))
if mo.group('name') in self.macros:
value = self._macro_func(mo.group('name'),arg_string,None,False,environ)
elif self.func:
value = self.func(mo.group('name'),arg_string,None,False,environ)
else:
value = None
if value is None:
return bldr.tag.code(self.token[0],bldr.tag.span(mo.group('name'),class_="macro_name"),
bldr.tag.span(arg_string,class_="macro_arg_string"),
self.token[1],class_="unknown_macro")
elif isinstance(value, (basestring,bldr.Fragment,bldr.Element, Stream)):
return value
else:
raise Exception("macros can only return strings and genshi objects")
# we got a merge...
current_sha = context.resource.id
reponame = context.resource.parent.id
parent_links = intersperse(', ', \
((sha_link(rev),
' (',
tag.a('diff',
title="Diff against this parent (show the changes merged from the other parents)",
href=context.href.changeset(current_sha, reponame, old=rev)),
')')
for rev in revs))
return tag(list(parent_links),
tag.br(),
tag.span(tag("Note: this is a ", tag.strong('merge'), " changeset, "
"the changes displayed below correspond "
"to the merge itself."),
class_='hint'),
tag.br(),
tag.span(tag("Use the ", tag.tt('(diff)'), " links above"
" to see all the changes relative to each parent."),
class_='hint'))
# simple non-merge commit
return tag(*intersperse(', ', map(sha_link, revs)))
elif name in ('git-committer', 'git-author'):
user_, time_ = props[name]
_str = "%s (%s)" % (Chrome(self.env).format_author(context.req, user_),
format_datetime(time_, tzinfo=context.req.tz))
return unicode(_str)
reponame = context.resource.parent.id
parent_links = intersperse(', ', \
((sha_link(rev),
' (',
tag.a('diff',
title="Diff against this parent (show the " \
"changes merged from the other parents)",
href=context.href.changeset(current_sha, reponame,
old=rev)),
')')
for rev in revs))
return tag(list(parent_links),
tag.br(),
tag.span(tag("Note: this is a ",
tag.strong("merge"), " changeset, "
"the changes displayed below "
"correspond to the merge itself."),
class_='hint'),
tag.br(),
tag.span(tag("Use the ", tag.tt("(diff)"),
" links above to see all the changes "
"relative to each parent."),
class_='hint'))
# simple non-merge commit
return tag(*intersperse(', ', map(sha_link, revs)))
elif name in ('git-committer', 'git-author'):
user_, time_ = props[name]
_str = "%s (%s)" % (
if not revs:
str = 'No commits.'
li = tag.li(str)
els.append(li)
else:
str = ' %d commits.' % len(revs)
href = req.href.review(req.args['ticket'])
a = tag.a('Review' + str, href=href)
li = tag.li(a)
els.append(li)
ul = tag.ul(els, class_='review')
className = ''
title = "Reviews"
add_ctxtnav(req, tag.span(tag.object(ul), id='icureview', title=title, class_=className))
def render_timeline_event(self, context, field, event):
builder_name, num, end, branch, rev, results, text = event[3]
if field == 'url':
return None
elif field == 'title':
return tag('Build ', tag.a('#%s'%num, href=context.href.buildbot('builder/%s/%s'%(builder_name, num))),
' of ', builder_name, ' ', results == 'success' and tag.span('passed', style="color: #080") or tag.span('failed', style="color: #f00"))
elif field == 'description':
return format_to_oneliner(self.env, context, 'Built from %s'%(rev and 'r%s sources'%rev or 'local changes (see TryBuildUsage)'))