Fixing some settings stuff
This commit is contained in:
@@ -398,7 +398,7 @@ dir but you forgot to put quotes around the directory, since it contains spaces.
|
||||
render = render_things[render_name]
|
||||
logging.debug("Found the following render thing: %r", render)
|
||||
|
||||
w = world.World(render['world_path'])
|
||||
w = world.World(render['worldpath'])
|
||||
|
||||
# if no dimension has been specified, just use the first one
|
||||
# TODO support the case where a different dimension is specified
|
||||
|
||||
@@ -276,6 +276,7 @@ class MultiWorldParser(object):
|
||||
definition = settingsDefinition.render[key]
|
||||
try:
|
||||
val = definition['validator'](world[key])
|
||||
world[key] = val
|
||||
except Exception as e:
|
||||
print "Error: %r" % e
|
||||
next
|
||||
|
||||
@@ -17,19 +17,19 @@ from settingsValidators import *
|
||||
# note that all defaults go thought the validator
|
||||
|
||||
render = {
|
||||
"world_path": dict(required=True, validator=validateWorldPath),
|
||||
"worldpath": dict(required=True, validator=validateWorldPath),
|
||||
"rendermode": dict(required=False, validator=validateRenderMode),
|
||||
"north-direction": dict(required=False, validator=validateNorthDirection),
|
||||
"render-range": dict(required=False, validator=validateRenderRange),
|
||||
"force-render": dict(required=False, validator=bool),
|
||||
"stochastic-render": dict(required=False, validator=validateStochastic),
|
||||
"northdirection": dict(required=False, validator=validateNorthDirection),
|
||||
"renderrange": dict(required=False, validator=validateRenderRange),
|
||||
"forcerender": dict(required=False, validator=bool),
|
||||
"stochasticrender": dict(required=False, validator=validateStochastic),
|
||||
"imgformat": dict(required=False, validator=validateImgFormat, default="png"),
|
||||
"imgquality": dict(required=False, validator=validateImgQuality),
|
||||
"bg-color": dict(required=False, validator=validateBGColor),
|
||||
"optimize-img": dict(required=False, validator=validateOptImg),
|
||||
"no-markers": dict(required=False, validator=bool),
|
||||
"texture-path": dict(required=False, validator=validateTexturePath),
|
||||
"bgcolor": dict(required=False, validator=validateBGColor, default="1a1a1a"),
|
||||
"optimizeimg": dict(required=False, validator=validateOptImg, default=0),
|
||||
"nomarkers": dict(required=False, validator=bool),
|
||||
"texturepath": dict(required=False, validator=validateTexturePath),
|
||||
"renderchecks": dict(required=False, validator=int, default=0),
|
||||
"rerender_prob": dict(required=False, validator=float, default=0),
|
||||
"rerenderprob": dict(required=False, validator=float, default=0),
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,19 @@ def validateImgQuality(qual):
|
||||
return intqual
|
||||
|
||||
def validateBGColor(color):
|
||||
raise NotImplementedError("bg color")
|
||||
"""BG color must be an HTML color, with an option leading # (hash symbol)
|
||||
returns an (r,b,g) 3-tuple
|
||||
"""
|
||||
if color[0] != "#":
|
||||
color = "#%s" % color
|
||||
if len(color) != 7:
|
||||
raise ValidationException("%r is not a valid color. Expected HTML color syntax (i.e. #RRGGBB)" % color)
|
||||
|
||||
r = int(color[1:3], 16)
|
||||
g = int(color[3:5], 16)
|
||||
b = int(color[5:7], 16)
|
||||
return (r,g,b)
|
||||
|
||||
|
||||
def validateOptImg(opt):
|
||||
return bool(opt)
|
||||
|
||||
@@ -529,7 +529,7 @@ class TileSet(object):
|
||||
stime = time.time()
|
||||
|
||||
rendercheck = self.options['renderchecks']
|
||||
rerender_prob = self.options['rerender_prob']
|
||||
rerender_prob = self.options['rerenderprob']
|
||||
|
||||
# XXX TODO:
|
||||
last_rendertime = 0 # TODO
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
world_path="test/data/settings/test_world"
|
||||
worldpath="test/data/settings/test_world"
|
||||
rendermode = "normal"
|
||||
|
||||
render["world"] = {
|
||||
"rendermode": "normal",
|
||||
"north-direction": ["upper-left"],
|
||||
"northdirection": ["upper-left"],
|
||||
}
|
||||
|
||||
render["otherworld"] = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
render["world"] = {
|
||||
"world_path": "test/data/settings/test_world",
|
||||
"worldpath": "test/data/settings/test_world",
|
||||
"rendermode": "bad_rendermode",
|
||||
"north-direction": ["upper-left"],
|
||||
"northdirection": ["upper-left"],
|
||||
}
|
||||
|
||||
@@ -14,6 +14,8 @@ class SettingsTest(unittest.TestCase):
|
||||
s.validate()
|
||||
things = s.get_render_things()
|
||||
# no exceptions so far. that's good
|
||||
self.assertEquals(things['world']['bgcolor'], (26,26,26))
|
||||
|
||||
def test_rendermode_validation(self):
|
||||
s = configParser.MultiWorldParser("test/data/settings/settings_test_rendermode.py")
|
||||
s.parse()
|
||||
|
||||
Reference in New Issue
Block a user