mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Merge pull request #862 from avaris/emacs-autoreload
ignore emacs lock files and exception handling for watchers
This commit is contained in:
commit
30c2490f88
4 changed files with 18 additions and 8 deletions
|
|
@ -353,8 +353,6 @@ def main():
|
|||
|
||||
pelican.run()
|
||||
|
||||
time.sleep(.5) # sleep to avoid cpu load
|
||||
|
||||
except KeyboardInterrupt:
|
||||
logger.warning("Keyboard interrupt, quitting.")
|
||||
break
|
||||
|
|
@ -366,6 +364,10 @@ def main():
|
|||
logger.warning(
|
||||
'Caught exception "{0}". Reloading.'.format(e))
|
||||
|
||||
finally:
|
||||
time.sleep(.5) # sleep to avoid cpu load
|
||||
|
||||
|
||||
else:
|
||||
if next(watchers['content']) is None:
|
||||
logger.warning('No valid files found in content.')
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ _DEFAULT_CONFIG = {'PATH': os.curdir,
|
|||
'PLUGIN_PATH': '',
|
||||
'PLUGINS': [],
|
||||
'TEMPLATE_PAGES': {},
|
||||
'IGNORE_FILES': []
|
||||
'IGNORE_FILES': ['.#*']
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -464,7 +464,10 @@ def folder_watcher(path, extensions, ignores=[]):
|
|||
for f in files:
|
||||
if (f.endswith(tuple(extensions)) and
|
||||
not any(fnmatch.fnmatch(f, ignore) for ignore in ignores)):
|
||||
yield os.stat(os.path.join(root, f)).st_mtime
|
||||
try:
|
||||
yield os.stat(os.path.join(root, f)).st_mtime
|
||||
except OSError as e:
|
||||
logger.warning('Caught Exception: {}'.format(e))
|
||||
|
||||
LAST_MTIME = 0
|
||||
while True:
|
||||
|
|
@ -484,7 +487,12 @@ def file_watcher(path):
|
|||
LAST_MTIME = 0
|
||||
while True:
|
||||
if path:
|
||||
mtime = os.stat(path).st_mtime
|
||||
try:
|
||||
mtime = os.stat(path).st_mtime
|
||||
except OSError as e:
|
||||
logger.warning('Caught Exception: {}'.format(e))
|
||||
continue
|
||||
|
||||
if mtime > LAST_MTIME:
|
||||
LAST_MTIME = mtime
|
||||
yield True
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue