コード例 #1
0
def overrideSignatures(toOverride,
                       original,
                       forceName=None,
                       forceModuleName=None):
    try:
        if ObjectHelper.isNotNone(original):
            toOverride.__name__ = original.__name__ if ObjectHelper.isNone(
                forceName) else set(forceName)
            toOverride.__qualname__ = original.__qualname__ if ObjectHelper.isNone(
                forceName) else set(forceName)
            toOverride.__module__ = original.__module__ if ObjectHelper.isNone(
                forceName) else set(c.NOTHING)
        else:
            toOverride.__name__ = forceName if ObjectHelper.isNotNone(
                forceName) else set(toOverride.__name__)
            toOverride.__qualname__ = forceName if ObjectHelper.isNotNone(
                forceName) else set(toOverride.__qualname__)
            toOverride.__module__ = forceModuleName if ObjectHelper.isNotNone(
                forceModuleName) else set(toOverride.__module__)
    except Exception as exception:
        LogHelper.error(
            overrideSignatures,
            f'''Not possible to override signatures of {toOverride} by signatures of {original} method''',
            exception)
        raise exception
コード例 #2
0
def handleSettingInjectionList(settingInjectionList,
                               settingTree,
                               fallbackSettingTree=None):
    if ObjectHelper.isNotEmptyCollection(
            settingInjectionList) and ObjectHelper.isNotNone(settingTree):
        try:
            done, stuck = handleSettingInjectionListLoop(
                False,
                False,
                settingTree,
                settingInjectionList,
                fallbackSettingTree,
                getSettingInjectionValueIgnoringFallbackSettingTree,
                verifyer=verifyDefaultSettingInjectionListHandler)
        except Exception as exception:
            LogHelper.error(
                handleSettingInjectionList,
                'Not possible to load setting injections properly', exception)
            raise exception
コード例 #3
0
def updateSettingValue(settingKey,
                       settingValue,
                       nodeKey,
                       settingTree,
                       isSameDepth=False,
                       isSettingInjection=False):
    # print(f'settingKey: {settingKey}, settingValue: {settingValue}, nodeKey: {nodeKey}, settingTree: {settingTree}, isSameDepth: {isSameDepth}')
    if StringHelper.isNotBlank(settingKey) and ObjectHelper.isNotNone(
            settingKey):
        # print(f'accessTree({nodeKey},{settingTree})[{settingKey}]: {accessTree(nodeKey,settingTree)}[{settingKey}]')
        # print(f'type(accessTree(nodeKey,settingTree)): {type(accessTree(nodeKey,settingTree))}')

        accessTree(nodeKey,
                   settingTree)[settingKey] = getSettingValueOrNewNode(
                       nodeKey,
                       settingKey,
                       settingValue,
                       isSameDepth=isSameDepth,
                       isSettingInjection=isSettingInjection)
    elif StringHelper.isNotBlank(nodeKey) and ObjectHelper.isNotNone(nodeKey):
        splittedNodeKey = nodeKey.split(c.DOT)
        if 1 < len(splittedNodeKey):
            accessSettingKey = splittedNodeKey[-1]
            accessNodeKey = c.DOT.join(splittedNodeKey[:-1])
        else:
            accessSettingKey = splittedNodeKey[-1]
            accessNodeKey = None
        accessTree(accessNodeKey,
                   settingTree)[accessSettingKey] = getSettingValueOrNewNode(
                       nodeKey,
                       settingKey,
                       settingValue,
                       isSameDepth=isSameDepth,
                       isSettingInjection=isSettingInjection)
    else:
        errorMessage = 'Node key and setting key cannot be None at the same time'
        exception = Exception(errorMessage)
        LogHelper.error(
            updateSettingValue,
            f'Error parsing settingKey: "{settingKey}", settingValue: {settingValue}, nodeKey: {nodeKey}, settingTree: {StringHelper.prettyPython(settingTree)}',
            errorMessage)
        raise exception
コード例 #4
0
def getArgsOrder(targetClass):
    noneArgs = []
    noneInstance = instanciateItWithNoArgsConstructor(targetClass,
                                                      amountOfNoneArgs=0,
                                                      args=noneArgs)
    strArgs = []
    for arg in range(len(noneArgs)):
        strArgs.append(RandomHelper.string(minimum=10))
    try:
        instance = targetClass(*strArgs)
        instanceDataDictionary = getAttributeDataDictionary(instance)
        argsOrderDictionary = {}
        for key, value in instanceDataDictionary.items():
            if StringHelper.isNotBlank(value):
                argsOrderDictionary[strArgs.index(value)] = key
        argsOrder = [
            argsOrderDictionary[key] for key in sorted(argsOrderDictionary)
        ]
    except Exception as exception:
        errorMessage = f'Not possible to get args order from "{getName(targetClass)}" target class'
        LogHelper.error(getArgsOrder, errorMessage, exception)
        raise Exception(errorMessage)
    return argsOrder
コード例 #5
0
def getSet(avoidRecursiveCall=False) :
    try :
        return json.loads(str(OS.environ)[8:-1].replace(c.DOUBLE_QUOTE, c.BACK_SLASH_DOUBLE_QUOTE).replace(c.SINGLE_QUOTE, c.DOUBLE_QUOTE))
    except Exception as exception :
        LogHelper.error(getSet, 'Not possible to load os.environ as a json. Returning os.environ as string by default', exception)
        return str(OS.environ)[8:-1]