Don't multiply docnames list size per each listener of env-read-docs

The env-read-docs listener function doesn't return the modified docnames list
but change the list received as parameter.
Updated the tests
This commit is contained in:
Guillem Barba 2014-09-21 19:50:46 +02:00
parent 24c5eb6e9c
commit fe077ea18b
2 changed files with 3 additions and 9 deletions

View File

@ -471,11 +471,7 @@ class BuildEnvironment:
# read all new and changed files # read all new and changed files
docnames = sorted(added | changed) docnames = sorted(added | changed)
if app: if app:
new_docnames = [] app.emit('env-read-docs', self, docnames)
for mod_docnames in app.emit('env-read-docs', self, docnames):
new_docnames.extend(mod_docnames)
if new_docnames:
docnames = new_docnames
for docname in docnames: for docname in docnames:
yield docname yield docname
self.read_doc(docname, app=app) self.read_doc(docname, app=app)

View File

@ -24,7 +24,7 @@ def setup_module():
def test_default_docnames_order(): def test_default_docnames_order():
"""By default, docnames are read in alphanumeric order""" """By default, docnames are read in alphanumeric order"""
def on_env_read_docs(app, env, docnames): def on_env_read_docs(app, env, docnames):
return docnames pass
app = TestApp(srcdir='(temp)', freshenv=True) app = TestApp(srcdir='(temp)', freshenv=True)
env = app.env env = app.env
@ -38,7 +38,6 @@ def test_inverse_docnames_order():
"""By default, docnames are read in alphanumeric order""" """By default, docnames are read in alphanumeric order"""
def on_env_read_docs(app, env, docnames): def on_env_read_docs(app, env, docnames):
docnames.reverse() docnames.reverse()
return docnames
app = TestApp(srcdir='(temp)', freshenv=True) app = TestApp(srcdir='(temp)', freshenv=True)
env = app.env env = app.env
@ -46,8 +45,7 @@ def test_inverse_docnames_order():
msg, num, it = env.update(app.config, app.srcdir, app.doctreedir, app) msg, num, it = env.update(app.config, app.srcdir, app.doctreedir, app)
read_docnames = [docname for docname in it] read_docnames = [docname for docname in it]
reversed_read_docnames = sorted(read_docnames)[:] reversed_read_docnames = sorted(read_docnames, reverse=True)
reversed_read_docnames.reverse()
assert len(read_docnames) > 1 and read_docnames == reversed_read_docnames assert len(read_docnames) > 1 and read_docnames == reversed_read_docnames
def teardown_module(): def teardown_module():