import importlib.util from .Common import * from .Git import * from .Log import * from datetime import date def printHeader(file_path): global StartTime StartTime = datetime.datetime.now() parent_dir = GetParentDir(file_path) message = "" version_lib = importlib.util.find_spec("version") if IsInsideGitRepository(): current_dir = GetCurrentDir() ChangeDir(parent_dir, True) today = date.today() datetag = today.strftime("%m%d") # Note: we need escape character because these double quotes will go inside another string in version.py message = message + "{" message = message + "\\\"path\\\":\\\"" + file_path + "\\\"" message = message + "," message = message + "\\\"build_tag\\\":\\\"" + datetag + "-" + git_revision_hash() + "\\\"" message = message + "," message = message + "\\\"branch\\\":\\\"" + git_revision_branch() + "\\\"" message = message + "," message = message + "\\\"version\\\":\\\"" + git_version() + "\\\"" if git_diff_word_count() > 0: message = message + "," message = message + "\\\"local_changes\\\":\\\"true\\\"" message = message + "}" ChangeDir(current_dir, True) log.info("Begin " + message) elif version_lib is not None: import version version_text = version.Get() start_tag = "INFO Begin" if version_text.startswith(start_tag): version_text = version_text[len(start_tag):] else: log.error("invalid version_text" + version_text) log.info("Begin " + version_text) def printFooter(file_path, ret_code = 0, extra_flags = {}): EndTime = datetime.datetime.now() __secs = round( (EndTime - StartTime).total_seconds(), 2 ) __mins = round( __secs / 60, 2 ) footer = "Ended {\"path\":\"" + file_path + "\",\"code\":\"" + str(ret_code) + "\"" if ret_code == 0: footer = footer + ",\"status\":\"success\"" else: footer = footer + ",\"status\":\"failure\"" footer = footer + ",\"runtime_mins\":" + str(__mins) for key, value in extra_flags.items(): if isinstance(value,str): footer = footer + ",\"" + key + "\":" + "\"" + str(value) + "\"" else: footer = footer + ",\"" + key + "\":" + str(value) log.info(footer + "}") return __secs