Hello community,
here is the log from the commit of package python-sphinxcontrib-httpdomain for
openSUSE:Factory checked in at 2013-05-16 11:29:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinxcontrib-httpdomain (Old)
and /work/SRC/openSUSE:Factory/.python-sphinxcontrib-httpdomain.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinxcontrib-httpdomain"
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-sphinxcontrib-httpdomain/python-sphinxcontrib-httpdomain.changes
2012-11-28 14:34:54.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.python-sphinxcontrib-httpdomain.new/python-sphinxcontrib-httpdomain.changes
2013-05-16 11:29:37.000000000 +0200
@@ -1,0 +2,13 @@
+Mon May 13 09:01:41 UTC 2013 - [email protected]
+
+- update to 1.1.8:
+ * Added better support for docstrings in flask.views.MethodView
+ * Added jsonparameter along side form and query parameters.
+ * Fixed issue with undefined Value and umethod variables.
+ * Now http Pygments lexer can Handle continuous header lines well.
+ * Added undoc-blueprints flag option to autoflask directive.
+ * Fixed issue #29, a bug that autoflask directive raised
+ UnicodeDecodeError when it contains non-ASCII characters.
+ * Added endpoints flag option to autoflask directive.
+
+-------------------------------------------------------------------
Old:
----
sphinxcontrib-httpdomain-1.1.7.tar.gz
New:
----
sphinxcontrib-httpdomain-1.1.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinxcontrib-httpdomain.spec ++++++
--- /var/tmp/diff_new_pack.HY8eLw/_old 2013-05-16 11:29:37.000000000 +0200
+++ /var/tmp/diff_new_pack.HY8eLw/_new 2013-05-16 11:29:37.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-sphinxcontrib-httpdomain
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -13,15 +13,16 @@
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
Name: python-sphinxcontrib-httpdomain
-Version: 1.1.7
+Version: 1.1.8
Release: 0
-License: BSD-2-Clause
Summary: Sphinx domain for HTTP APIs
-Url: http://bitbucket.org/birkenfeld/sphinx-contrib
+License: BSD-2-Clause
Group: Development/Languages/Python
+Url: http://bitbucket.org/birkenfeld/sphinx-contrib
Source:
http://pypi.python.org/packages/source/s/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-%{version}.tar.gz
BuildRequires: python-devel
BuildRequires: python-distribute
@@ -52,7 +53,7 @@
%files
%defattr(-,root,root,-)
-%doc LICENSE README
+%doc LICENSE README.rst
%{python_sitelib}/*
%changelog
++++++ sphinxcontrib-httpdomain-1.1.7.tar.gz ->
sphinxcontrib-httpdomain-1.1.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinxcontrib-httpdomain-1.1.7/PKG-INFO
new/sphinxcontrib-httpdomain-1.1.8/PKG-INFO
--- old/sphinxcontrib-httpdomain-1.1.7/PKG-INFO 2012-03-28 08:15:37.000000000
+0200
+++ new/sphinxcontrib-httpdomain-1.1.8/PKG-INFO 2013-04-10 10:36:09.000000000
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: sphinxcontrib-httpdomain
-Version: 1.1.7
+Version: 1.1.8
Summary: Sphinx domain for HTTP APIs
Home-page: http://bitbucket.org/birkenfeld/sphinx-contrib
Author: Hong Minhee
@@ -13,7 +13,7 @@
You can find the documentation from the following URL:
- http://packages.python.org/sphinxcontrib-httpdomain/
+ http://pythonhosted.org/sphinxcontrib-httpdomain/
Platform: any
Classifier: Development Status :: 4 - Beta
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinxcontrib-httpdomain-1.1.7/README
new/sphinxcontrib-httpdomain-1.1.8/README
--- old/sphinxcontrib-httpdomain-1.1.7/README 2012-03-28 08:10:58.000000000
+0200
+++ new/sphinxcontrib-httpdomain-1.1.8/README 1970-01-01 01:00:00.000000000
+0100
@@ -1,10 +0,0 @@
-sphinxcontrib.httpdomain --- Documenting RESTful HTTP APIs
-==========================================================
-
-This contrib extension, sphinxcontrib.httpdomain, provides a Sphinx domain
-for describing RESTful HTTP APIs.
-
-You can find the documentation from the following URL:
-
-http://packages.python.org/sphinxcontrib-httpdomain/
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinxcontrib-httpdomain-1.1.7/README.rst
new/sphinxcontrib-httpdomain-1.1.8/README.rst
--- old/sphinxcontrib-httpdomain-1.1.7/README.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/sphinxcontrib-httpdomain-1.1.8/README.rst 2013-04-10
10:32:54.000000000 +0200
@@ -0,0 +1,9 @@
+sphinxcontrib.httpdomain --- Documenting RESTful HTTP APIs
+==========================================================
+
+This contrib extension, sphinxcontrib.httpdomain, provides a Sphinx domain
+for describing RESTful HTTP APIs.
+
+You can find the documentation from the following URL:
+
+http://pythonhosted.org/sphinxcontrib-httpdomain/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinxcontrib-httpdomain-1.1.7/setup.py
new/sphinxcontrib-httpdomain-1.1.8/setup.py
--- old/sphinxcontrib-httpdomain-1.1.7/setup.py 2012-03-28 08:12:21.000000000
+0200
+++ new/sphinxcontrib-httpdomain-1.1.8/setup.py 2013-04-10 10:33:20.000000000
+0200
@@ -8,14 +8,14 @@
You can find the documentation from the following URL:
-http://packages.python.org/sphinxcontrib-httpdomain/
+http://pythonhosted.org/sphinxcontrib-httpdomain/
'''
requires = ['Sphinx>=1.0']
setup(
name='sphinxcontrib-httpdomain',
- version='1.1.7',
+ version='1.1.8',
url='http://bitbucket.org/birkenfeld/sphinx-contrib',
download_url='http://pypi.python.org/pypi/sphinxcontrib-httpdomain',
license='BSD',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinxcontrib-httpdomain-1.1.7/sphinxcontrib/autohttp/flask.py
new/sphinxcontrib-httpdomain-1.1.8/sphinxcontrib/autohttp/flask.py
--- old/sphinxcontrib-httpdomain-1.1.7/sphinxcontrib/autohttp/flask.py
2012-03-28 08:10:58.000000000 +0200
+++ new/sphinxcontrib-httpdomain-1.1.8/sphinxcontrib/autohttp/flask.py
2013-04-10 10:32:54.000000000 +0200
@@ -19,9 +19,11 @@
from docutils import nodes
from docutils.statemachine import ViewList
+from sphinx.util import force_decode
from sphinx.util.compat import Directive
from sphinx.util.nodes import nested_parse_with_titles
from sphinx.util.docstrings import prepare_docstring
+from sphinx.pycode import ModuleAnalyzer
from sphinxcontrib import httpdomain
@@ -76,11 +78,22 @@
has_content = True
required_arguments = 1
- option_spec = {'undoc-endpoints': str,
+ option_spec = {'endpoints': str,
+ 'undoc-endpoints': str,
+ 'undoc-blueprints': str,
'undoc-static': str,
'include-empty-docstring': str}
@property
+ def endpoints(self):
+ try:
+ endpoints = re.split(r'\s*,\s*', self.options['endpoints'])
+ except KeyError:
+ # means 'endpoints' option was missing
+ return None
+ return frozenset(endpoints)
+
+ @property
def undoc_endpoints(self):
try:
endpoints = re.split(r'\s*,\s*', self.options['undoc-endpoints'])
@@ -88,9 +101,26 @@
return frozenset()
return frozenset(endpoints)
+ @property
+ def undoc_blueprints(self):
+ try:
+ blueprints = re.split(r'\s*,\s*', self.options['undoc-blueprints'])
+ except KeyError:
+ return frozenset()
+ return frozenset(blueprints)
+
def make_rst(self):
app = import_object(self.arguments[0])
for method, path, endpoint in get_routes(app):
+ try:
+ blueprint, endpoint_internal = endpoint.split('.')
+ if blueprint in self.undoc_blueprints:
+ continue
+ except ValueError:
+ pass # endpoint is not within a blueprint
+
+ if self.endpoints and endpoint not in self.endpoints:
+ continue
if endpoint in self.undoc_endpoints:
continue
try:
@@ -102,6 +132,13 @@
continue
view = app.view_functions[endpoint]
docstring = view.__doc__ or ''
+ if hasattr(view, 'view_class'):
+ meth_func = getattr(view.view_class, method.lower(), None)
+ if meth_func and meth_func.__doc__:
+ docstring = meth_func.__doc__
+ 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)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinxcontrib-httpdomain-1.1.7/sphinxcontrib/httpdomain.py
new/sphinxcontrib-httpdomain-1.1.8/sphinxcontrib/httpdomain.py
--- old/sphinxcontrib-httpdomain-1.1.7/sphinxcontrib/httpdomain.py
2012-03-28 08:10:58.000000000 +0200
+++ new/sphinxcontrib-httpdomain-1.1.8/sphinxcontrib/httpdomain.py
2013-04-10 10:32:54.000000000 +0200
@@ -148,6 +148,8 @@
names=('queryparameter', 'queryparam', 'qparam',
'query')),
GroupedField('formparameter', label='Form Parameters',
names=('formparameter', 'formparam', 'fparam', 'form')),
+ GroupedField('jsonparameter', label='Json Parameters',
+ names=('jsonparameter', 'jsonparam', 'json')),
GroupedField('statuscode', label='Status Codes',
rolename='statuscode',
names=('statuscode', 'status', 'code'))
@@ -246,7 +248,7 @@
try:
code, status = re.split(r'\s', text.strip(), 1)
code = int(code)
- except Value:
+ except ValueError:
msg = inliner.reporter.error(
'HTTP status code must be an integer (e.g. `200`) or '
'start with an integer (e.g. `200 OK`); %r is invalid' %
@@ -278,7 +280,7 @@
options={}, content=[]):
method = str(text).lower()
if method not in DOCREFS:
- msg = inliner.reporter.error('%s is not valid HTTP method' % umethod,
+ msg = inliner.reporter.error('%s is not valid HTTP method' % method,
lineno=lineno)
prb = inliner.problematic(rawtext, rawtext, msg)
return [prb], [msg]
@@ -442,6 +444,11 @@
yield match.start(5), Literal, match.group(5)
yield match.start(6), Text, match.group(6)
+ def continuous_header_callback(self, match):
+ yield match.start(1), Text, match.group(1)
+ yield match.start(2), Literal, match.group(2)
+ yield match.start(3), Text, match.group(3)
+
def content_callback(self, match):
content_type = getattr(self, 'content_type', None)
content = match.group()
@@ -472,6 +479,7 @@
],
'headers': [
(r'([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|$)', header_callback),
+ (r'([\t ]+)([^\r\n]+)(\r?\n|$)', continuous_header_callback),
(r'\r?\n', Text, 'content')
],
'content': [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinxcontrib-httpdomain-1.1.7/sphinxcontrib_httpdomain.egg-info/PKG-INFO
new/sphinxcontrib-httpdomain-1.1.8/sphinxcontrib_httpdomain.egg-info/PKG-INFO
---
old/sphinxcontrib-httpdomain-1.1.7/sphinxcontrib_httpdomain.egg-info/PKG-INFO
2012-03-28 08:15:37.000000000 +0200
+++
new/sphinxcontrib-httpdomain-1.1.8/sphinxcontrib_httpdomain.egg-info/PKG-INFO
2013-04-10 10:36:09.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: sphinxcontrib-httpdomain
-Version: 1.1.7
+Version: 1.1.8
Summary: Sphinx domain for HTTP APIs
Home-page: http://bitbucket.org/birkenfeld/sphinx-contrib
Author: Hong Minhee
@@ -13,7 +13,7 @@
You can find the documentation from the following URL:
- http://packages.python.org/sphinxcontrib-httpdomain/
+ http://pythonhosted.org/sphinxcontrib-httpdomain/
Platform: any
Classifier: Development Status :: 4 - Beta
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinxcontrib-httpdomain-1.1.7/sphinxcontrib_httpdomain.egg-info/SOURCES.txt
new/sphinxcontrib-httpdomain-1.1.8/sphinxcontrib_httpdomain.egg-info/SOURCES.txt
---
old/sphinxcontrib-httpdomain-1.1.7/sphinxcontrib_httpdomain.egg-info/SOURCES.txt
2012-03-28 08:15:37.000000000 +0200
+++
new/sphinxcontrib-httpdomain-1.1.8/sphinxcontrib_httpdomain.egg-info/SOURCES.txt
2013-04-10 10:36:09.000000000 +0200
@@ -1,6 +1,6 @@
LICENSE
MANIFEST.in
-README
+README.rst
setup.py
sphinxcontrib/__init__.py
sphinxcontrib/httpdomain.py
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]