Merge remote-tracking branch 'origin/rewrite' into rewrite
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]
|
render = render_things[render_name]
|
||||||
logging.debug("Found the following render thing: %r", render)
|
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
|
# if no dimension has been specified, just use the first one
|
||||||
# TODO support the case where a different dimension is specified
|
# TODO support the case where a different dimension is specified
|
||||||
|
|||||||
@@ -276,6 +276,7 @@ class MultiWorldParser(object):
|
|||||||
definition = settingsDefinition.render[key]
|
definition = settingsDefinition.render[key]
|
||||||
try:
|
try:
|
||||||
val = definition['validator'](world[key])
|
val = definition['validator'](world[key])
|
||||||
|
world[key] = val
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print "Error: %r" % e
|
print "Error: %r" % e
|
||||||
next
|
next
|
||||||
|
|||||||
@@ -17,19 +17,19 @@ from settingsValidators import *
|
|||||||
# note that all defaults go thought the validator
|
# note that all defaults go thought the validator
|
||||||
|
|
||||||
render = {
|
render = {
|
||||||
"world_path": dict(required=True, validator=validateWorldPath),
|
"worldpath": dict(required=True, validator=validateWorldPath),
|
||||||
"rendermode": dict(required=False, validator=validateRenderMode),
|
"rendermode": dict(required=False, validator=validateRenderMode),
|
||||||
"north-direction": dict(required=False, validator=validateNorthDirection),
|
"northdirection": dict(required=False, validator=validateNorthDirection),
|
||||||
"render-range": dict(required=False, validator=validateRenderRange),
|
"renderrange": dict(required=False, validator=validateRenderRange),
|
||||||
"force-render": dict(required=False, validator=bool),
|
"forcerender": dict(required=False, validator=bool),
|
||||||
"stochastic-render": dict(required=False, validator=validateStochastic),
|
"stochasticrender": dict(required=False, validator=validateStochastic),
|
||||||
"imgformat": dict(required=False, validator=validateImgFormat, default="png"),
|
"imgformat": dict(required=False, validator=validateImgFormat, default="png"),
|
||||||
"imgquality": dict(required=False, validator=validateImgQuality),
|
"imgquality": dict(required=False, validator=validateImgQuality),
|
||||||
"bg-color": dict(required=False, validator=validateBGColor),
|
"bgcolor": dict(required=False, validator=validateBGColor, default="1a1a1a"),
|
||||||
"optimize-img": dict(required=False, validator=validateOptImg),
|
"optimizeimg": dict(required=False, validator=validateOptImg, default=0),
|
||||||
"no-markers": dict(required=False, validator=bool),
|
"nomarkers": dict(required=False, validator=bool),
|
||||||
"texture-path": dict(required=False, validator=validateTexturePath),
|
"texturepath": dict(required=False, validator=validateTexturePath),
|
||||||
"renderchecks": dict(required=False, validator=int, default=0),
|
"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
|
return intqual
|
||||||
|
|
||||||
def validateBGColor(color):
|
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):
|
def validateOptImg(opt):
|
||||||
return bool(opt)
|
return bool(opt)
|
||||||
|
|||||||
@@ -533,7 +533,7 @@ class TileSet(object):
|
|||||||
stime = time.time()
|
stime = time.time()
|
||||||
|
|
||||||
rendercheck = self.options['renderchecks']
|
rendercheck = self.options['renderchecks']
|
||||||
rerender_prob = self.options['rerender_prob']
|
rerender_prob = self.options['rerenderprob']
|
||||||
|
|
||||||
# XXX TODO:
|
# XXX TODO:
|
||||||
last_rendertime = 0 # TODO
|
last_rendertime = 0 # TODO
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
world_path="test/data/settings/test_world"
|
worldpath="test/data/settings/test_world"
|
||||||
rendermode = "normal"
|
rendermode = "normal"
|
||||||
|
|
||||||
render["world"] = {
|
render["world"] = {
|
||||||
"rendermode": "normal",
|
"rendermode": "normal",
|
||||||
"north-direction": ["upper-left"],
|
"northdirection": ["upper-left"],
|
||||||
}
|
}
|
||||||
|
|
||||||
render["otherworld"] = {
|
render["otherworld"] = {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
render["world"] = {
|
render["world"] = {
|
||||||
"world_path": "test/data/settings/test_world",
|
"worldpath": "test/data/settings/test_world",
|
||||||
"rendermode": "bad_rendermode",
|
"rendermode": "bad_rendermode",
|
||||||
"north-direction": ["upper-left"],
|
"northdirection": ["upper-left"],
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ class SettingsTest(unittest.TestCase):
|
|||||||
s.validate()
|
s.validate()
|
||||||
things = s.get_render_things()
|
things = s.get_render_things()
|
||||||
# no exceptions so far. that's good
|
# no exceptions so far. that's good
|
||||||
|
self.assertEquals(things['world']['bgcolor'], (26,26,26))
|
||||||
|
|
||||||
def test_rendermode_validation(self):
|
def test_rendermode_validation(self):
|
||||||
s = configParser.MultiWorldParser("test/data/settings/settings_test_rendermode.py")
|
s = configParser.MultiWorldParser("test/data/settings/settings_test_rendermode.py")
|
||||||
s.parse()
|
s.parse()
|
||||||
|
|||||||
Reference in New Issue
Block a user