a = parser.parse_args() config = io.readJSON(a.CONFIG_FILE) configSounds = config["sounds"] PRECISION = 5 OUTPUT_DIR = "apps/{appname}/".format(appname=config["name"]) OUTPUT_SOUND_DIR_REL = "data/sounds/" OUTPUT_SOUND_DIR = OUTPUT_DIR + OUTPUT_SOUND_DIR_REL CONFIG_FILE = OUTPUT_DIR + "js/config/config.sounds.js" # Make sure output dirs exist io.makeDirectories([OUTPUT_SOUND_DIR, CONFIG_FILE]) # Remove existing data io.removeFiles(OUTPUT_SOUND_DIR + "*.json") sets, items = tu.getItems(config) itemCount = len(items) def getYearSounds(spriteData, userOptions={}): global items cfg = { "dimension": 2 # use z-axis } yearCol = "year" if yearCol not in items[0]: print( "Could not find column %s in items, please add this column to metadata cols with 'type' = 'int'"
a = parser.parse_args() config = io.readJSON(a.CONFIG_FILE) configContent = config["content"] OUTPUT_DIR = "apps/{appname}/".format(appname=config["name"]) OUTPUT_SET_DIR_REL = "data/sets/" OUTPUT_SET_DIR = OUTPUT_DIR + OUTPUT_SET_DIR_REL CONFIG_FILE = OUTPUT_DIR + "js/config/config.sets.js" # Make sure output dirs exist io.makeDirectories([OUTPUT_SET_DIR, CONFIG_FILE]) sets, items = tu.getItems(config) # Remove existing data io.removeFiles(OUTPUT_SET_DIR + "*.json") jsonsets = {} for keyName, options in configContent.items(): if "query" not in options: continue setItems = lu.filterByQueryString(items, options["query"]) if len(setItems) > 0: print("%s results found for '%s'" % (len(setItems), options["query"])) else: print("Warning: '%s' produces no results" % options["query"]) continue # limit the results if specified
"Content-Type": "application/x-www-form-urlencoded", "Host": "anthro.amnh.org", "Origin": "https://anthro.amnh.org", "Referer": "https://anthro.amnh.org/anthropology/databases/common/query_categories.cfm?", "Sec-Fetch-Mode": "nested-navigate", "Sec-Fetch-Site": "same-origin", "Sec-Fetch-User": "******", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36" } # Make sure output dirs exist io.makeDirectories([a.HTML_DIR]) if a.OVERWRITE: io.removeFiles(a.HTML_DIR % '*') page = 1 zeroPadding = 4 perPage = query["rec_per_page"] totalPages = None totalRecords = None currentRecord = None prevPageQuery = None while True: postData = query.copy() if prevPageQuery is None else prevPageQuery filename = a.HTML_DIR % str(page).zfill(zeroPadding) if totalPages is not None and page > totalPages: break
filenameKey = config[ "filenameColumn"] if "filenameColumn" in config else "filename" imageDir = config["imageDirectory"] noImageValue = config["noImageValue"] if "noImageValue" in config else None OUTPUT_DIR = "apps/{appname}/".format(appname=config["name"]) OUTPUT_TEXTURES_DIR_REL = "img/textures/" OUTPUT_TEXTURES_DIR = OUTPUT_DIR + OUTPUT_TEXTURES_DIR_REL CONFIG_FILE = OUTPUT_DIR + "js/config/config.textures.js" if not a.PROBE: # Make sure output dirs exist io.makeDirectories([OUTPUT_TEXTURES_DIR, CONFIG_FILE, a.CACHE_DIR]) # Remove existing images io.removeFiles(OUTPUT_TEXTURES_DIR + "*.jpg") items, categories = tu.getItems(config) # Make texture for each set # sets = list(configSets.items()) sets = [] # just produce the default set for now sets = [("default", {"query": ""})] + sets # add default set jsonsets = {} for keyName, options in sets: setItems = lu.filterByQueryString(items, options["query"]) if len(setItems) > 0: print("%s results found for '%s'" % (len(setItems), options["query"])) else: print("Warning: '%s' produces no results" % options["query"]) continue
config = tu.loadConfig(a.CONFIG_FILE) itemFields = config["itemFields"] if "itemFields" in config else None if itemFields is None: print(f'No item metadata fields are set in config. Skipping...') sys.exit() OUTPUT_DIR = f'apps/{config["name"]}/' OUTPUT_FILE_REL = "data/metadata/" OUTPUT_FILE = OUTPUT_DIR + OUTPUT_FILE_REL CONFIG_FILE = OUTPUT_DIR + "js/config/config.metadata.js" # Make sure output dirs exist io.makeDirectories([OUTPUT_FILE, CONFIG_FILE]) io.removeFiles(OUTPUT_FILE + "*.json") items, categories = tu.getItems(config) itemCount = len(items) # Add item slides from stories to item metadata storyItems = {} if "stories" in config: stories = config["stories"] for key, story in stories.items(): for slide in story["slides"]: if "itemId" in slide: slideMeta = slide.copy() slideMeta.pop("itemId", None) storyItems[str(slide["itemId"])] = slideMeta
"defaultView": "geographyBars", "layout": "bars" } } PRECISION = 5 OUTPUT_DIR = "apps/{appname}/".format(appname=config["name"]) OUTPUT_LABEL_DIR_REL = "data/labels/" OUTPUT_LABEL_DIR = OUTPUT_DIR + OUTPUT_LABEL_DIR_REL CONFIG_FILE = OUTPUT_DIR + "js/config/config.labels.js" # Make sure output dirs exist io.makeDirectories([OUTPUT_LABEL_DIR, CONFIG_FILE]) # Remove existing data io.removeFiles(OUTPUT_LABEL_DIR + "*.json") items, categories = tu.getItems(config) itemCount = len(items) def getYearLabels(userOptions={}): global items cfg = {} options = {"y": 0.667} options.update(userOptions) yearCol = "year" if yearCol not in items[0]: # print("`dateColumn` needs to be set in config yml to support timelineTracks layout") return (None, None)
config = io.readJSON(a.CONFIG_FILE) configViews = config["views"] layouts = lu.unique([view["layout"] for key, view in configViews.items()]) PRECISION = 5 OUTPUT_DIR = "apps/{appname}/".format(appname=config["name"]) OUTPUT_POS_DIR_REL = "data/positions/" OUTPUT_POS_DIR = OUTPUT_DIR + OUTPUT_POS_DIR_REL CONFIG_FILE = OUTPUT_DIR + "js/config/config.positions.js" # Make sure output dirs exist io.makeDirectories([OUTPUT_POS_DIR, CONFIG_FILE]) # Remove existing data io.removeFiles(OUTPUT_POS_DIR + "*.json") sets, items = tu.getItems(config) itemCount = len(items) dimensions = 3 if len(items) < 1: print("No items found") sys.exit() def getTimelineTunnelLayout(userOptions={}): global items options = {"thickness": 0.2} options.update(userOptions)