[packages/python-sphinxcontrib-issuetracker] - patched for Sphinx 2..4, partial patch for pytest>3 (incomplete); unified apidocs packaging, relea

qboosh qboosh at pld-linux.org
Tue Dec 5 22:19:01 CET 2023


commit cdce69ee0a0b394350cb25d17889fa515e97cc4e
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Tue Dec 5 22:12:40 2023 +0100

    - patched for Sphinx 2..4, partial patch for pytest>3 (incomplete); unified apidocs packaging, release 11

 python-sphinxcontrib-issuetracker.spec     |  92 +++++---
 sphinxcontrib-issuetracker-pytest.patch    | 360 +++++++++++++++++++++++++++++
 sphinxcontrib-issuetracker-sphinx1.7.patch |  37 +++
 3 files changed, 460 insertions(+), 29 deletions(-)
---
diff --git a/python-sphinxcontrib-issuetracker.spec b/python-sphinxcontrib-issuetracker.spec
index 0185b1b..3951606 100644
--- a/python-sphinxcontrib-issuetracker.spec
+++ b/python-sphinxcontrib-issuetracker.spec
@@ -1,6 +1,7 @@
 #
 # Conditional build:
 %bcond_without	doc	# HTML documentation build
+%bcond_with	tests	# unit tests (not ready for pytest 4+)
 %bcond_without	python2 # CPython 2.x module
 %bcond_without	python3 # CPython 3.x module
 #
@@ -8,35 +9,50 @@ Summary:	Sphinx extension to reference issues in issue trackers
 Summary(pl.UTF-8):	Rozszerzenie Sphinksa do tworzenia odnośników do systemów śledzenia zgłoszeń
 Name:		python-sphinxcontrib-issuetracker
 Version:	0.11
-Release:	10
+Release:	11
 License:	BSD
 Group:		Development/Languages/Python
-Source0:	http://pypi.python.org/packages/source/s/sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-%{version}.tar.gz
+Source0:	https://files.pythonhosted.org/packages/source/s/sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-%{version}.tar.gz
 # Source0-md5:	69c2f0e5770c5d7bad73f60f8d764e28
 Source1:	http://docs.python.org/objects.inv?/python-objects.inv
 # Source1-md5:	173c3f7fb1ad2162f1f194a5267700db
 Source2:	http://sphinx.pocoo.org/objects.inv?/sphinx-objects.inv
 # Source2-md5:	5f30379fe116fbace2636d5284df8622
 Patch0:		%{name}-offline.patch
-URL:		http://pypi.python.org/pypi/sphinxcontrib-issuetracker
-BuildRequires:	rpm-pythonprov
-BuildRequires:	rpmbuild(macros) >= 1.710
+Patch1:		sphinxcontrib-issuetracker-sphinx1.7.patch
+# TODO: unfinished updates for pytest 4+
+Patch2:		sphinxcontrib-issuetracker-pytest.patch
+URL:		https://pypi.org/project/sphinxcontrib-issuetracker/
 %if %{with python2}
 BuildRequires:	python-devel >= 1:2.6
-Requires:	python-requests >= 0.13
-%if %{with doc}
-BuildRequires:	python-requests >= 0.13
-BuildRequires:	sphinx-pdg-2 >= 1.1
+BuildRequires:	python-setuptools
+%if %{with tests}
+BuildRequires:	python-Sphinx >= 1.7
+BuildRequires:	python-mock >= 0.7
+BuildRequires:	python-pytest >= 3.0
+BuildRequires:	python-pytest < 4
+BuildRequires:	python-requests >= 1.1
+# launchpadlib, SOAPpy>=0.12.5, debianbts>=1.10
 %endif
 %endif
 %if %{with python3}
 BuildRequires:	python3-devel >= 1:3.3
-Requires:	python3-requests >= 0.13
+BuildRequires:	python3-setuptools
+%if %{with tests}
+BuildRequires:	python3-Sphinx >= 1.7
+BuildRequires:	python3-pytest >= 3.0
+BuildRequires:	python3-pytest < 4
+BuildRequires:	python3-requests >= 1.1
+%endif
+%endif
+BuildRequires:	rpm-pythonprov
+BuildRequires:	rpmbuild(macros) >= 1.714
 %if %{with doc}
-BuildRequires:	python3-requests >= 0.13
+BuildRequires:	python3-requests >= 1.1
+# already installed package
+BuildRequires:	python3-sphinxcontrib-issuetracker
 BuildRequires:	sphinx-pdg-3 >= 1.1
 %endif
-%endif
 BuildArch:	noarch
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -66,9 +82,22 @@ Rozszerzenie Sphinksa do umieszczania odnośników do systemów śledzenia
 zgłoszeń - wprost poprzez regułę "issue" lub opcjonalnie poprzez numer
 zgłoszenia zapisany tekstowo (np. "#10").
 
+%package apidocs
+Summary:	API documentation for sphinxcontrib-issuetracker module
+Summary(pl.UTF-8):	Dokumentacja API modułu sphinxcontrib-issuetracker
+Group:		Documentation
+
+%description apidocs
+API documentation for sphinxcontrib-issuetracker module.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API modułu sphinxcontrib-issuetracker.
+
 %prep
 %setup -q -n sphinxcontrib-issuetracker-%{version}
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 cp -p %{SOURCE1} %{SOURCE2} doc
 
@@ -76,28 +105,33 @@ cp -p %{SOURCE1} %{SOURCE2} doc
 %if %{with python2}
 %py_build
 
-%if %{with doc}
-PYTHONPATH=$(pwd)/build-2/lib \
-%{__make} -C doc html SPHINXBUILD=sphinx-build-2
-mv doc/_build doc/_build2
+%if %{with tests}
+PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
+%{__python} -m pytest tests
 %endif
 %endif
 
 %if %{with python3}
 %py3_build
 
-%if %{with doc}
-PYTHONPATH=$(pwd)/build-3/lib \
-%{__make} -C doc html SPHINXBUILD=sphinx-build-2
-mv doc/_build doc/_build3
+%if %{with tests}
+PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
+%{__python3} -m pytest tests
 %endif
 %endif
 
+%if %{with doc}
+PYTHONPATH=$(pwd) \
+%{__make} -C doc html \
+	SPHINXBUILD=sphinx-build-3
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %if %{with python2}
 %py_install
+
 %py_postclean
 %endif
 
@@ -111,12 +145,8 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with python2}
 %files
 %defattr(644,root,root,755)
