in src/get-feedback.py [0:0]
def mergeBBAndLabelsOutput(self, hasBBResults, hasLabelResults, hasNoLabelResults):
lbManifestItems = ""
bbManifestItems = ""
noLabelsManifestItems = ""
if(hasLabelResults):
lbOutputText = S3Helper.readFromS3(self.inputParameters["outputBucket"], self.inputParameters["labelsOutputFile"])
lbManifestItems = lbOutputText.splitlines()
if(hasBBResults):
bbOutputText = S3Helper.readFromS3(self.inputParameters["outputBucket"], self.inputParameters["boundingBoxOutputFile"])
bbManifestItems = bbOutputText.splitlines()
if(hasNoLabelResults):
noLabelsText = S3Helper.readFromS3(self.inputParameters["outputBucket"], self.inputParameters["noLabelsFile"])
noLabelsManifestItems = noLabelsText.splitlines()
bblb = {}
for lbManifestItemLine in lbManifestItems:
lbManifestItem = json.loads(lbManifestItemLine)
bblb[lbManifestItem["source-ref"]] = lbManifestItem
for bbManifestItemLine in bbManifestItems:
bbManifestItem = json.loads(bbManifestItemLine)
if (bbManifestItem["source-ref"] in bblb):
item = bblb[bbManifestItem["source-ref"]]
for ekey in bbManifestItem:
if(not ekey == "source-ref"):
item[ekey] = bbManifestItem[ekey]
else:
bblb[bbManifestItem["source-ref"]] = bbManifestItem
for noLabelManifestItemLine in noLabelsManifestItems:
noLabelManifestItem = json.loads(noLabelManifestItemLine)
bblb[noLabelManifestItem["source-ref"]] = noLabelManifestItem
bblbText = ""
for bblbItem in bblb:
bblbText += json.dumps(bblb[bblbItem]) + "\n"
S3Helper.writeToS3(bblbText, self.inputParameters["outputBucket"], self.inputParameters["bblbOutputFile"])
print("\nOutput\n=====================")
print("Presigned Url:")
print(S3Helper.generatePresignedUrl(self.inputParameters["outputBucket"], self.inputParameters["bblbOutputFile"]))
print("\nS3 Path:")
print("s3://{}/{}".format(self.inputParameters["outputBucket"], self.inputParameters["bblbOutputFile"]))