def function_main()

in src/textract/extract-idcard/handler.py [0:0]


def function_main(event:Mapping[str,Any],_=None):
  '''
  Main function handler.
  '''
  #print(dumps(event))
  inputRequest = InputRequest(event)
  response = analyze_id(inputRequest)
  
  '''
  Create a document parser and extract a table.
    Customers can include additional business logic here (e.g., confirm company watermarks).  
  '''
  if not len(response['IdentityDocuments']) == 1:
    raise NotImplementedError('Sample does not support multiple documents.')

  '''
  Generate a response based on the input.
  '''
  properties = inputRequest.property_bag
  document_fields:List[dict] = response['IdentityDocuments'][0]['IdentityDocumentFields']
  for field in document_fields:
    key = field['Type']['Text']
    value = field['ValueDetection']['Text']    
    properties[key] = value

  return {
    'UserId': inputRequest.user_id,
    'Properties': properties
  }