def main(config): mkdir_p(config["statefolder"]) # load index JSON state_index_src = os.path.join(config["statefolder"], "index.js") logging.debug("INDEX = " + state_index_src) state_index = [] try: jstr = file(state_index_src, "r").read() state_index = json.loads(jstr[len(EnvironmentState.JS_VARIABLE_INDEX) :]) except: logging.info("No index file available. Creating at {0:s}".format(state_index_src)) # capture state envstate = EnvironmentState(config["baseurl"]) envstate.populateState() # append index entry row = [envstate.getTStamp(), envstate.tstamp.strftime(config["stateformat"])] logging.debug(pprint.pformat(row)) state_index.append(row) # Write out the state JSON file statedest = file(os.path.join(config["statefolder"], row[1]), "w") envstate.asJSON(statedest) statedest.close() # update the index JSON file jbuffer = file(state_index_src, "w") jbuffer.write(EnvironmentState.JS_VARIABLE_INDEX) json.dump(state_index, jbuffer, indent=2) jbuffer.close()