def formatPredictResult(result, digits=2): tableTwoData = [] try: prefromyear = timeFormat(result["prefromyear"], "year") pretoyear = timeFormat(result["pretoyear"], "year") i = 0 while prefromyear <= pretoyear: temp = { 'year': prefromyear.strftime("%Y"), 'predict': round(result['preresult'][i], digits) } tableTwoData.append(temp) i += 1 prefromyear = getNextYear(prefromyear) re = { "tableOneData": [{ 'mape': round(result["MAPE"], 2), "rmse": round(result["RMSE"], 2) }], "tableTwoData": tableTwoData, } if 'unit' in result: re.update({'unit': result['unit']}) except Exception as e: print('formatPredictResult error', repr(e)) return None return re
def getSubTypesOf(nodeset, node, skipNodes=[]): if node in skipNodes: return [] re = set() re.add(node) for ref in node.references: if (ref.referenceType == hassubtype): skipAll = set() skipAll.update(skipNodes) skipAll.update(re) if (ref.source == node.id and ref.isForward): re.update(getSubTypesOf(nodeset, nodeset.nodes[ref.target], skipNodes=skipAll)) elif (ref.target == node.id and not ref.isForward): re.update(getSubTypesOf(nodeset, nodeset.nodes[ref.source], skipNodes=skipAll)) return re