Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def pytest_funcarg__node(request):
node = pending_xref()
node['reftype'] = 'issue'
node['reftarget'] = '10'
node.append(nodes.Text('#10'))
return node
def pytest_funcarg__node(request):
issue_id = request.getfuncargvalue('issue_id')
node = pending_xref()
node['reftype'] = 'issue'
node['reftarget'] = issue_id
node.append(request.getfuncargvalue('contnode'))
return node
def convert_arithm(node, expr, modname=None, nodefmt=nodes.Text):
"""Format an arithmetic expression for a node"""
ops = re.findall(r'(\W+)',expr)
nums = re.split(r'\W+', expr)
if len(nums)!=len(ops): ops.append('')
for num, op in zip(nums, ops):
if num:
if num[0].isalpha():
refnode = addnodes.pending_xref(
'', refdomain='f', reftype='var', reftarget=num,
modname=modname)
refnode += nodefmt(num, num)
node += refnode
else:
node += nodefmt(num, num)
if op:
op = op.replace(':', '*')
node += nodefmt(op, op)
def _parse_type(self, node, ctype):
# add cross-ref nodes for all words
for part in filter(None, wsplit_re.split(ctype)):
tnode = nodes.Text(part, part)
if part[0] in string.ascii_letters+'_' and \
part not in self.stopwords:
pnode = addnodes.pending_xref(
'', reftype='ctype', reftarget=part,
modname=None, classname=None)
pnode += tnode
node += pnode
else:
node += tnode
for m in RE_function.finditer(t):
#
# Include any text prior to function() as a normal text node.
#
if m.start() > done:
repl.append(nodes.Text(t[done:m.start()]))
#
# Go through the dance of getting an xref out of the C domain
#
target = m.group(1)[:-2]
target_text = nodes.Text(target + '()')
xref = None
if target not in Skipfuncs:
lit_text = nodes.literal(classes=['xref', 'c', 'c-func'])
lit_text += target_text
pxref = addnodes.pending_xref('', refdomain = 'c',
reftype = 'function',
reftarget = target, modname = None,
classname = None)
#
# XXX The Latex builder will throw NoUri exceptions here,
# work around that by ignoring them.
#
try:
xref = cdom.resolve_xref(app.env, docname, app.builder,
'function', target, pxref, lit_text)
except NoUri:
xref = None
#
# Toss the xref into the list if we got it; otherwise just put
# the function text.
#
fullname = signode.get('fullname')
refname = modname
if env.config.viewcode_import:
modname = _get_full_modname(app, modname, fullname)
if not modname:
continue
fullname = signode.get('fullname')
if not has_tag(modname, fullname, env.docname, refname):
continue
if fullname in names:
# only one link per name, please
continue
names.add(fullname)
pagename = '_modules/' + modname.replace('.', '/')
onlynode = addnodes.only(expr='html')
onlynode += addnodes.pending_xref(
'', reftype='viewcode', refdomain='std', refexplicit=False,
reftarget=pagename, refid=fullname,
refdoc=env.docname)
onlynode[0] += nodes.inline('', _('[source]'),
classes=['viewcode-link'])
signode += onlynode
def attach_type(self, node, type):
# XXX: link to c?
text = unicode(type)
pnode = addnodes.pending_xref(
'', refdomain='ocv', reftype='type',
reftarget=text, modname=None, classname=None)
pnode['ocv:parent'] = self.env.temp_data.get('ocv:parent')
pnode += nodes.Text(text)
node += pnode
def make_mixins(self):
doc = self.item
if not doc.mixins:
return []
ret = nodes.field('', nodes.field_name("Mixes", "Mixes"))
with addto(ret, nodes.field_body()) as body:
with addto(body, nodes.bullet_list()) as mixins:
for mixin in sorted(doc.mixins, key=lambda m: m.name):
mixin_link = addnodes.pending_xref(
mixin.name, nodes.paragraph(mixin.name, mixin.name),
refdomain='js', reftype='mixin', reftarget=mixin.name
)
mixin_link['js:module'] = mixin['sourcemodule'].name
mixins += nodes.list_item('', mixin_link)
return ret
def DocumentRole(typ, rawtext, text, lineno, inliner, options={}, content=[]):
# type: (unicode, unicode, unicode, int, Inliner, Dict, List[unicode]) -> Tuple[List[nodes.Node], List[nodes.Node]] # NOQA
env = inliner.document.settings.env
# split title and target in role content
has_explicit_title, title, target = split_explicit_title(text)
title = utils.unescape(title)
target = pattern.format(utils.unescape(target))
# create the reference node
refnode = addnodes.pending_xref(rawtext, reftype='doc', refdomain='std', refexplicit=has_explicit_title)
# we may need the line number for warnings
set_role_source_info(inliner, lineno, refnode) # type: ignore
# now that the target and title are finally determined, set them
refnode['reftarget'] = target
refnode += nodes.inline(rawtext, title, classes=['xref', 'doc'])
# we also need the source document
refnode['refdoc'] = env.docname
refnode['refwarn'] = True
return [refnode], []