diff options
Diffstat (limited to 'sphinx/ext/coverage.py')
-rw-r--r-- | sphinx/ext/coverage.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/sphinx/ext/coverage.py b/sphinx/ext/coverage.py index e9798817b..5e2cca25e 100644 --- a/sphinx/ext/coverage.py +++ b/sphinx/ext/coverage.py @@ -13,9 +13,12 @@ import re import glob import inspect -import cPickle as pickle from os import path +from six import iteritems +from six.moves import cPickle as pickle + +import sphinx from sphinx.builders import Builder @@ -52,7 +55,7 @@ class CoverageBuilder(Builder): self.warn('invalid regex %r in coverage_c_regexes' % exp) self.c_ignorexps = {} - for (name, exps) in self.config.coverage_ignore_c_items.iteritems(): + for (name, exps) in iteritems(self.config.coverage_ignore_c_items): self.c_ignorexps[name] = compile_regex_list( 'coverage_ignore_c_items', exps, self.warn) self.mod_ignorexps = compile_regex_list( @@ -81,7 +84,7 @@ class CoverageBuilder(Builder): # Fetch all the info from the header files c_objects = self.env.domaindata['c']['objects'] for filename in self.c_sourcefiles: - undoc = [] + undoc = set() f = open(filename, 'r') try: for line in f: @@ -94,7 +97,7 @@ class CoverageBuilder(Builder): if exp.match(name): break else: - undoc.append((key, name)) + undoc.add((key, name)) continue finally: f.close() @@ -109,9 +112,9 @@ class CoverageBuilder(Builder): write_header(op, 'Undocumented C API elements', '=') op.write('\n') - for filename, undoc in self.c_undoc.iteritems(): + for filename, undoc in iteritems(self.c_undoc): write_header(op, filename) - for typ, name in undoc: + for typ, name in sorted(undoc): op.write(' * %-50s [%9s]\n' % (name, typ)) op.write('\n') finally: @@ -134,7 +137,7 @@ class CoverageBuilder(Builder): try: mod = __import__(mod_name, fromlist=['foo']) - except ImportError, err: + except ImportError as err: self.warn('module %s could not be imported: %s' % (mod_name, err)) self.py_undoc[mod_name] = {'error': err} @@ -211,8 +214,7 @@ class CoverageBuilder(Builder): try: if self.config.coverage_write_headline: write_header(op, 'Undocumented Python objects', '=') - keys = self.py_undoc.keys() - keys.sort() + keys = sorted(self.py_undoc.keys()) for name in keys: undoc = self.py_undoc[name] if 'error' in undoc: @@ -229,7 +231,7 @@ class CoverageBuilder(Builder): if undoc['classes']: op.write('Classes:\n') for name, methods in sorted( - undoc['classes'].iteritems()): + iteritems(undoc['classes'])): if not methods: op.write(' * %s\n' % name) else: @@ -263,3 +265,4 @@ def setup(app): app.add_config_value('coverage_ignore_c_items', {}, False) app.add_config_value('coverage_write_headline', True, False) app.add_config_value('coverage_skip_undoc_in_source', False, False) + return {'version': sphinx.__version__, 'parallel_read_safe': True} |