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)
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
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)
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
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)
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)
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')