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')
Esempio n. 7
0
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
Esempio n. 8
0
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)
Esempio n. 10
0
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'])
Esempio n. 14
0
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)}
Esempio n. 15
0
def main():
    print(kairos_face.get_gallery("hackathon"))
    return render_template("index.html")
Esempio n. 16
0
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
Esempio n. 17
0
#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')
    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')
Esempio n. 20
0
    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 = {}