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 - dmueller@suse.com + +- 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: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org