#!/usr/bin/python # -*- coding: utf-8 -*- # --------------------------------------------------------------------------------------------------------- # Author : Ulrich Carmesin # Source : gitea.ucarmesin.de # --------------------------------------------------------------------------------------------------------- """ In diesem Modul werden alle Funktionen zusammengefasst zur Generierung und Ermittlung von pathsn """ import os.path import sys import basic.program import tools.config_tool import re import basic.constants as B import tools.path_const as P import tools.date_tool import getpass TOOL_NAME = "value_tool" DOM_JOB = "job" DOM_PAR = "par" DOM_COMP = "comp" DOM_CONF = "conf" DOM_ENV = "env" def getKeyValue(job, key, comp=None): """ this function gets the value for the key which relates to an attribute in the job or in the component :param key: :param comp: :return: """ #job = basic.program.Job.getInstance() try: verify = job.getDebugLevel(TOOL_NAME)-4 except: verify = False #pt = PathConf.getInstance(job) if verify: job.debug(verify, "getKeyValue " + key) if DOM_JOB == key[0:3]: if DOM_PAR in key[4:7]: val = job.getParameter(key[8:]) return val elif DOM_CONF in key[4:8]: val = job.conf.confs[B.SUBJECT_PATH][key[9:]] if verify: job.debug(verify, val) return val elif 'job.' in key: a = key[4:].split(":") val = getattr(job, a[0]) # only date with hours if a[0] in ["start"]: print("++++++++++++++"+str(val)) val = tools.date_tool.formatParsedDate(str(val), tools.date_tool.F_LOG) print("++++++++++++++"+val) if len(a) > 1 and a[1] == "H": val = val[0:-4]+"00" if verify: job.debug(verify, val) return val # return job.conf.paths[key[9:]] elif DOM_COMP in key: if comp is None: raise Exception(P.EXP_COMP_MISSING.format(key)) if tools.config_tool.hasAttr(comp.conf, key[5:]): return tools.config_tool.getAttr(comp.conf, key[5:]) if tools.config_tool.hasAttr(comp, key[5:]): return tools.config_tool.getAttr(comp, key[5:]) return "" elif DOM_ENV in key: if key[4:] in comp.conf["conn"]: return comp.conf["conn"][key[4:]] pass elif "time" in key and hasattr(job, "start"): return getattr(job, "start") else: return "xx-"+key+"-xx"