this repo has no description
1from docutils import nodes
2
3def setup(app):
4 app.add_role('bugref', bugref_role)
5 app.add_role('idebugref', idebugref_role)
6 app.add_role('docbugref', docbugref_role)
7
8 return {'version': '0.1'} # identifies the version of our extension
9
10def bugref_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
11 issue_num = int(text)
12 if issue_num <= 0:
13 msg = inliner.reporter.error(
14 '"%s" is an invalid issue number' % text, line=lineno)
15 prb = inliner.problematic(rawtext, rawtext, msg)
16 return [prb], [msg]
17 node = nodes.reference(rawtext, 'issue ' + str(issue_num), refuri='https://github.com/minizinc/libminizinc/issues/'+str(issue_num))
18 return [node], []
19
20def idebugref_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
21 issue_num = int(text)
22 if issue_num <= 0:
23 msg = inliner.reporter.error(
24 '"%s" is an invalid issue number' % text, line=lineno)
25 prb = inliner.problematic(rawtext, rawtext, msg)
26 return [prb], [msg]
27 node = nodes.reference(rawtext, 'issue ' + str(issue_num), refuri='https://github.com/minizinc/minizincide/issues/'+str(issue_num))
28 return [node], []
29
30def docbugref_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
31 issue_num = int(text)
32 if issue_num <= 0:
33 msg = inliner.reporter.error(
34 '"%s" is an invalid issue number' % text, line=lineno)
35 prb = inliner.problematic(rawtext, rawtext, msg)
36 return [prb], [msg]
37 node = nodes.reference(rawtext, 'issue ' + str(issue_num), refuri='https://github.com/minizinc/minizinc-doc/issues/'+str(issue_num))
38 return [node], []
39