From 88dbf84c3e5f01dc9352240a75aa3c31438604cd Mon Sep 17 00:00:00 2001 From: Brendan Maguire Date: Fri, 10 Oct 2014 16:32:08 +0100 Subject: [PATCH] Fixed some issues around the auto_import_cache * fixes #361 * pymode_rope_autoimport_modules was never coming into effect during RopeContext __init__ * rope.regenerate now generates the cache for the entire project instead of just one file * StringIO was been imported as a class, but been used as a module --- pymode/rope.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pymode/rope.py b/pymode/rope.py index f4190943..01e153e4 100644 --- a/pymode/rope.py +++ b/pymode/rope.py @@ -221,7 +221,7 @@ def regenerate(): """ Clear cache. """ with RopeContext() as ctx: ctx.project.pycore._invalidate_resource_cache(ctx.resource) # noqa - ctx.importer.generate_cache(resources=[ctx.resource]) + ctx.importer.generate_cache() ctx.project.sync() @@ -372,7 +372,7 @@ def __init__(self, path, project_path): if os.path.exists("%s/__init__.py" % project_path): sys.path.append(project_path) - if self.options.get('autoimport') == '1': + if self.options.get('autoimport'): self.generate_autoimport_cache() env.debug('Context init', project_path) @@ -409,8 +409,8 @@ def _update_cache(importer, modules=None): importer.generate_modules_cache(modules) importer.project.sync() - sys.stdout, stdout_ = StringIO.StringIO(), sys.stdout - sys.stderr, stderr_ = StringIO.StringIO(), sys.stderr + sys.stdout, stdout_ = StringIO(), sys.stdout + sys.stderr, stderr_ = StringIO(), sys.stderr process = multiprocessing.Process(target=_update_cache, args=( self.importer, modules)) process.start()