Better error handling and nice return codes
This commit is contained in:
parent
8bbea2254f
commit
0fdaf3917e
19
verdandi.py
19
verdandi.py
|
@ -3,6 +3,7 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import SocketServer
|
import SocketServer
|
||||||
|
import traceback
|
||||||
|
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
@ -20,7 +21,7 @@ class DirectoryObserver(FileSystemEventHandler):
|
||||||
|
|
||||||
def on_any_event(self, event):
|
def on_any_event(self, event):
|
||||||
print "File changed: %s" % event.src_path
|
print "File changed: %s" % event.src_path
|
||||||
self._verdandi.generate_output()
|
self._verdandi.generate_output(False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -68,16 +69,25 @@ class Verdandi(object):
|
||||||
|
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.generate_output()
|
|
||||||
|
|
||||||
if len(sys.argv) > 1 and sys.argv[1] == 'serve':
|
if len(sys.argv) > 1 and sys.argv[1] == 'serve':
|
||||||
|
self.generate_output(False)
|
||||||
self.serve()
|
self.serve()
|
||||||
|
else:
|
||||||
|
self.generate_output()
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
def generate_output(self):
|
def generate_output(self, fail_on_exception = True):
|
||||||
|
try:
|
||||||
self.pass_messages()
|
self.pass_messages()
|
||||||
self.collect_assets()
|
self.collect_assets()
|
||||||
self.render()
|
self.render()
|
||||||
|
except Exception:
|
||||||
|
print "[Error] I have a bad feeling about this ..."
|
||||||
|
traceback.print_exc()
|
||||||
|
if fail_on_exception:
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def serve(self):
|
def serve(self):
|
||||||
|
@ -106,3 +116,4 @@ class Verdandi(object):
|
||||||
observer.join()
|
observer.join()
|
||||||
|
|
||||||
print "Be vigilant!"
|
print "Be vigilant!"
|
||||||
|
sys.exit(0)
|
||||||
|
|
Loading…
Reference in New Issue