Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-sphinxcontrib-httpdomain for
openSUSE:Factory checked in at 2021-10-16 22:47:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinxcontrib-httpdomain (Old)
and /work/SRC/openSUSE:Factory/.python-sphinxcontrib-httpdomain.new.1890
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinxcontrib-httpdomain"
Sat Oct 16 22:47:38 2021 rev:24 rq:925737 version:1.8.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-sphinxcontrib-httpdomain/python-sphinxcontrib-httpdomain.changes
2021-07-20 15:40:07.977544157 +0200
+++
/work/SRC/openSUSE:Factory/.python-sphinxcontrib-httpdomain.new.1890/python-sphinxcontrib-httpdomain.changes
2021-10-16 22:48:23.460729878 +0200
@@ -1,0 +2,15 @@
+Sat Oct 16 19:25:22 UTC 2021 - Dirk M??ller <[email protected]>
+
+- update to 1.8.0:
+ - Make the generated routing table referencable using the 'routingtable'
+ label. [:pull:`19` by David Douard]
+ - Add support for parallel sphinx builds. Increases sphinx version
requirement to 1.6
+ [:pull:`31` by Daniel Hofmann]
+ - Remove references to the generic ``:py:obj:`` role [:pull:`54` by Stephen
Finucane]
+ - Remove imports and calls to depracated function force_decode who was
removed
+ starting with sphinx 4.0 [:pull:`49` by Florian Masy]
+ - Be explicit about what versions of Python are supports (2.7, and 3.5+).
This will
+ be the last version to support Python 2.7 and 3.5, version 2.0 will
require 3.6+.
+- remove 49-remove_force_decode.patch (upstream)
+
+-------------------------------------------------------------------
Old:
----
1.7.0.tar.gz
49-remove_force_decode.patch
New:
----
1.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinxcontrib-httpdomain.spec ++++++
--- /var/tmp/diff_new_pack.REmBp4/_old 2021-10-16 22:48:23.792730158 +0200
+++ /var/tmp/diff_new_pack.REmBp4/_new 2021-10-16 22:48:23.792730158 +0200
@@ -19,15 +19,12 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%global skip_python2 1
Name: python-sphinxcontrib-httpdomain
-Version: 1.7.0
+Version: 1.8.0
Release: 0
Summary: Sphinx domain for HTTP APIs
License: BSD-2-Clause
URL: https://github.com/sphinx-contrib/httpdomain
Source:
https://github.com/sphinx-contrib/httpdomain/archive/%{version}.tar.gz
-# PATCH-FIX-UPSTREAM 49-remove_force_decode.patch
gh#sphinx-contrib/httpdomain#49 [email protected]
-# Finally remove use of force_decode function (removed from Sphinx).
-Patch0: 49-remove_force_decode.patch
BuildRequires: %{python_module Flask >= 0.11}
BuildRequires: %{python_module Sphinx >= 1.5}
BuildRequires: %{python_module bottle >= 0.11.0}
++++++ 1.7.0.tar.gz -> 1.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/.travis.yml
new/httpdomain-1.8.0/.travis.yml
--- old/httpdomain-1.7.0/.travis.yml 2018-07-01 13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/.travis.yml 2021-09-23 15:14:40.000000000 +0200
@@ -1,11 +1,16 @@
language: python
python: [3.6, 3.5, 2.7]
+branches:
+ only:
+ - main
install:
- pip install tox-travis
script:
- tox
- '[[ "$TRAVIS_TAG" = "" ]] || [[ "$TRAVIS_TAG" = "$(python setup.py
--version)" ]]'
- |
+ env | grep TRAVIS | sort
+ set -x
if git show --format=%B --quiet
"${TRAVIS_PULL_REQUEST_SHA:-${TRAVIS_TAG:-${TRAVIS_COMMIT}}}" \
| grep '\[changelog skip\]' > /dev/null; then
echo "Skip changelog checker..."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/README.rst
new/httpdomain-1.8.0/README.rst
--- old/httpdomain-1.7.0/README.rst 2018-07-01 13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/README.rst 2021-09-23 15:14:40.000000000 +0200
@@ -9,7 +9,7 @@
:target: https://sphinxcontrib-httpdomain.readthedocs.io/
:alt: Documentation Status
-.. image:: https://travis-ci.org/sphinx-contrib/httpdomain.svg?branch=master
+.. image:: https://travis-ci.org/sphinx-contrib/httpdomain.svg?branch=main
:alt: Build Status
:target: https://travis-ci.org/sphinx-contrib/httpdomain
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/doc/changelog.rst
new/httpdomain-1.8.0/doc/changelog.rst
--- old/httpdomain-1.7.0/doc/changelog.rst 2018-07-01 13:45:36.000000000
+0200
+++ new/httpdomain-1.8.0/doc/changelog.rst 2021-09-23 15:14:40.000000000
+0200
@@ -3,6 +3,22 @@
Changelog
---------
+Version 1.8.0
+`````````````
+
+Released on September 23, 2020
+
+- Make the generated routing table referencable using the 'routingtable'
+ label. [:pull:`19` by David Douard]
+- Add support for parallel sphinx builds. Increases sphinx version requirement
to 1.6
+ [:pull:`31` by Daniel Hofmann]
+- Remove references to the generic ``:py:obj:`` role [:pull:`54` by Stephen
Finucane]
+- Remove imports and calls to depracated function force_decode who was removed
+ starting with sphinx 4.0 [:pull:`49` by Florian Masy]
+- Be explicit about what versions of Python are supports (2.7, and 3.5+). This
will
+ be the last version to support Python 2.7 and 3.5, version 2.0 will require
3.6+.
+
+
Version 1.7.0
`````````````
@@ -11,7 +27,7 @@
- Implemented ``:autoquickref:`` option that use available informations to
build a ``quickref``. [:pull:`9` by Alexandre Bonnetain]
- Improved :mod:`sphinxcontrib.autohttp.tornado` compatibility with Tornado
- 4.5 and newer. `Tornado 4.5
<http://www.tornadoweb.org/en/stable/releases/v4.5.0.html>`
+ 4.5 and newer. `Tornado 4.5
<http://www.tornadoweb.org/en/stable/releases/v4.5.0.html>`_
introduced the ``Rule`` class and made ``URLSpec`` a subclass of it, so
certain
rule attributes required updating. [:issue:`7`, :pull:`11` by Robert Zeigler]
@@ -24,7 +40,7 @@
- Remove references to the ``sphinx.util.compat`` module which was deprecated
in Sphinx 1.6 and removed in 1.7. [:issue:`5`, :pull:`4` by Jeremy Cline]
- Made :mod:`sphinxcontrib.autohttp.tornado` compatible with Tornado 4.5 and
- newer. `Tornado 4.5
<http://www.tornadoweb.org/en/stable/releases/v4.5.0.html>`
+ newer. `Tornado 4.5
<http://www.tornadoweb.org/en/stable/releases/v4.5.0.html>`_
removed the ``handlers`` attribute from ``tornado.web.Application``.
[:pull:`3` by Dave Shawley]
@@ -127,7 +143,7 @@
- Fixed broken Python 2.6 compatibility. [:oldpull:`41` by Kien Pham]
- Added missing link to six_ dependency.
-.. _six: http://pythonhosted.org/six/
+.. _six: https://six.readthedocs.io//
Version 1.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/doc/conf.py
new/httpdomain-1.8.0/doc/conf.py
--- old/httpdomain-1.7.0/doc/conf.py 2018-07-01 13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/doc/conf.py 2021-09-23 15:14:40.000000000 +0200
@@ -69,9 +69,9 @@
# built documents.
#
# The short X.Y version.
-version = '1.7'
+version = '1.8'
# The full version, including alpha/beta/rc tags.
-release = '1.7.0'
+release = '1.8.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/doc/index.rst
new/httpdomain-1.8.0/doc/index.rst
--- old/httpdomain-1.7.0/doc/index.rst 2018-07-01 13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/doc/index.rst 2021-09-23 15:14:40.000000000 +0200
@@ -1,8 +1,3 @@
-.. sphinxcontrib-httpdomain documentation master file, created by
- sphinx-quickstart on Thu Jun 2 13:27:52 2011.
- You can adapt this file completely to your liking, but it should at least
- contain the root `toctree` directive.
-
.. module:: sphinxcontrib.httpdomain
:mod:`sphinxcontrib.httpdomain` --- Sphinx domain for documenting HTTP APIs
@@ -16,7 +11,7 @@
:target: https://sphinxcontrib-httpdomain.readthedocs.io/
:alt: Documentation Status
-.. image:: https://travis-ci.org/sphinx-contrib/httpdomain.svg?branch=master
+.. image:: https://travis-ci.org/sphinx-contrib/httpdomain.svg?branch=main
:alt: Build Status
:target: https://travis-ci.org/sphinx-contrib/httpdomain
@@ -31,7 +26,7 @@
Module :mod:`sphinxcontrib.autohttp.flask`
Reflection for Flask_ webapps.
- Module :mod:`sphinxcontrib.autohttp.flaskqref`
+ Module :mod:`sphinxcontrib.autohttp.flaskqref`
Quick reference rendering with :mod:`sphinxcontrib.autohttp.flask`
Module :mod:`sphinxcontrib.autohttp.bottle`
@@ -205,6 +200,14 @@
:http:get:`/users/(int:user_id)/posts/(tag)`
+If you want to reference the generated routing table, you can use:
+
+.. sourcecode:: rst
+
+ :ref:`routingtable`
+
+.. versionadded:: 1.8.0
+
.. _directives:
@@ -797,7 +800,7 @@
This generates a quick API reference table for the route documentation
produced by :mod:`sphinxcontrib.autohttp.flask`
-To use it, both :mod:`sphinxcontrib.autohttp.flask` and
:mod:`sphinxcontrib.autohttp.flaskqref` need to be added into the extensions
+To use it, both :mod:`sphinxcontrib.autohttp.flask` and
:mod:`sphinxcontrib.autohttp.flaskqref` need to be added into the extensions
of your configuration (:file:`conf.py`) file::
extensions = ['sphinxcontrib.autohttp.flask',
@@ -809,7 +812,8 @@
Generates HTTP API references from a Flask application and places these
in a list-table with quick reference links. The usage and options are
identical
- to that of :mod:`sphinxcontrib.autohttp.flask`
+ to that of :mod:`sphinxcontrib.autohttp.flask` with the addition of the
+ ``autoquickref`` option.
Basic usage
@@ -818,8 +822,9 @@
You typically would place the quick reference table near the top of your docco
and use *.. autoflask::* further down.
-Routes that are to be included in the quick reference table require
-the following rst comment to be added to their doc string:
+Unless you use the ``autoquickref`` option, routes that are to be included in
+the quick reference table require the following rst comment to be added to
their
+doc string:
.. sourcecode:: rst
@@ -830,11 +835,15 @@
``<resource>``
This is the resource name of the operation. The name maybe the same for a
number
- of operations and enables grouping these together.
+ of operations and enables grouping these together.
``<short description>``
A brief description what the operation does.
+If you use the ``autoquickref`` option, all routes must be inside blueprints.
+The ``<resource>`` will be set to the blueprint's name, and the ``<short
+description>`` will be set to the first line of the docstring.
+
For example:
.. sourcecode:: python
@@ -844,8 +853,8 @@
"""User profile page.
.. :quickref: User; Get Profile Page
-
- my docco here
+
+ my docco here
"""
return 'hi, ' + user
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/setup.py
new/httpdomain-1.8.0/setup.py
--- old/httpdomain-1.7.0/setup.py 2018-07-01 13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/setup.py 2021-09-23 15:14:40.000000000 +0200
@@ -5,7 +5,7 @@
requires = [
- 'Sphinx >= 1.5',
+ 'Sphinx >= 1.6',
'six',
]
@@ -20,15 +20,16 @@
setup(
name='sphinxcontrib-httpdomain',
- version='1.7.0',
+ version='1.8.0',
url='https://github.com/sphinx-contrib/httpdomain',
download_url='https://pypi.org/project/sphinxcontrib-httpdomain/',
license='BSD',
- author='Hong Minhee',
- author_email='\x68\x6f\x6e\x67.minhee' '@' '\x67\x6d\x61\x69\x6c.com',
+ author='Hong Minhee, Ash Berlin-Taylor',
+ author_email='Hong Minhee <\x68\x6f\x6e\x67.minhee' '@'
'\x67\x6d\x61\x69\x6c.com>, Ash Berlin-Taylor <[email protected]>',
description='Sphinx domain for documenting HTTP APIs',
long_description=readme(),
zip_safe=False,
+ python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
@@ -40,6 +41,9 @@
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
+ 'Programming Language :: Python :: 3.9',
'Topic :: Documentation',
'Topic :: Utilities',
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/sphinxcontrib/autohttp/bottle.py
new/httpdomain-1.8.0/sphinxcontrib/autohttp/bottle.py
--- old/httpdomain-1.7.0/sphinxcontrib/autohttp/bottle.py 2018-07-01
13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/sphinxcontrib/autohttp/bottle.py 2021-09-23
15:14:40.000000000 +0200
@@ -17,7 +17,6 @@
from docutils.parsers.rst import directives, Directive
from docutils.statemachine import ViewList
-from sphinx.util import force_decode
from sphinx.util.nodes import nested_parse_with_titles
from sphinx.util.docstrings import prepare_docstring
from sphinx.pycode import ModuleAnalyzer
@@ -89,11 +88,10 @@
continue
view = target.callback
docstring = view.__doc__ or ''
- if not isinstance(docstring, six.text_type):
- analyzer = ModuleAnalyzer.for_module(view.__module__)
- docstring = force_decode(docstring, analyzer.encoding)
+
if not docstring and 'include-empty-docstring' not in self.options:
continue
+
docstring = prepare_docstring(docstring)
for line in http_directive(method, path, docstring):
yield line
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/sphinxcontrib/autohttp/flask.py
new/httpdomain-1.8.0/sphinxcontrib/autohttp/flask.py
--- old/httpdomain-1.7.0/sphinxcontrib/autohttp/flask.py 2018-07-01
13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/sphinxcontrib/autohttp/flask.py 2021-09-23
15:14:40.000000000 +0200
@@ -19,7 +19,6 @@
from docutils.parsers.rst import directives, Directive
from docutils.statemachine import ViewList
-from sphinx.util import force_decode
from sphinx.util.nodes import nested_parse_with_titles
from sphinx.util.docstrings import prepare_docstring
from sphinx.pycode import ModuleAnalyzer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/httpdomain-1.7.0/sphinxcontrib/autohttp/flask_base.py
new/httpdomain-1.8.0/sphinxcontrib/autohttp/flask_base.py
--- old/httpdomain-1.7.0/sphinxcontrib/autohttp/flask_base.py 2018-07-01
13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/sphinxcontrib/autohttp/flask_base.py 2021-09-23
15:14:40.000000000 +0200
@@ -17,7 +17,6 @@
from docutils.parsers.rst import directives, Directive
-from sphinx.util import force_decode
from sphinx.util.docstrings import prepare_docstring
from sphinx.pycode import ModuleAnalyzer
@@ -236,9 +235,6 @@
if view_func and view_func.__doc__:
view_doc = view_func.__doc__
- if not isinstance(view_doc, six.text_type):
- analyzer = ModuleAnalyzer.for_module(view.__module__)
- view_doc = force_decode(view_doc, analyzer.encoding)
if not view_doc and 'include-empty-docstring' not in self.options:
continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/sphinxcontrib/autohttp/tornado.py
new/httpdomain-1.8.0/sphinxcontrib/autohttp/tornado.py
--- old/httpdomain-1.7.0/sphinxcontrib/autohttp/tornado.py 2018-07-01
13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/sphinxcontrib/autohttp/tornado.py 2021-09-23
15:14:40.000000000 +0200
@@ -18,7 +18,6 @@
from docutils.parsers.rst import directives, Directive
from docutils.statemachine import ViewList
-from sphinx.util import force_decode
from sphinx.util.nodes import nested_parse_with_titles
from sphinx.util.docstrings import prepare_docstring
from sphinx.pycode import ModuleAnalyzer
@@ -129,11 +128,10 @@
continue
docstring = getattr(handler, method).__doc__ or ''
- #if not isinstance(docstring, unicode):
- # analyzer = ModuleAnalyzer.for_module(view.__module__)
- # docstring = force_decode(docstring, analyzer.encoding)
+
if not docstring and 'include-empty-docstring' not in self.options:
continue
+
docstring = prepare_docstring(docstring)
for line in http_directive(method, normalize_path(path),
docstring):
yield line
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/httpdomain-1.7.0/sphinxcontrib/httpdomain.py
new/httpdomain-1.8.0/sphinxcontrib/httpdomain.py
--- old/httpdomain-1.7.0/sphinxcontrib/httpdomain.py 2018-07-01
13:45:36.000000000 +0200
+++ new/httpdomain-1.8.0/sphinxcontrib/httpdomain.py 2021-09-23
15:14:40.000000000 +0200
@@ -22,18 +22,27 @@
from sphinx.roles import XRefRole
from sphinx.domains import Domain, ObjType, Index
from sphinx.directives import ObjectDescription, directives
+from sphinx.util import logging
from sphinx.util.nodes import make_refnode
from sphinx.util.docfields import GroupedField, TypedField
+from sphinx.util.docutils import Reporter, LoggingReporter
+from sphinx.locale import _
-# The env.get_doctree() lookup results in a pickle.load() call which is
-# expensive enough to dominate the runtime entirely when the number of
endpoints
-# and references is large enough. The doctrees are generated during the read-
-# phase and we can cache their lookup during the write-phase significantly
-# improving performance.
-# Currently sphinxcontrib-httpdomain does not declare to support parallel read
-# support (parallel_read_safe is the default False) so we can simply use a
-# module global to hold the cache.
-_doctree_cache = {}
+logger = logging.getLogger(__name__)
+
+
+class DummyDocument(object):
+ """Used where the signature requires a docutils.node.Document but only its
reporter
+ is being used.
+
+ Up until the current Sphinx 2.3.1 calls to env.get_doctree() (which would
get
+ us said docutils.node.Document) result in pickle.load() calls which are
expensive
+ enough to dominate the runtime entirely when the number of endpoints and
references
+ is large enough.
+ """
+
+ def __init__(self, reporter):
+ self.reporter = reporter
class DocRef(object):
@@ -55,7 +64,7 @@
In 2014, RFC2616 was replaced by multiple RFCs (7230-7237)."""
def __init__(self, section):
- url = 'http://www.w3.org/Protocols/rfc2616/rfc2616-sec{0:d}.html'
+ url = 'https://www.w3.org/Protocols/rfc2616/rfc2616-sec{0:d}.html'
url = url.format(int(section))
super(RFC2616Ref, self).__init__(url, 'sec', section)
@@ -71,7 +80,7 @@
class EventSourceRef(DocRef):
def __init__(self, section):
- url = 'http://www.w3.org/TR/eventsource/'
+ url = 'https://www.w3.org/TR/eventsource/'
super(EventSourceRef, self).__init__(url, section, '')
@@ -79,7 +88,7 @@
"""Represents a reference to W3 Cross-Origin Resource Sharing
recommendation."""
def __init__(self, name, type):
- url = 'http://www.w3.org/TR/cors/'
+ url = 'https://www.w3.org/TR/cors/'
super(CORSRef, self).__init__(url, name, '-' + type)
@@ -259,27 +268,24 @@
doc_field_types = [
TypedField('parameter', label='Parameters',
names=('param', 'parameter', 'arg', 'argument'),
- typerolename='obj', typenames=('paramtype', 'type')),
+ typenames=('paramtype', 'type')),
TypedField('jsonparameter', label='JSON Parameters',
names=('jsonparameter', 'jsonparam', 'json'),
- typerolename='obj', typenames=('jsonparamtype',
'jsontype')),
+ typenames=('jsonparamtype', 'jsontype')),
TypedField('requestjsonobject', label='Request JSON Object',
names=('reqjsonobj', 'reqjson', '<jsonobj', '<json'),
- typerolename='obj', typenames=('reqjsonobj', '<jsonobj')),
+ typenames=('reqjsonobj', '<jsonobj')),
TypedField('requestjsonarray', label='Request JSON Array of Objects',
names=('reqjsonarr', '<jsonarr'),
- typerolename='obj',
typenames=('reqjsonarrtype', '<jsonarrtype')),
TypedField('responsejsonobject', label='Response JSON Object',
names=('resjsonobj', 'resjson', '>jsonobj', '>json'),
- typerolename='obj', typenames=('resjsonobj', '>jsonobj')),
+ typenames=('resjsonobj', '>jsonobj')),
TypedField('responsejsonarray', label='Response JSON Array of Objects',
names=('resjsonarr', '>jsonarr'),
- typerolename='obj',
typenames=('resjsonarrtype', '>jsonarrtype')),
TypedField('queryparameter', label='Query Parameters',
names=('queryparameter', 'queryparam', 'qparam', 'query'),
- typerolename='obj',
typenames=('queryparamtype', 'querytype', 'qtype')),
GroupedField('formparameter', label='Form Parameters',
names=('formparameter', 'formparam', 'fparam', 'form')),
@@ -410,6 +416,9 @@
title = self.method.upper() + ' ' + title
return title, target
+ def result_nodes(self, document, env, node, is_ref):
+ return [node], []
+
class HTTPXRefMethodRole(XRefRole):
@@ -485,19 +494,19 @@
elif status is None:
return report_unknown_code()
elif code == 226:
- url = 'http://www.ietf.org/rfc/rfc3229.txt'
+ url = 'https://www.ietf.org/rfc/rfc3229.txt'
elif code == 418:
- url = 'http://www.ietf.org/rfc/rfc2324.txt'
+ url = 'https://www.ietf.org/rfc/rfc2324.txt'
elif code == 429:
- url = 'http://tools.ietf.org/html/rfc6585#section-4'
+ url = 'https://tools.ietf.org/html/rfc6585#section-4'
elif code == 449:
- url =
'http://msdn.microsoft.com/en-us/library/dd891478(v=prot.10).aspx'
+ url =
'https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wdv/83ecf19f-e0f8-4706-aae5-ba618f52f100'
elif code == 451:
- url = 'http://www.ietf.org/rfc/rfc7725.txt'
+ url = 'https://www.ietf.org/rfc/rfc7725.txt'
elif code in WEBDAV_STATUS_CODES:
- url = 'http://tools.ietf.org/html/rfc4918#section-11.%d' %
(WEBDAV_STATUS_CODES.index(code) + 1)
+ url = 'https://tools.ietf.org/html/rfc4918#section-11.%d' %
(WEBDAV_STATUS_CODES.index(code) + 1)
elif code in HTTP_STATUS_CODES:
- url = 'http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html' \
+ url = 'https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html' \
'#sec10.' + ('%d.%d' % (code // 100, 1 + code % 100))
else:
url = ''
@@ -573,17 +582,17 @@
label = 'HTTP'
object_types = {
- 'options': ObjType('options', 'options', 'obj'),
- 'head': ObjType('head', 'head', 'obj'),
- 'post': ObjType('post', 'post', 'obj'),
- 'get': ObjType('get', 'get', 'obj'),
- 'put': ObjType('put', 'put', 'obj'),
- 'patch': ObjType('patch', 'patch', 'obj'),
- 'delete': ObjType('delete', 'delete', 'obj'),
- 'trace': ObjType('trace', 'trace', 'obj'),
- 'connect': ObjType('connect', 'connect', 'obj'),
- 'copy': ObjType('copy', 'copy', 'obj'),
- 'any': ObjType('any', 'any', 'obj')
+ 'options': ObjType('options', 'options'),
+ 'head': ObjType('head', 'head'),
+ 'post': ObjType('post', 'post'),
+ 'get': ObjType('get', 'get'),
+ 'put': ObjType('put', 'put'),
+ 'patch': ObjType('patch', 'patch'),
+ 'delete': ObjType('delete', 'delete'),
+ 'trace': ObjType('trace', 'trace'),
+ 'connect': ObjType('connect', 'connect'),
+ 'copy': ObjType('copy', 'copy'),
+ 'any': ObjType('any', 'any')
}
directives = {
@@ -653,10 +662,10 @@
if role is None:
return None
- if fromdocname not in _doctree_cache:
- _doctree_cache[fromdocname] = env.get_doctree(fromdocname)
- doctree = _doctree_cache[fromdocname]
-
+ reporter = LoggingReporter(env.doc2path(fromdocname),
+ report_level=Reporter.WARNING_LEVEL,
+ halt_level=Reporter.SEVERE_LEVEL)
+ doctree = DummyDocument(reporter)
resnode = role.result_nodes(doctree, env, node, None)[0][0]
if isinstance(resnode, addnodes.pending_xref):
text = node[0][0]
@@ -691,6 +700,27 @@
anchor = http_resource_anchor(method, path)
yield (path, path, method, info[0], anchor, 1)
+ def merge_domaindata(self, docnames, otherdata):
+ """Merge domaindata from the workers/chunks when they return.
+
+ Called once per parallelization chunk.
+ Only used when sphinx is run in parallel mode.
+
+ :param docnames: a Set of the docnames that are part of the current
chunk to merge
+ :param otherdata: the partial data calculated by the current chunk
+ """
+ for typ in self.object_types:
+ self_data = self.data[typ]
+ other_data = otherdata[typ]
+ for entry_point_name, entry_point_data in other_data.items():
+ if entry_point_name in self_data:
+ logger.warning('duplicate HTTP %s method definition %s in
%s, '
+ 'other instance is in %s' %
+ (typ, entry_point_name,
+
self.env.doc2path(other_data[entry_point_name][0]),
+
self.env.doc2path(self_data[entry_point_name][0])))
+ else:
+ self_data[entry_point_name] = entry_point_data
class HTTPLexer(RegexLexer):
"""Lexer for HTTP sessions."""
@@ -757,8 +787,16 @@
}
+def register_routingtable_as_label(app, document):
+ labels = app.env.domaindata['std']['labels']
+ labels['routingtable'] = 'http-routingtable', '', _('HTTP Routing Table')
+ anonlabels = app.env.domaindata['std']['anonlabels']
+ anonlabels['routingtable'] = 'http-routingtable', ''
+
+
def setup(app):
app.add_domain(HTTPDomain)
+ app.connect('doctree-read', register_routingtable_as_label)
try:
get_lexer_by_name('http')
@@ -769,3 +807,5 @@
app.add_config_value('http_index_localname', 'HTTP Routing Table', True)
app.add_config_value('http_strict_mode', True, None)
app.add_config_value('http_headers_ignore_prefixes', ['X-'], None)
+ return {"parallel_read_safe": True,
+ "parallel_write_safe": True}