import json from Logger import Logger from constants import constants import os.path from CommandUtils import CommandUtils class SourcePackageInfo(object): sourcePkgList = {} logger = None @staticmethod def setLogging(logName=None,logPath=None): if logName is None: logName = "SourcePackageInfo" if logPath is None: logPath = constants.logPath SourcePackageInfo.logger=Logger.getLogger(logName,logPath) @staticmethod def loadPkgInfoFromFile(filePath): SourcePackageInfo.logger.info("Loading source package list from the json file") if not os.path.isfile(filePath): return pkgInfoFile = open(filePath,'r') SourcePackageInfo.sourcePkgList = json.load(pkgInfoFile) pkgInfoFile.close() @staticmethod def addSRPMData(packageName,version,release,arch,srpmFile): listPkgAttributes={"name":packageName,"version":version,"release":release,"arch":arch,"sourcerpm":srpmFile} SourcePackageInfo.sourcePkgList[packageName]=listPkgAttributes SourcePackageInfo.logger.info("Added source package to the list:"+packageName) @staticmethod def writePkgListToFile(fileName): SourcePackageInfo.logger.info("Writing source package list to the json file") cmdUtils=CommandUtils() dirPath=os.path.basename(fileName) if not os.path.isdir(dirPath): cmdUtils.runCommandInShell("mkdir -p "+dirPath) pkgInfoFile = open(fileName,'w+') json.dump(SourcePackageInfo.sourcePkgList, pkgInfoFile,indent=4) pkgInfoFile.close()