Server IP : 192.158.238.246 / Your IP : 52.14.123.251 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/python37/share/doc/alt-python37-psycopg2/doc/src/tools/lib/ |
Upload File : |
# -*- coding: utf-8 -*- """ ticket role ~~~~~~~~~~~ An interpreted text role to link docs to tickets issues. :copyright: Copyright 2013 by Daniele Varrazzo. """ import re from docutils import nodes, utils from docutils.parsers.rst import roles def ticket_role(name, rawtext, text, lineno, inliner, options={}, content=[]): cfg = inliner.document.settings.env.app.config if cfg.ticket_url 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] rv = [nodes.Text(name + ' ')] tokens = re.findall(r'(#?\d+)|([^\d#]+)', text) for ticket, noise in tokens: if ticket: num = int(ticket.replace('#', '')) # Push numbers of the oldel tickets ahead. # We moved the tickets from a different tracker to GitHub and the # latter already had a few ticket numbers taken (as merge # requests). remap_until = cfg.ticket_remap_until remap_offset = cfg.ticket_remap_offset if remap_until and remap_offset: if num <= remap_until: num += remap_offset url = cfg.ticket_url % num roles.set_classes(options) node = nodes.reference(ticket, utils.unescape(ticket), refuri=url, **options) rv.append(node) else: assert noise rv.append(nodes.Text(noise)) return rv, [] def setup(app): app.add_config_value('ticket_url', None, 'env') app.add_config_value('ticket_remap_until', None, 'env') app.add_config_value('ticket_remap_offset', None, 'env') app.add_role('ticket', ticket_role) app.add_role('tickets', ticket_role)