-%doc CHANGES.rst CREDITS LICENSE README.rst %{?with_doc:doc/_build2/html}
-# top dir should belong to python-Sphinx?
-%dir %{py_sitescriptdir}/sphinxcontrib
-%dir %{py_sitescriptdir}/sphinxcontrib/issuetracker
-%{py_sitescriptdir}/sphinxcontrib/issuetracker/*.py[co]
-%{py_sitescriptdir}/sphinxcontrib/issuetracker/issuetracker.css
+%doc CHANGES.rst CREDITS LICENSE README.rst
+%{py_sitescriptdir}/sphinxcontrib/issuetracker
 %{py_sitescriptdir}/sphinxcontrib_issuetracker-%{version}-py*.egg-info
 %{py_sitescriptdir}/sphinxcontrib_issuetracker-%{version}-py*-nspkg.pth
 %endif
@@ -124,10 +154,14 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with python3}
 %files -n python3-sphinxcontrib-issuetracker
 %defattr(644,root,root,755)
-%doc CHANGES.rst CREDITS LICENSE README.rst %{?with_doc:doc/_build3/html}
-# top dir should belong to python-Sphinx?
-%dir %{py3_sitescriptdir}/sphinxcontrib
+%doc CHANGES.rst CREDITS LICENSE README.rst
 %{py3_sitescriptdir}/sphinxcontrib/issuetracker
 %{py3_sitescriptdir}/sphinxcontrib_issuetracker-%{version}-py*.egg-info
 %{py3_sitescriptdir}/sphinxcontrib_issuetracker-%{version}-py*-nspkg.pth
 %endif
+
+%if %{with doc}
+%files apidocs
+%defattr(644,root,root,755)
+%doc doc/_build/html/{_static,*.html,*.js}
+%endif
diff --git a/sphinxcontrib-issuetracker-pytest.patch b/sphinxcontrib-issuetracker-pytest.patch
new file mode 100644
index 0000000..5711fc3
--- /dev/null
+++ b/sphinxcontrib-issuetracker-pytest.patch
@@ -0,0 +1,360 @@
+--- sphinxcontrib-issuetracker-0.11/tests/test_setup.py.orig	2012-06-28 17:12:27.000000000 +0200
++++ sphinxcontrib-issuetracker-0.11/tests/test_setup.py	2023-11-23 21:50:15.985418978 +0100
+@@ -42,7 +42,7 @@ import re
+ BUILTIN_TRACKER_NAME_PATTERN = re.compile('lookup_(.*)_issue')
+ 
+ import pytest
+-from sphinx.environment import SphinxStandaloneReader
++from sphinx.io import SphinxStandaloneReader
+ 
+ from sphinxcontrib import issuetracker
+ from sphinxcontrib.issuetracker import resolvers
+--- sphinxcontrib-issuetracker-0.11/tests/conftest.py.orig	2023-11-25 17:17:51.597826211 +0100
++++ sphinxcontrib-issuetracker-0.11/tests/conftest.py	2023-11-25 17:49:32.277529346 +0100
+@@ -103,17 +103,6 @@ def assert_issue_xref(doctree, issue, ti
+     return reference
+ 
+ 
+-def pytest_namespace():
+-    """
+-    Add the following functions to the pytest namespace:
+-
+-    - :func:`get_index_doctree`
+-    - :func:`assert_issue_xref`
+-    """
+-    return dict((f.__name__, f) for f in
+-                (assert_issue_xref, assert_issue_pending_xref))
+-
+-
+ def pytest_addoption(parser):
+     """
+     Add --offline and --fast options to test runner.
+@@ -133,6 +122,8 @@ def pytest_configure(config):
+     """
+     config.run_fast = config.getvalue('fast')
+     config.run_offline = config.run_fast or config.getvalue('offline')
++    pytest.assert_issue_xref = assert_issue_xref
++    pytest.assert_issue_pending_xref = assert_issue_pending_xref
+ 
+ 
+ def pytest_runtest_setup(item):
+@@ -146,7 +137,8 @@ def pytest_runtest_setup(item):
+         pytest.skip('skipping slow test in fast mode')
+ 
+ 
+-def pytest_funcarg__content(request):
++ at pytest.fixture
++def content(request):
+     """
+     The content for the test document as string.
+ 
+@@ -163,13 +155,14 @@ def pytest_funcarg__content(request):
+     if content_mark:
+         return content_mark.args[0]
+     else:
+-        issue_id = request.getfuncargvalue('issue_id')
++        issue_id = request.getfixturevalue('issue_id')
+         if issue_id:
+             return '#{0}'.format(issue_id)
+     raise ValueError('no content provided')
+ 
+ 
+-def pytest_funcarg__srcdir(request):
++ at pytest.fixture
++def srcdir(request):
+     """
+     The Sphinx source directory for the current test as path.
+ 
+@@ -177,32 +170,35 @@ def pytest_funcarg__srcdir(request):
+     named ``index.rst``.  The content of this document is the return value of
+     the ``content`` funcarg.
+     """
+-    tmpdir = request.getfuncargvalue('tmpdir')
++    tmpdir = request.getfixturevalue('tmpdir')
+     srcdir = tmpdir.join('src')
+     srcdir.ensure(dir=True)
+     srcdir.join('conf.py').write(CONF_PY.encode('utf-8'), 'wb')
+-    content = request.getfuncargvalue('content')
++    content = request.getfixturevalue('content')
+     srcdir.join('index.rst').write(content.encode('utf-8'), 'wb')
+     return srcdir
+ 
+ 
+-def pytest_funcarg__outdir(request):
++ at pytest.fixture
++def outdir(request):
+     """
+     The Sphinx output directory for the current test as path.
+     """
+-    tmpdir = request.getfuncargvalue('tmpdir')
++    tmpdir = request.getfixturevalue('tmpdir')
+     return tmpdir.join('html')
+ 
+ 
+-def pytest_funcarg__doctreedir(request):
++ at pytest.fixture
++def doctreedir(request):
+     """
+     The Sphinx doctree directory for the current test as path.
+     """
+-    tmpdir = request.getfuncargvalue('tmpdir')
++    tmpdir = request.getfixturevalue('tmpdir')
+     return tmpdir.join('doctrees')
+ 
+ 
+-def pytest_funcarg__doctree(request):
++ at pytest.fixture
++def doctree(request):
+     """
+     The transformed doctree of the ``content``.
+ 
+@@ -210,12 +206,13 @@ def pytest_funcarg__doctree(request):
+ 
+        This funcarg builds the application before test execution.
+     """
+-    app = request.getfuncargvalue('app')
++    app = request.getfixturevalue('app')
+     app.build()
+     return app.env.get_doctree('index')
+ 
+ 
+-def pytest_funcarg__resolved_doctree(request):
++ at pytest.fixture
++def resolved_doctree(request):
+     """
+     The resolved doctree of the ``content``.
+ 
+@@ -223,12 +220,13 @@ def pytest_funcarg__resolved_doctree(req
+ 
+        This funcarg builds the application before test execution.
+     """
+-    app = request.getfuncargvalue('app')
++    app = request.getfixturevalue('app')
+     app.build()
+     return app.env.get_and_resolve_doctree('index', app.builder)
+ 
+ 
+-def pytest_funcarg__cache(request):
++ at pytest.fixture
++def cache(request):
+     """
+     Return the issue tracker cache.
+ 
+@@ -236,21 +234,22 @@ def pytest_funcarg__cache(request):
+ 
+        This funcarg builds the application before test execution.
+     """
+-    app = request.getfuncargvalue('app')
++    app = request.getfixturevalue('app')
+     app.build()
+     return app.env.issuetracker_cache
+ 
+ 
+-def pytest_funcarg__index_html_file(request):
++ at pytest.fixture
++def index_html_file(request):
+     """
+     Return the path of the ``index.html`` created by building.
+ 
+     This file contains the ``content`` rendered as HTML.  The ``app`` is build
+     by this funcarg to generate the ``index.html`` file.
+     """
+-    app = request.getfuncargvalue('app')
++    app = request.getfixturevalue('app')
+     app.build()
+-    outdir = request.getfuncargvalue('outdir')
++    outdir = request.getfixturevalue('outdir')
+     return outdir.join('index.html')
+ 
+ 
+@@ -267,7 +266,8 @@ def reset_global_state():
+     StandaloneHTMLBuilder.css_files.remove('_static/issuetracker.css')
+ 
+ 
+-def pytest_funcarg__confoverrides(request):
++ at pytest.fixture
++def confoverrides(request):
+     """
+     Configuration value overrides for the current test as dictionary.
+ 
+@@ -281,7 +281,8 @@ def pytest_funcarg__confoverrides(reques
+     return confoverrides_marker.kwargs if confoverrides_marker else {}
+ 
+ 
+-def pytest_funcarg__app(request):
++ at pytest.fixture
++def app(request):
+     """
+     A Sphinx application for testing.
+ 
+@@ -298,23 +299,24 @@ def pytest_funcarg__app(request):
+     build before returning it.  Otherwise you need to build explicitly in order
+     to get the output.
+     """
+-    srcdir = request.getfuncargvalue('srcdir')
+-    outdir = request.getfuncargvalue('outdir')
+-    doctreedir = request.getfuncargvalue('doctreedir')
+-    confoverrides = request.getfuncargvalue('confoverrides')
++    srcdir = request.getfixturevalue('srcdir')
++    outdir = request.getfixturevalue('outdir')
++    doctreedir = request.getfixturevalue('doctreedir')
++    confoverrides = request.getfixturevalue('confoverrides')
+     app = Sphinx(str(srcdir), str(srcdir), str(outdir), str(doctreedir),
+                  'html', confoverrides=confoverrides, status=None,
+                  warning=None, freshenv=True)
+     request.addfinalizer(reset_global_state)
+     if 'mock_lookup' in request.keywords:
+-        lookup_mock_issue = request.getfuncargvalue('mock_lookup')
++        lookup_mock_issue = request.getfixturevalue('mock_lookup')
+         app.connect(str('issuetracker-lookup-issue'), lookup_mock_issue)
+     if 'build_app' in request.keywords:
+         app.build()
+     return app
+ 
+ 
+-def pytest_funcarg__issue(request):
++ at pytest.fixture
++def issue(request):
+     """
+     An :class:`~sphinxcontrib.issuetracker.Issue` for the current test, or
+     ``None``, if no issue is to be used.
+@@ -332,7 +334,8 @@ def pytest_funcarg__issue(request):
+     return None
+ 
+ 
+-def pytest_funcarg__issue_id(request):
++ at pytest.fixture
++def issue_id(request):
+     """
+     The issue id for the current test, or ``None``, if no issue id is to be
+     used.
+@@ -341,14 +344,15 @@ def pytest_funcarg__issue_id(request):
+     the ``issue`` funcarg.  If the ``issue`` funcarg returns ``None``, this
+     funcarg also returns ``None``.
+     """
+-    issue = request.getfuncargvalue('issue')
++    issue = request.getfixturevalue('issue')
+     if issue:
+         return issue.id
+     else:
+         return None
+ 
+ 
+-def pytest_funcarg__mock_lookup(request):
++ at pytest.fixture
++def mock_lookup(request):
+     """
+     A mocked callback for the ``issuetracker-lookup-issue`` event as
+     :class:`~mock.Mock` object.
+@@ -358,7 +362,7 @@ def pytest_funcarg__mock_lookup(request)
+     issue.  Otherwise it will always return ``None``.
+     """
+     lookup_mock_issue = Mock(name='lookup_mock_issue', return_value=None)
+-    issue = request.getfuncargvalue('issue')
++    issue = request.getfixturevalue('issue')
+     if issue:
+         def lookup(app, tracker_config, issue_id):
+             return issue if issue_id == issue.id else None
+--- sphinxcontrib-issuetracker-0.11/tests/test_builtin_trackers.py.orig	2013-01-17 11:52:44.000000000 +0100
++++ sphinxcontrib-issuetracker-0.11/tests/test_builtin_trackers.py	2023-11-25 17:54:31.892572858 +0100
+@@ -65,11 +65,12 @@ def pytest_generate_tests(metafunc):
+     unable to resolve the issue.
+     """
+     if 'issue' in metafunc.funcargnames:
+-        for testname in sorted(metafunc.cls.issues):
+-            metafunc.addcall(id=testname, param=testname)
++        testnames = sorted(metafunc.cls.issues)
++        metafunc.parametrize("issue", testnames, ids=testnames)
+ 
+ 
+-def pytest_funcarg__testname(request):
++ at pytest.fixture
++def testname(request):
+     """
+     The testname as string, or ``None``, if no testname is known.
+ 
+@@ -79,7 +80,8 @@ def pytest_funcarg__testname(request):
+     return getattr(request, 'param', None)
+ 
+ 
+-def pytest_funcarg__tracker(request):
++ at pytest.fixture
++def tracker(request):
+     """
+     The tracker name as string, or ``None``, if no tracker is known.
+ 
+@@ -92,7 +94,8 @@ def pytest_funcarg__tracker(request):
+     return request.cls.name
+ 
+ 
+-def pytest_funcarg__tracker_config(request):
++ at pytest.fixture
++def tracker_config(request):
+     """
+     The tracker configuration as ``TrackerConfig`` object, or ``None``, if
+     there is no tracker configuration.
+@@ -114,7 +117,8 @@ def pytest_funcarg__tracker_config(reque
+         return cls.tracker_config.get(testname, cls.default_tracker_config)
+ 
+ 
+-def pytest_funcarg__confoverrides(request):
++ at pytest.fixture
++def confoverrides(request):
+     """
+     Confoverrides for this test as dictionary.
+ 
+@@ -126,10 +130,10 @@ def pytest_funcarg__confoverrides(reques
+     """
+     # configure tracker and enable title expansion to test the title retrieval
+     # of builtin trackers, too
+-    tracker = request.getfuncargvalue('tracker')
++    tracker = request.getfixturevalue('tracker')
+     confoverrides = dict(issuetracker=tracker,
+                          issuetracker_title_template='{issue.title}')
+-    tracker_config = request.getfuncargvalue('tracker_config')
++    tracker_config = request.getfixturevalue('tracker_config')
+     if tracker_config:
+         # bring tracker configuration in
+         confoverrides.update(issuetracker_project=tracker_config.project,
+@@ -138,11 +142,12 @@ def pytest_funcarg__confoverrides(reques
+     if request.cls:
+         confoverrides.update(request.cls.confoverrides)
+     # add overrides from the test itself
+-    confoverrides.update(request.getfuncargvalue('confoverrides'))
++    confoverrides.update(request.getfixturevalue('confoverrides'))
+     return confoverrides
+ 
+ 
+-def pytest_funcarg__issue_id(request):
++ at pytest.fixture
++def issue_id(request):
+     """
+     The issue id of this test as string, or ``None``, if this test doesn't have
+     a ``testname``.
+@@ -150,14 +155,15 @@ def pytest_funcarg__issue_id(request):
+     The issue id is taken from the issue defined in the ``issues`` attribute of
+     the class this test is defined in.
+     """
+-    testname = request.getfuncargvalue('testname')
++    testname = request.getfixturevalue('testname')
+     if not testname:
+         return None
+     issue = request.cls.issues[testname]
+     return issue.id if isinstance(issue, Issue) else issue
+ 
+ 
+-def pytest_funcarg__issue(request):
++ at pytest.fixture
++def issue(request):
+     """
+     The issue object for this test, or ``None``, if the test is expected to be
+     unable to resolve the issue.
+@@ -165,7 +171,7 @@ def pytest_funcarg__issue(request):
+     The issue id is taken from the issue defined in the ``issues`` attribute of
+     the class this test is defined in.
+     """
+-    testname = request.getfuncargvalue('testname')
++    testname = request.getfixturevalue('testname')
+     issue = request.cls.issues[testname]
+     return issue if isinstance(issue, Issue) else None
+ 
diff --git a/sphinxcontrib-issuetracker-sphinx1.7.patch b/sphinxcontrib-issuetracker-sphinx1.7.patch
new file mode 100644
index 0000000..c788a9c
--- /dev/null
+++ b/sphinxcontrib-issuetracker-sphinx1.7.patch
@@ -0,0 +1,37 @@
+--- sphinxcontrib-issuetracker-0.11/tests/conftest.py.orig	2012-06-28 17:12:27.000000000 +0200
++++ sphinxcontrib-issuetracker-0.11/tests/conftest.py	2023-11-22 19:33:45.157861467 +0100
+@@ -31,7 +31,7 @@ from mock import Mock
+ from docutils import nodes
+ from sphinx.application import Sphinx
+ from sphinx.builders.html import StandaloneHTMLBuilder
+-from sphinx.environment import SphinxStandaloneReader
++from sphinx.io import SphinxStandaloneReader
+ from sphinx.addnodes import pending_xref
+ 
+ from sphinxcontrib.issuetracker import Issue, IssueReferences
+--- sphinxcontrib-issuetracker-0.11/doc/conf.py.orig	2023-12-04 08:00:14.880894958 +0100
++++ sphinxcontrib-issuetracker-0.11/doc/conf.py	2023-12-04 08:12:05.450378806 +0100
+@@ -74,6 +74,6 @@ def parse_event(env, sig, signode):
+ 
+ 
+ def setup(app):
+-    app.add_description_unit('confval', 'confval',
++    app.add_object_type('confval', 'confval',
+                              'pair: %s; configuration value')
+-    app.add_description_unit('event', 'event', 'pair: %s; event', parse_event)
++    app.add_object_type('event', 'event', 'pair: %s; event', parse_event)
+--- sphinxcontrib-issuetracker-0.11/sphinxcontrib/issuetracker/__init__.py.orig	2012-12-26 00:52:11.000000000 +0100
++++ sphinxcontrib-issuetracker-0.11/sphinxcontrib/issuetracker/__init__.py	2023-12-04 20:53:34.626192634 +0100
+@@ -301,12 +301,10 @@ def init_transformer(app):
+ def copy_stylesheet(app, exception):
+     if app.builder.name != 'html' or exception:
+         return
+-    app.info(bold('Copying issuetracker stylesheet... '), nonl=True)
+     dest = path.join(app.builder.outdir, '_static', 'issuetracker.css')
+     source = path.join(path.abspath(path.dirname(__file__)),
+                        'issuetracker.css')
+     copyfile(source, dest)
+-    app.info('done')
+ 
+ 
+ def setup(app):
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-sphinxcontrib-issuetracker.git/commitdiff/cdce69ee0a0b394350cb25d17889fa515e97cc4e



More information about the pld-cvs-commit mailing list