diff --git a/optimizeimages.py b/optimizeimages.py index 6fe8b78..b3daff7 100644 --- a/optimizeimages.py +++ b/optimizeimages.py @@ -23,11 +23,14 @@ advdef = "advdef" def check_programs(level): path = os.environ.get("PATH").split(os.pathsep) - + + def exists_in_path(prog): + result = filter(lambda x: os.path.exists(os.path.join(x, prog)), path) + return len(result) != 0 + for prog,l in [(pngcrush,1), (optipng,2), (advdef,2)]: if l <= level: - result = filter(lambda x: os.path.exists(os.path.join(x, prog)), path) - if len(result) == 0: + if (not exists_in_path(prog)) or (not exists_in_path(prog + ".exe")): raise Exception("Optimization prog %s for level %d not found!" % (prog, l)) def optimize_image(imgpath, imgformat, optimizeimg): diff --git a/web_assets/functions.js b/web_assets/functions.js index 0ec7eae..65a78d4 100644 --- a/web_assets/functions.js +++ b/web_assets/functions.js @@ -160,7 +160,12 @@ function initMarkers() { if (markersInit) { return; } markersInit = true; - + + // first, give all collections an empty array to work with + for (i in signGroups) { + markerCollection[signGroups[i].label] = []; + } + for (i in markerData) { var item = markerData[i]; @@ -202,11 +207,8 @@ function initMarkers() { icon: iconURL, visible: false }); - if (markerCollection[label]) { - markerCollection[label].push(marker); - } else { - markerCollection[label] = [marker]; - } + + markerCollection[label].push(marker); if (item.type == 'sign') { prepareSignMarker(marker, item);