Esempio n. 1
0
def image_downloader(society_name):

    users = database.child(society_name).child('users').get()
    for user in users.each():
        image_list = user.val()['image']
        i = 0
        print(str(type(image_list)))
        if str(type(image_list)) == "<class 'list'>":
            for image in image_list:
                try:
                    print(image)
                    response = requests.get(image)
                    img = Image.open(BytesIO(response.content))
                    img.convert('RGB').save(society_name + '/' + ''.join(
                        e for e in user.val()['adhar'] if e.isalnum()) + '/' +
                                            str(datetime.now()) + '.jpg')
                except Exception as e:
                    print(e)
        else:
            try:
                response = requests.get(image_list)
                img = Image.open(BytesIO(response.content))
                img.convert('RGB').save(society_name + '/' + ''.join(
                    e for e in user.val()['adhar'] if e.isalnum()) + '/' +
                                        str(datetime.now()) + '.jpg')
            except Exception as e:
                print(e)
Esempio n. 2
0
def get_society(user):
    existing_email = user['email']
    # getting society associated to the secretary
    sname = database.child('Secretary_mapping').get()
    for key in sname.each():
        if (key.val()['email'] == existing_email):
            society_name = key.val()['sname']
    try:
        os.mkdir(society_name)
        return society_name
    except FileExistsError:
        return society_name
Esempio n. 3
0
def stream_handler(message):
    for key in message['data']:
        adhar = message['data'][key]['adhar']
        adhar = ''.join(e for e in adhar if e.isalnum())
        sname = database.child('Secretary_mapping').get()
        for key in sname.each():
            if (key.val()['email'] == existing_email):
                society_name = key.val()['sname']
        try:
            os.mkdir(society_name + '/' + adhar)
        except FileExistsError:

            print(society_name + '/' + adhar)
        image_downloader(society_name)
        face_encoder(society_name + '/' + adhar)
Esempio n. 4
0
def secretary_signin(email, password):
    #authentication of secretary
    try:
        user = authe.sign_in_with_email_and_password(email, password)
        if user:
            sname = database.child('Secretary_mapping').get()
            for key in sname.each():
                if (key.val()['email'] == email):
                    if 'isSecretary' in key.val():
                        print(key.val()['isSecretary'])
                        if key.val()['isSecretary'] == True:
                            return user

    except:
        return False
Esempio n. 5
0
def face_encode_data_get(society_name):
    #making local folders for photos for face recog dataset
    adhars = []
    users = database.child(society_name).child('users').get()
    user_dict = users.val()
    for user in user_dict:
        adhars.append(''.join(e for e in user_dict[user]['adhar']
                              if e.isalnum()))
    for adhar in adhars:
        try:
            os.mkdir(society_name + '/' + adhar)
        except FileExistsError:
            pass
    image_downloader(society_name)
    data = face_encoder(society_name)
    with open('face_enc', 'wb') as fp:
        fp.write(pickle.dumps(data))
    for adhar in adhars:
        shutil.rmtree(society_name + '/' + adhar, ignore_errors=True)
Esempio n. 6
0
import os
from image_download import image_downloader
from face_encode import face_encoder


def stream_handler(message):
    for key in message['data']:
        adhar = message['data'][key]['adhar']
        adhar = ''.join(e for e in adhar if e.isalnum())
        sname = database.child('Secretary_mapping').get()
        for key in sname.each():
            if (key.val()['email'] == existing_email):
                society_name = key.val()['sname']
        try:
            os.mkdir(society_name + '/' + adhar)
        except FileExistsError:

            print(society_name + '/' + adhar)
        image_downloader(society_name)
        face_encoder(society_name + '/' + adhar)


my_stream = database.child(society_name).child('users').stream(stream_handler)

# print(message["event"]) # put
# print(message["path"]) # /-K7yGTTEp7O549EzTYtI
# print(message["data"]) # {'title': 'Pyrebase', "body": "etc..."}

# os.mkdir('Sahajeevan Residency')
# my_stream = database.child("Sahajeevan Residency").child('users').stream(stream_handler)
Esempio n. 7
0
    storage.child(society_name+'/' + foldername+'/'+name).put(name)
    return storage.child(society_name+'/' + foldername+'/'+name).get_url('None')


if __name__ ==  "__main__":
    email=input('enter email : ')
    password=getpass.getpass('Enter password : '******'got society name.........')
        json_dump(new_user,society_name)
        print('json dumped to file.......')
        face_encode_data_get(society_name)
        print('face encodings created......')
        my_stream = database.child(society_name).child('users').stream(stream_handler)
        print('stream initialized')
        while True:
            recognized_person,frame=face_recognizer()
            now_time=str(datetime.now())
            print('recog person',recognized_person)
            cv2.imwrite('rec_person'+now_time+'.jpeg',frame)
            image_file_name='rec_person'+now_time+'.jpeg'
            if recognized_person != 'unknown':
                print(recognized_person)
                
                
                user_dict = database.child(society_name).child('users').get().val()
                for user in user_dict:
                    if user_dict[user]['adhar']==recognized_person:
                        print('person recognized')