def calculateDiskSize(inputFile=None, inputFileSize=None, analysisId=None, scalingFactor=None, roundToNearestGbInterval=None):
if inputFile is not None:
fileSize = int(subprocess.check_output(["gsutil", "du", inputFile]).split(' ')[0])
elif inputFileSize is not None:
fileSize = inputFileSize
elif analysisId is not None:
analysisDetail = DataUtils.getAnalysisDetail(analysisId)
if len(analysisDetail["result_set"]["results"]) > 0:
files = analysisDetail["result_set"]["results"][0]["files"]
fileSize = sum([int(x["filesize"]) for x in files])
else:
print "ERROR: no files found for analysis ID {a}!".format(a=analysisId)
exit(-1)
if scalingFactor is not None:
scalingFactor = int(scalingFactor)
else:
scalingFactor = 1
if roundToNearestGbInterval is not None:
roundTo = float(roundToNearestGbInterval) * 1000000000
return int(math.ceil(scalingFactor * fileSize/roundTo)*roundTo)/1000000000
评论列表
文章目录