1
0
mirror of https://github.com/django/django.git synced 2025-10-24 14:16:09 +00:00

Replaced CVE/ticket roles with extlinks.

This commit is contained in:
Tim Graham
2018-08-27 10:26:29 -04:00
parent 7b7fb2eca5
commit 44f98f7880
3 changed files with 6 additions and 72 deletions

View File

@@ -1,27 +0,0 @@
"""
An interpreted text role to link docs to CVE issues. To use: :cve:`XXXXX`
"""
from docutils import nodes, utils
from docutils.parsers.rst import roles
def cve_role(name, rawtext, text, lineno, inliner, options=None, content=None):
if options is None:
options = {}
url_pattern = inliner.document.settings.env.app.config.cve_url
if url_pattern is None:
msg = inliner.reporter.warning("cve not configured: please configure cve_url in conf.py")
prb = inliner.problematic(rawtext, rawtext, msg)
return [prb], [msg]
url = url_pattern % text
roles.set_classes(options)
node = nodes.reference(rawtext, utils.unescape('CVE-%s' % text), refuri=url, **options)
return [node], []
def setup(app):
app.add_config_value('cve_url', None, 'env')
app.add_role('cve', cve_role)
return {'parallel_read_safe': True}

View File

@@ -1,39 +0,0 @@
"""
An interpreted text role to link docs to Trac tickets.
To use: :ticket:`XXXXX`
Based on code from psycopg2 by Daniele Varrazzo.
"""
from docutils import nodes, utils
from docutils.parsers.rst import roles
def ticket_role(name, rawtext, text, lineno, inliner, options=None, content=None):
if options is None:
options = {}
try:
num = int(text.replace('#', ''))
except ValueError:
msg = inliner.reporter.error(
"ticket number must be... a number, got '%s'" % text)
prb = inliner.problematic(rawtext, rawtext, msg)
return [prb], [msg]
url_pattern = inliner.document.settings.env.app.config.ticket_url
if url_pattern is None:
msg = inliner.reporter.warning(
"ticket not configured: please configure ticket_url in conf.py")
prb = inliner.problematic(rawtext, rawtext, msg)
return [prb], [msg]
url = url_pattern % num
roles.set_classes(options)
node = nodes.reference(rawtext, '#' + utils.unescape(text), refuri=url, **options)
return [node], []
def setup(app):
app.add_config_value('ticket_url', None, 'env')
app.add_role('ticket', ticket_role)
return {'parallel_read_safe': True}