import os, sys, datetime _debug_logger = sys.stderr def dprint(msg): print >> _debug_logger, msg def redirect_parser_debugging(ostream): global _debug_logger _debug_logger = ostream def get_timestamp(mapping, field): val = mapping.get(field, None) if val is not None: val = datetime.datetime.fromtimestamp(int(val)) return val def find_toplevel_job_dir(start_dir): """ Starting from start_dir and moving upwards, find the top-level of the job results dir. We can't just assume that it corresponds to the actual job.dir, because job.dir may just be a subdir of the "real" job dir that autoserv was launched with. Returns None if it can't find a top-level dir. """ job_dir = start_dir while not os.path.exists(os.path.join(job_dir, ".autoserv_execute")): if job_dir == "/": return None job_dir = os.path.dirname(job_dir) return job_dir