def test_getting_non_existing_gallery_raises_an_exception(self): response_body = {'Errors': [{'ErrCode': 5004, 'Message': 'gallery name not found'}]} responses.add(responses.POST, 'https://api.kairos.com/gallery/view', status=200, body=json.dumps(response_body)) with self.assertRaises(kairos_face.ServiceRequestError): kairos_face.get_gallery('non-existing-gallery')
def test_passes_app_id_and_key_in_post_header(self, post_mock): post_mock.return_value.status_code = 200 kairos_face.get_gallery(gallery_name='gallery') _, kwargs = post_mock.call_args expected_headers = {'app_id': 'app_id', 'app_key': 'app_key'} self.assertTrue('headers' in kwargs) self.assertEqual(expected_headers, kwargs['headers'])
def test_payload_with_gallery_name_is_passed_in_request(self, post_mock): post_mock.return_value.status_code = 200 kairos_face.get_gallery(gallery_name='gallery') _, kwargs = post_mock.call_args expected_payload = {'gallery_name': 'gallery'} self.assertTrue('json' in kwargs) self.assertEqual(expected_payload, kwargs['json'])
def test_payload_with_gallery_name_is_passed_in_request(self, post_mock): post_mock.return_value.status_code = 200 kairos_face.get_gallery(gallery_name='gallery') _, kwargs = post_mock.call_args expected_payload = { 'gallery_name': 'gallery' } self.assertTrue('json' in kwargs) self.assertEqual(expected_payload, kwargs['json'])
def test_passes_app_id_and_key_in_post_header(self, post_mock): post_mock.return_value.status_code = 200 kairos_face.get_gallery(gallery_name='gallery') _, kwargs = post_mock.call_args expected_headers = { 'app_id': 'app_id', 'app_key': 'app_key' } self.assertTrue('headers' in kwargs) self.assertEqual(expected_headers, kwargs['headers'])
def test_getting_non_existing_gallery_raises_an_exception(self): response_body = { 'Errors': [{ 'ErrCode': 5004, 'Message': 'gallery name not found' }] } responses.add(responses.POST, 'https://api.kairos.com/gallery/view', status=200, body=json.dumps(response_body)) with self.assertRaises(kairos_face.ServiceRequestError): kairos_face.get_gallery('non-existing-gallery')
def getGallery(): # to get the list of all galleries gallery_list = kairos_face.get_galleries_names_list() gals = gallery_list['gallery_ids'] for i in gals: face_list = kairos_face.get_gallery(i) people = face_list['subject_ids'] yield i
def galleryPrint(): # tolist all galleries along with subject gallery_list = kairos_face.get_galleries_names_list() gals = gallery_list['gallery_ids'] for i in gals: face_list = kairos_face.get_gallery(i) people = face_list['subject_ids'] print(i + ' :') for j in people: print(j)
def test_returned_gallery_has_gallery_name(self): response_body = { "time": 0.00991, "status": "Complete", "subject_ids": ["subject1"] } responses.add(responses.POST, 'https://api.kairos.com/gallery/view', status=200, body=json.dumps(response_body)) gallery = kairos_face.get_gallery('a-gallery') self.assertEqual('a-gallery', gallery.name)
def list_all(request): captured = False while not captured: try: gallery_obj = [] gallery_subjects = kairos_face.get_gallery('a-gallery') gallery = gallery_subjects['subject_ids'] for candidate in gallery: obj = Details.objects.get(pk=candidate) gallery_obj.append(obj) captured = True return render(request, 'gallery_subjects.html', {'gallery': gallery_obj}) except kairos_face.exceptions.ServiceRequestError: messages.add_message(request, messages.ERROR, 'Database is empty! Please enroll details') return render(request, 'gallery_subjects.html')
def test_returned_gallery_has_face_subjects_list(self): response_body = { "time": 0.00991, "status": "Complete", "subject_ids": ["subject1", "subject2", "subject3"] } responses.add(responses.POST, 'https://api.kairos.com/gallery/view', status=200, body=json.dumps(response_body)) gallery = kairos_face.get_gallery('a-gallery') self.assertEqual(3, len(gallery.subjects)) self.assertTrue('subject1' in gallery.subjects) self.assertTrue('subject2' in gallery.subjects) self.assertTrue('subject3' in gallery.subjects)
def test_returned_gallery_has_face_subjects_list(self): response_body = { 'time': 0.00991, 'status': 'Complete', 'subject_ids': ['subject1', 'subject2', 'subject3'] } responses.add(responses.POST, 'https://api.kairos.com/gallery/view', status=200, body=json.dumps(response_body)) actual_response = kairos_face.get_gallery('a-gallery') self.assertEqual('Complete', actual_response['status']) self.assertEqual(3, len(actual_response['subject_ids'])) self.assertTrue('subject1' in actual_response['subject_ids']) self.assertTrue('subject2' in actual_response['subject_ids']) self.assertTrue('subject3' in actual_response['subject_ids'])
def test_returned_gallery_has_face_subjects_list(self): response_body = { 'time': 0.00991, 'status': 'Complete', 'subject_ids': [ 'subject1', 'subject2', 'subject3' ] } responses.add(responses.POST, 'https://api.kairos.com/gallery/view', status=200, body=json.dumps(response_body)) actual_response = kairos_face.get_gallery('a-gallery') self.assertEqual('Complete', actual_response['status']) self.assertEqual(3, len(actual_response['subject_ids'])) self.assertTrue('subject1' in actual_response['subject_ids']) self.assertTrue('subject2' in actual_response['subject_ids']) self.assertTrue('subject3' in actual_response['subject_ids'])
def get_enrolled_faces(galleryName=None): try: #dict_responJSON = {} dict_responJSON = kairos_face.get_gallery(galleryName) print(dict_responJSON) """ status=Complete """ if dict_responJSON['status'] == 'Complete': dict_faces = { 'cnt': len(dict_responJSON['subject_ids']), 'subjects': dict_responJSON['subject_ids'] } else: dict_faces = {'cnt': 0} dict_responJSON = dict_faces except Exception, err: if err.__class__ == kairos_face.exceptions.ServiceRequestError: dict_responJSON = { 'error': err.response_msg['Errors'][0]['Message'] } else: dict_responJSON = {'error': str(err)}
def main(): print(kairos_face.get_gallery("hackathon")) return render_template("index.html")
def getPeople(gal): # pass the gallery name here face_list = kairos_face.get_gallery(gal) people = face_list['subject_ids'] for j in people: yield j
#test script for Gallery listing import kairos_face kairos_face.settings.app_id = "1efff1b3" kairos_face.settings.app_key = "95817e68b6633112a23d0589b76a73f1" gallery_list = kairos_face.get_galleries_names_list() gals = gallery_list['gallery_ids'] for i in gals: face_list = kairos_face.get_gallery(i) people = face_list['subject_ids'] print(i + ' :') for j in people: print(j)
def test_throws_exception_when_app_key_is_not_set(self): kairos_face.settings.app_key = None with self.assertRaises(kairos_face.SettingsNotPresentException): kairos_face.get_gallery(gallery_name='gallery')
if verbose: print('List of available galleries: {}\n'.format(json.dumps(galleries_list["gallery_ids"]))) faces, NumberOfFaces = get_faces(verbose) peopleDB = None testData = [] #print faces # Add people to the DB: if addPeople: if verbose: print('Starting to add people to the database...') peopleDB = addPerson(faces, database, NumberOfFacesPerPerson, NumberOfPersonsInDB, verbose, chillMode) else: gallery_subjects = kairos_face.get_gallery(database) peopleDB = gallery_subjects['subject_ids'] print ('List of subjects in this database: {}\n'.format(json.dumps(peopleDB))) if testPeople: if verbose: print('Starting the test...') NumberOfFacesInTestData = int(NumberOfPersonsInDB*NumberOfFacesPerPerson/(100.0)*20) if verbose: print(''' --------------------------------------------- Testing: Database = {} NumberOfFacesPerPerson = {}