def mergeBBAndLabelsOutput()

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"]))