def redact_text()

in srf-longrun-job-dataflow/srflongrunjobdataflow.py [0:0]


def redact_text(data, project, template_id):
    #logging.info(data)
    dlp = google.cloud.dlp_v2.DlpServiceClient()
    parent = dlp.common_project_path(project)
    request = google.cloud.dlp_v2.ListInfoTypesRequest()
    response = dlp.list_info_types(request=request)
    inspect_template_name = f"{parent}/inspectTemplates/{template_id}"
    #logging.info(data['transcript'])
    item = {"value": data['transcript']}

    request = google.cloud.dlp_v2.InspectContentRequest(
            parent=parent,
            inspect_template_name=inspect_template_name,
            item=item,)
    response = dlp.inspect_content(request=request)
    #logging.info(response)
    if response.result.findings:
        for finding in response.result.findings:
            try:
                if finding.quote:
                    #logging.info("Quote: {}".format(finding.quote))
                    data['dlp'].append(finding.quote)
            except AttributeError:
                pass
        else:
            logging.info("No findings.")
    return data