morvoldpress support

This commit is contained in:
Ian Gulliver
2023-05-14 18:01:39 -07:00
parent d1e90e70ac
commit 1136cf1210
2 changed files with 86 additions and 61 deletions

View File

@@ -14,6 +14,7 @@ import (
var mapSigs = map[string]string{
"./*.jpg;./*.psd;Objects/*.png": "patreon-drmapzo-diamond",
"./*.jpg;./*.png;./*.psd;Objects/*.png": "patreon-drmapzo-diamond",
"./*.jpg;./*.webp;Objects/*.png": "patreon-morvoldpress-tier2",
}
func main() {

View File

@@ -30,70 +30,88 @@ var removeWords = map[string]bool{
"res": true,
"roll20": true,
"roll20+tokens": true,
"support": true,
"tier": true,
"tokens": true,
}
var actions = map[string]string{
"creature tokens/*.png": "Creatures",
"grid/*.jpg": "{SKIP}",
"grid/grid 1/*.jpg": "{SKIP}",
"grid/grid 2/*.jpg": "{SKIP}",
"gridless/*.jpg": "Maps/{MAPNAME}",
"gridless/extra color/*.jpg": "Maps/{MAPNAME}",
"gridless/line/*.jpg": "Maps/{MAPNAME}",
"gridless/normal/*.jpg": "Maps/{MAPNAME}",
"line/*.jpg": "Maps/{MAPNAME}",
"map tokens/*.png": "Maps/{MAPNAME}/Objects",
"tokens/*.png": "Maps/{MAPNAME}/Objects",
"./*.psd": "Maps/{MAPNAME}",
"*/high resolution/*.jpg": "Maps/{MAPNAME}", // Trust that it's gridless
"*/high resolution/*.png": "Maps/{MAPNAME}", // Trust that it's gridless
"*/gridless/*.jpg": "Maps/{MAPNAME}",
"*/high-res/gridless/*.jpg": "Maps/{MAPNAME}",
"*/high-res/gridless/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/attic/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/attic/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/basement/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/basement/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/floor 1/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/floor 1/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/floor 2/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/floor 2/*.png": "Maps/{MAPNAME}",
"*/high resolution/gridless/*.jpg": "Maps/{MAPNAME}",
"*/grid/*.jpg": "{SKIP}",
"*/gridded/*.jpg": "{SKIP}",
"*/high-res/grid/*.jpg": "{SKIP}",
"*/high res/grid/*.jpg": "{SKIP}",
"*/high resolution/grid/*.jpg": "{SKIP}",
"*/creature tokens/*.png": "Creatures",
"*/creature tokens/variants/*.png": "Creatures",
"*/map tokens/*.png": "Maps/{MAPNAME}/Objects",
"*/tokens/*.png": "Maps/{MAPNAME}/Objects",
"*/roll20/*.jpg": "{SKIP}",
"*/roll20/*.png": "{SKIP}",
"*/roll20/grid/*.jpg": "{SKIP}",
"*/roll20/gridded/*.jpg": "{SKIP}",
"*/roll20/grid/*.png": "{SKIP}",
"*/roll20/grid/attic/*.jpg": "{SKIP}",
"*/roll20/grid/attic/*.png": "{SKIP}",
"*/roll20/grid/basement/*.jpg": "{SKIP}",
"*/roll20/grid/basement/*.png": "{SKIP}",
"*/roll20/grid/floor 1/*.jpg": "{SKIP}",
"*/roll20/grid/floor 1/*.png": "{SKIP}",
"*/roll20/grid/floor 2/*.jpg": "{SKIP}",
"*/roll20/grid/floor 2/*.png": "{SKIP}",
"*/roll20/gridless/*.jpg": "{SKIP}",
"*/roll20/gridless/*.png": "{SKIP}",
"*/roll20/gridless/attic/*.jpg": "{SKIP}",
"*/roll20/gridless/attic/*.png": "{SKIP}",
"*/roll20/gridless/basement/*.jpg": "{SKIP}",
"*/roll20/gridless/basement/*.png": "{SKIP}",
"*/roll20/gridless/floor 1/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 1/*.png": "{SKIP}",
"*/roll20/gridless/floor 2/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 2/*.png": "{SKIP}",
"2nd floors/*.png": "Maps/{MAPNAME}/Objects",
"assets & tiles/*.png": "Maps/{MAPNAME}/Objects",
"assets & tiles/rooftops/*.png": "Maps/{MAPNAME}/Objects",
"assets & tokens/*.png": "Maps/{MAPNAME}/Objects",
"assets & tokens/rooftops/*.png": "Maps/{MAPNAME}/Objects",
"assets & tokens/rooftop_tiles/*.png": "Maps/{MAPNAME}/Objects",
"assets & tokens/tiles or tokens/*.png": "Maps/{MAPNAME}/Objects",
"creature tokens/*.png": "Creatures",
"grid/*.jpg": "{SKIP}",
"grid/grid 1/*.jpg": "{SKIP}",
"grid/grid 2/*.jpg": "{SKIP}",
"gridded/*.dd2vtt": "{SKIP}",
"gridded/*.jpg": "{SKIP}",
"gridded/*.webp": "{SKIP}",
"gridless/*.jpg": "Maps/{MAPNAME}",
"gridless/extra color/*.jpg": "Maps/{MAPNAME}",
"gridless/line/*.jpg": "Maps/{MAPNAME}",
"gridless/normal/*.jpg": "Maps/{MAPNAME}",
"line/*.jpg": "Maps/{MAPNAME}",
"map tokens/*.png": "Maps/{MAPNAME}/Objects",
"sloop vessel/*.png": "Maps/{MAPNAME}/Objects",
"tokens/*.png": "Maps/{MAPNAME}/Objects",
"ungridded/*.dd2vtt": "{SKIP}",
"ungridded/*.jpg": "Maps/{MAPNAME}",
"ungridded/*.webp": "Maps/{MAPNAME}",
"./*.jpg": "Maps/{MAPNAME}",
"./*.psd": "Maps/{MAPNAME}",
"./*.pdf": "{SKIP}",
"*/high resolution/*.jpg": "Maps/{MAPNAME}", // Trust that it's gridless
"*/high resolution/*.png": "Maps/{MAPNAME}", // Trust that it's gridless
"*/gridless/*.jpg": "Maps/{MAPNAME}",
"*/high-res/gridless/*.jpg": "Maps/{MAPNAME}",
"*/high-res/gridless/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/attic/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/attic/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/basement/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/basement/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/floor 1/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/floor 1/*.png": "Maps/{MAPNAME}",
"*/high res/gridless/floor 2/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/floor 2/*.png": "Maps/{MAPNAME}",
"*/high resolution/gridless/*.jpg": "Maps/{MAPNAME}",
"*/grid/*.jpg": "{SKIP}",
"*/gridded/*.jpg": "{SKIP}",
"*/high-res/grid/*.jpg": "{SKIP}",
"*/high res/grid/*.jpg": "{SKIP}",
"*/high resolution/grid/*.jpg": "{SKIP}",
"*/creature tokens/*.png": "Creatures",
"*/creature tokens/variants/*.png": "Creatures",
"*/map tokens/*.png": "Maps/{MAPNAME}/Objects",
"*/tokens/*.png": "Maps/{MAPNAME}/Objects",
"*/roll20/*.jpg": "{SKIP}",
"*/roll20/*.png": "{SKIP}",
"*/roll20/grid/*.jpg": "{SKIP}",
"*/roll20/gridded/*.jpg": "{SKIP}",
"*/roll20/grid/*.png": "{SKIP}",
"*/roll20/grid/attic/*.jpg": "{SKIP}",
"*/roll20/grid/attic/*.png": "{SKIP}",
"*/roll20/grid/basement/*.jpg": "{SKIP}",
"*/roll20/grid/basement/*.png": "{SKIP}",
"*/roll20/grid/floor 1/*.jpg": "{SKIP}",
"*/roll20/grid/floor 1/*.png": "{SKIP}",
"*/roll20/grid/floor 2/*.jpg": "{SKIP}",
"*/roll20/grid/floor 2/*.png": "{SKIP}",
"*/roll20/gridless/*.jpg": "{SKIP}",
"*/roll20/gridless/*.png": "{SKIP}",
"*/roll20/gridless/attic/*.jpg": "{SKIP}",
"*/roll20/gridless/attic/*.png": "{SKIP}",
"*/roll20/gridless/basement/*.jpg": "{SKIP}",
"*/roll20/gridless/basement/*.png": "{SKIP}",
"*/roll20/gridless/floor 1/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 1/*.png": "{SKIP}",
"*/roll20/gridless/floor 2/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 2/*.png": "{SKIP}",
}
var root = flag.String("root", "", "root directory to write to")
@@ -196,11 +214,17 @@ func mapName(path string) string {
i--
}
parts = parts[:i+1]
for len(parts) > 0 && removeWords[strings.ToLower(parts[0])] {
parts = parts[1:]
}
if len(parts) == 0 {
panic(path)
}
return strings.Join(parts[:i+1], " ")
return strings.Join(parts, " ")
}
func printable(in string) string {