mirror of
https://github.com/django/django.git
synced 2025-04-22 00:04:43 +00:00
[1.7.x] 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. Backport of 4e424084e 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…
x
Reference in New Issue
Block a user