[1.7.x] Fixed #22991 -- Prevented *.pyc files in autoreload monitoring
This fixes a regression introduced in6d302f639
. Thanks lorinkoz at gmail.com for the report, Collin Anderson for the initial patch and Simon Charette for the review. Backport of4e424084e
from master.
This commit is contained in:
parent
6d5238f6c8
commit
f2011e21a2
|
@ -96,8 +96,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
|
||||
|
@ -116,10 +117,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:
|
||||
|
@ -130,8 +136,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
|
||||
|
||||
|
||||
|
|
|
@ -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()))
|
||||
|
|
Loading…
Reference in New Issue