fix configurable observer
This commit is contained in:
@@ -46,6 +46,8 @@
|
|||||||
from settingsValidators import *
|
from settingsValidators import *
|
||||||
import util
|
import util
|
||||||
from observer import ProgressBarObserver, LoggingObserver
|
from observer import ProgressBarObserver, LoggingObserver
|
||||||
|
import platform
|
||||||
|
import sys
|
||||||
|
|
||||||
# renders is a dictionary mapping strings to dicts. These dicts describe the
|
# renders is a dictionary mapping strings to dicts. These dicts describe the
|
||||||
# configuration for that render. Therefore, the validator for 'renders' is set
|
# configuration for that render. Therefore, the validator for 'renders' is set
|
||||||
@@ -96,6 +98,8 @@ processes = Setting(required=True, validator=int, default=-1)
|
|||||||
memcached_host = Setting(required=False, validator=str, default=None)
|
memcached_host = Setting(required=False, validator=str, default=None)
|
||||||
|
|
||||||
if platform.system() == 'Windows' or not sys.stderr.isatty():
|
if platform.system() == 'Windows' or not sys.stderr.isatty():
|
||||||
observer = LoggingObserver()
|
obs = LoggingObserver()
|
||||||
else:
|
else:
|
||||||
observer = ProgressBarObserver()
|
obs = ProgressBarObserver()
|
||||||
|
|
||||||
|
observer = Setting(required=True, validator=validateObserver, default=obs)
|
||||||
|
|||||||
@@ -182,6 +182,12 @@ def validateCrop(value):
|
|||||||
value[1],value[3] = value[3],value[1]
|
value[1],value[3] = value[3],value[1]
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
def validateObserver(observer):
|
||||||
|
if all(map(lambda m: hasattr(observer, m), ['start', 'add', 'update', 'finish'])):
|
||||||
|
return observer
|
||||||
|
else:
|
||||||
|
raise ValidationException("%r does not look like an observer" % repr(observer))
|
||||||
|
|
||||||
def make_dictValidator(keyvalidator, valuevalidator):
|
def make_dictValidator(keyvalidator, valuevalidator):
|
||||||
"""Compose and return a dict validator -- a validator that validates each
|
"""Compose and return a dict validator -- a validator that validates each
|
||||||
key and value in a dictionary.
|
key and value in a dictionary.
|
||||||
|
|||||||
Reference in New Issue
Block a user