Better error handling and nice return codes

This commit is contained in:
Sebastian 2016-11-17 13:57:00 +01:00
parent 8bbea2254f
commit 0fdaf3917e
1 changed files with 18 additions and 7 deletions

View File

@ -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):
self.pass_messages() try:
self.collect_assets() self.pass_messages()
self.render() self.collect_assets()
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)