in src/rekognition/compare-faces/ddb.py [0:0]
def get_faces(self, user_id:str)->Mapping[str,bytes]:
'''
Gets every face associated with a given user.
:param user_id: The users alias.
:returns: Map face_id (str) to image (bytes)
'''
assert user_id is not None, "user_id is missing"
response = self.table.query(
KeyConditionExpression=Key('PartitionKey').eq('User::'+user_id).__and__(Key('SortKey').begins_with('Face::')),
)
faces = {}
for item in response['Items']:
face_id:str = str(item['SortKey']).replace('Face::','',1).lower()
if 'image' in item:
faces[face_id] = item['image']
elif 's3_uri' in item:
faces[face_id] = self.__get_image_from_uri(item['s3_uri'])
else:
#faces[face_id] = None
print('user {} - face_id {} has no face.'.format(user_id,face_id))
return faces