Fixed #22991 -- Prevented *.pyc files in autoreload monitoring

This fixes a regression introduced in 6d302f639.
Thanks lorinkoz at gmail.com for the report, Collin Anderson
for the initial patch and Simon Charette for the review.
This commit is contained in:
Claude Paroz 2014-07-14 21:40:55 +02:00
parent 5dcdbe95c7
commit 4e424084e6
2 changed files with 11 additions and 6 deletions

View File

@ -99,8 +99,9 @@ def gen_filenames(only_new=False):
return _cached_filenames
new_modules = module_values - _cached_modules
new_filenames = [filename.__file__ for filename in new_modules
if hasattr(filename, '__file__')]
new_filenames = clean_files(
[filename.__file__ for filename in new_modules
if hasattr(filename, '__file__')])
if not _cached_filenames and settings.USE_I18N:
# Add the names of the .mo files that can be generated
@ -119,10 +120,15 @@ def gen_filenames(only_new=False):
if filename.endswith('.mo'):
new_filenames.append(os.path.join(dirpath, filename))
_cached_modules = _cached_modules.union(new_modules)
_cached_filenames += new_filenames
if only_new:
filelist = new_filenames
return new_filenames
else:
filelist = _cached_filenames + new_filenames + _error_files
return _cached_filenames + clean_files(_error_files)
def clean_files(filelist):
filenames = []
for filename in filelist:
if not filename:
@ -133,8 +139,6 @@ def gen_filenames(only_new=False):
filename = filename[:-9] + ".py"
if os.path.exists(filename):
filenames.append(filename)
_cached_modules = _cached_modules.union(new_modules)
_cached_filenames += new_filenames
return filenames

View File

@ -81,3 +81,4 @@ class TestFilenameGenerator(TestCase):
filenames2 = list(gen_filenames(only_new=True))
self.assertEqual(len(filenames2), 1)
self.assertTrue(filenames2[0].endswith('fractions.py'))
self.assertFalse(any(f.endswith('.pyc') for f in gen_filenames()))