def process_images_in_process_pool(images_to_check, known_names, known_face_encodings, number_of_cpus, tolerance, show_distance): if number_of_cpus == -1: processes = None else: processes = number_of_cpus result_dictionary = dict() # macOS will crash due to a bug in libdispatch if you don't use 'forkserver' context = multiprocessing if "forkserver" in multiprocessing.get_all_start_methods(): context = multiprocessing.get_context("forkserver") pool = context.Pool(processes=processes) function_parameters = zip(images_to_check, itertools.repeat(known_names), itertools.repeat(known_face_encodings), itertools.repeat(tolerance), itertools.repeat(show_distance)) for image_file_name, list in pool.starmap(process_image, function_parameters): result_dictionary[os.path.basename(image_file_name)] = list known_names.append("unknown_person") export(known_names, result_dictionary, get_export_file_name())
def main(): known_names, known_face_encodings = scan_known_people(known_people_folder) if os.path.isdir(image_to_check): if cpus == 1: [ test_image(image_file, known_names, known_face_encodings, tolerance, show_distance) for image_file in image_files_in_folder(image_to_check) ] else: process_images_in_process_pool( image_files_in_folder(image_to_check), known_names, known_face_encodings, cpus, tolerance, show_distance) else: test_image(image_to_check, known_names, known_face_encodings, tolerance, show_distance) print(people_image_assignment) known_names.append("unknown_person") export(known_names, people_image_assignment, get_export_file_name())
def importation(): backup_file = None if request.method == 'POST' and 'fileimported' in request.files and request.files['fileimported'].filename != '' \ and str(request.form['tipo']) != '': file_ = request.files['fileimported'] tipo_ = str(request.form['tipo']) event = int(request.form['e_name']) os.makedirs(os.path.join(os.path.dirname(__file__), 'uploads'), exist_ok=True) file_.save(os.path.join(os.path.dirname(__file__), 'uploads', file_.filename)) filsource = os.path.join(os.path.dirname(__file__), 'uploads', file_.filename) filtype = tipo_ equery3 = equery4 = equery5 = equery6 = equery7 = """""" equery8 = """UPDATE OR IGNORE 'RECEIVERS' SET birthdate=( CASE WHEN substr(curp, 5, 2)<20 THEN '20'||SUBSTR(curp, 5,2)||'-'||SUBSTR(curp, 7,2)||'-'|| SUBSTR(curp, 9,2) ELSE '19'||SUBSTR(curp, 5,2)||'-'||SUBSTR(curp, 7,2)||'-'||SUBSTR(curp, 9,2) END), gender= SUBSTR(curp, 11,1)""" if filtype == 'Tipo ZAP Academy': condb = 'Ben_1.db' equery = """SELECT "NOMBRE", "PRIMER APELLIDO", "SEGUNDO APELLIDO", "CURP", "CELULAR", "TELÉFONO CASA", "CORREO" FROM data""" equery2 = """INSERT OR IGNORE INTO RECEIVERS ("given_name", "last_name", "s_last_name", "curp", "p_phone", "s_phone", "email", "created_user") VALUES (UPPER(?), UPPER(?), UPPER(?), ?, ?, ?, ?, 1)""" elif filtype == 'Tipo Apoyo a Mujeres': condb = 'Ben_2.db' equery = """SELECT "NOMBRE", "APELLIDO PATERNO", "APELLIDO MATERNO", "CURP", "CELULAR", "TELÉFONO CASA", ("CALLE"||" "||"NUMERO EXT") AS "DOMICILIO", "CÓDIGO" FROM Beneficiarios """ equery2 = """INSERT OR IGNORE INTO RECEIVERS ("given_name", "last_name", "s_last_name", "curp", "p_phone", "s_phone", "address", "zip_code", "created_user") VALUES (UPPER(?), UPPER(?), UPPER(?), ?, ?, ?, UPPER(?), ?, 1)""" equery3 = """UPDATE Beneficiarios SET `NUMERO EXT` = SUBSTR( `NUMERO EXT`, -2, -15) WHERE `NUMERO EXT` LIKE '%.0'""" equery4 = """UPDATE Beneficiarios SET CÓDIGO = SUBSTR( CÓDIGO, -2, -15) WHERE CÓDIGO LIKE '%.0'""" equery5 = """UPDATE Beneficiarios SET `TELÉFONO CASA` = SUBSTR( `TELÉFONO CASA`, -2, -15) WHERE `TELÉFONO CASA` LIKE '%.0'""" equery6 = """UPDATE Beneficiarios SET CELULAR = SUBSTR( CELULAR, -2, -15) WHERE CELULAR LIKE '%.0'""" elif filtype == 'Tipo Jalisco te Reconoce': condb = 'Ben_3.db' equery = """SELECT "Nombre", "Primer Apellido", "Segundo Apellido", "CURP", "Celular", "Teléfono", ("Calle"||" "||"Numero Exterior"||" "||"Colonia") AS "Domicilio", "Código Postal", "Email" FROM Hoja1 WHERE "Primer Apellido" <> ''""" equery2 = """INSERT OR IGNORE INTO RECEIVERS ("given_name", "last_name", "s_last_name", "curp", "p_phone", "s_phone", "address", "zip_code", "email", "created_user") VALUES (UPPER(?), UPPER(?), UPPER(?), ?, ?, ?, UPPER(?), ?, ?, 1)""" equery3 = """DELETE FROM Hoja1 WHERE `Primer Apellido` = ''""" equery4 = """UPDATE Hoja1 SET `Numero Exterior` = SUBSTR( `Numero Exterior`, -2, -15) WHERE `Numero Exterior` LIKE '%.0'""" equery5 = """UPDATE Hoja1 SET `Código Postal` = SUBSTR( `Código Postal`, -2, -15) WHERE `Código Postal` LIKE '%.0'""" equery6 = """UPDATE Hoja1 SET Teléfono = SUBSTR( Teléfono, -2, -15) WHERE Teléfono LIKE '%.0'""" equery7 = """UPDATE Hoja1 SET Celular = SUBSTR( Celular, -2, -15) WHERE Celular LIKE '%.0'""" else: condb = 'Ben_4.db' equery = """SELECT "NOMBRE", "APELLIDO PATERNO", "APELLIDO MATERNO", "CURP", "CELULAR", "TELEFONO", "CORREO ELECTRONICO" FROM data1""" equery2 = """INSERT OR IGNORE INTO RECEIVERS ("given_name", "last_name", "s_last_name", "curp", "p_phone", "s_phone", "email", "created_user") VALUES (UPPER(?), UPPER(?), UPPER(?), ?, ?, ?, ?, 1)""" def import_function(): biter = "sqlitebiter -o " + condb + " file " excel = filsource cadena = biter + excel os.system(cadena) def import_funtion_2(): xls2db(filsource, condb) if filtype == 'Tipo ZAP Academy': import_function() elif filtype == 'Tipo Apoyo a Mujeres': import_funtion_2() elif filtype == 'Tipo Jalisco te Reconoce': import_funtion_2() elif filtype == 'Otro Tipo': import_function() con = sqlite3.connect(condb) con2 = sqlite3.connect('zapiensa_project_v2.db') cur = con.cursor() cur2 = con2.cursor() if filtype == 'Tipo Apoyo a Mujeres': cur.execute(equery3) cur.execute(equery4) cur.execute(equery5) cur.execute(equery6) elif filtype == 'Tipo Jalisco te Reconoce': cur.execute(equery3) cur.execute(equery4) cur.execute(equery5) cur.execute(equery6) cur.execute(equery7) cur.execute(equery) monton = cur.fetchall() cur2.executemany(equery2, monton) cur2.execute(equery8) con2.commit() con.close() con2.close() remove(condb) # return jsonify('Successful Transaction!') # flash("Transacción Exitosa!") os.remove(os.path.join(os.path.dirname(__file__), 'uploads', file_.filename)) if event != 0 or event != '': con3 = sqlite3.connect('zapiensa_project_v2.db') cur3 = con3.cursor() cur3.execute("""INSERT INTO RECEIVERS_EVENTS (id_receiver, id_event) SELECT a.id_receiver, b.id_event FROM RECEIVERS AS a, EVENTS AS b WHERE a.id_receiver NOT IN (SELECT id_receiver FROM RECEIVERS_EVENTS) AND b.id_event={}""".format(event)) con3.commit() con3.close() appoint() elif request.method == 'POST' and 'dir_target' in request.values and str(request.form['dir_target']) != '': export() elif request.method == 'POST' and 'dir_targetb' in request.values: respaldo() backup_file = respaldo() else: return 'algo no esta bien', 500 return 'listo', 200
def exports(): exportfile = export(request.args['filename']) return send_file(exportfile, as_attachment=True)
def export(self, path): export(self.__root, path)
def importation(): backup_file = None if request.method == 'POST' and 'fileimported' in request.files and request.files['fileimported'].filename != '' \ and str(request.form['tipo']) != '': file_ = request.files['fileimported'] tipo_ = str(request.form['tipo']) os.makedirs(os.path.join(os.path.dirname(__file__), 'uploads'), exist_ok=True) file_.save( os.path.join(os.path.dirname(__file__), 'uploads', file_.filename)) filsource = os.path.join(os.path.dirname(__file__), 'uploads', file_.filename) filtype = tipo_ equery3 = equery4 = equery5 = equery6 = equery7 = """""" print(tipo_) if filtype == 'Tipo ZAP Academy': condb = 'Ben_1.db' equery = """SELECT "NOMBRE", "PRIMER APELLIDO", "SEGUNDO APELLIDO", "CURP", "CELULAR", "TELÉFONO CASA", "CORREO" FROM data""" equery2 = """INSERT OR IGNORE INTO RECEIVERS ("given_name", "last_name", "s_last_name", "curp", "p_phone", "s_phone", "email", "created_user") VALUES (UPPER(?), UPPER(?), UPPER(?), ?, ?, ?, ?, 1)""" elif filtype == 'Tipo Apoyo a Mujeres': condb = 'Ben_2.db' equery = """SELECT "NOMBRE", "APELLIDO PATERNO", "APELLIDO MATERNO", "CURP", "CELULAR", "TELÉFONO CASA", ("CALLE"||" "||"NUMERO EXT") AS "DOMICILIO", "CÓDIGO" FROM Beneficiarios """ equery2 = """INSERT OR IGNORE INTO RECEIVERS ("given_name", "last_name", "s_last_name", "curp", "p_phone", "s_phone", "address", "zip_code", "created_user") VALUES (UPPER(?), UPPER(?), UPPER(?), ?, ?, ?, UPPER(?), ?, 1)""" equery3 = """UPDATE Beneficiarios SET `NUMERO EXT` = SUBSTR( `NUMERO EXT`, -2, -15) WHERE `NUMERO EXT` LIKE '%.0'""" equery4 = """UPDATE Beneficiarios SET CÓDIGO = SUBSTR( CÓDIGO, -2, -15) WHERE CÓDIGO LIKE '%.0'""" equery5 = """UPDATE Beneficiarios SET `TELÉFONO CASA` = SUBSTR( `TELÉFONO CASA`, -2, -15) WHERE `TELÉFONO CASA` LIKE '%.0'""" equery6 = """UPDATE Beneficiarios SET CELULAR = SUBSTR( CELULAR, -2, -15) WHERE CELULAR LIKE '%.0'""" elif filtype == 'Tipo Jalisco te Reconoce': condb = 'Ben_3.db' equery = """SELECT "Nombre", "Primer Apellido", "Segundo Apellido", "CURP", "Celular", "Teléfono", ("Calle"||" "||"Numero Exterior"||" "||"Colonia") AS "Domicilio", "Código Postal", "Email" FROM Hoja1 WHERE "Primer Apellido" <> ''""" equery2 = """INSERT OR IGNORE INTO RECEIVERS ("given_name", "last_name", "s_last_name", "curp", "p_phone", "s_phone", "address", "zip_code", "email", "created_user") VALUES (UPPER(?), UPPER(?), UPPER(?), ?, ?, ?, UPPER(?), ?, ?, 1)""" equery3 = """DELETE FROM Hoja1 WHERE `Primer Apellido` = ''""" equery4 = """UPDATE Hoja1 SET `Numero Exterior` = SUBSTR( `Numero Exterior`, -2, -15) WHERE `Numero Exterior` LIKE '%.0'""" equery5 = """UPDATE Hoja1 SET `Código Postal` = SUBSTR( `Código Postal`, -2, -15) WHERE `Código Postal` LIKE '%.0'""" equery6 = """UPDATE Hoja1 SET Teléfono = SUBSTR( Teléfono, -2, -15) WHERE Teléfono LIKE '%.0'""" equery7 = """UPDATE Hoja1 SET Celular = SUBSTR( Celular, -2, -15) WHERE Celular LIKE '%.0'""" else: condb = 'Ben_4.db' equery = """SELECT "NOMBRE", "APELLIDO PATERNO", "APELLIDO MATERNO", "CURP", "CELULAR", "TELEFONO", "CORREO ELECTRONICO" FROM data1""" equery2 = """INSERT OR IGNORE INTO RECEIVERS ("given_name", "last_name", "s_last_name", "curp", "p_phone", "s_phone", "email", "created_user") VALUES (UPPER(?), UPPER(?), UPPER(?), ?, ?, ?, ?, 1)""" print(tipo_) def import_function(): biter = "sqlitebiter -o " + condb + " file " excel = filsource cadena = biter + excel print(cadena) os.system(cadena) def import_funtion_2(): xls2db(filsource, condb) if filtype == 'Tipo ZAP Academy': import_function() elif filtype == 'Tipo Apoyo a Mujeres': import_funtion_2() elif filtype == 'Tipo Jalisco te Reconoce': import_funtion_2() elif filtype == 'Otro Tipo': import_function() con = sqlite3.connect(condb) con2 = sqlite3.connect('zapiensa_project_v2.db') cur = con.cursor() cur2 = con2.cursor() # cur.execute("""UPDATE data SET CELULAR = SUBSTR( CELULAR, -2, -15) WHERE CELULAR LIKE '%.0'""") # cur.execute( # """UPDATE data SET `TELÉFONO CASA` = SUBSTR( `TELÉFONO CASA`, -2, -15) WHERE `TELÉFONO CASA` LIKE '%.0'""") if filtype == 'Tipo Apoyo a Mujeres': cur.execute(equery3) cur.execute(equery4) cur.execute(equery5) cur.execute(equery6) elif filtype == 'Tipo Jalisco te Reconoce': cur.execute(equery3) cur.execute(equery4) cur.execute(equery5) cur.execute(equery6) cur.execute(equery7) cur.execute(equery) monton = cur.fetchall() cur2.executemany(equery2, monton) con2.commit() con.close() con2.close() remove(condb) print('Successful Transaction!') # return jsonify('Successful Transaction!') # flash("Transacción Exitosa!") os.remove( os.path.join(os.path.dirname(__file__), 'uploads', file_.filename)) elif request.method == 'POST' and 'dir_target' in request.values and str( request.form['dir_target']) != '': export() elif request.method == 'POST' and 'dir_targetb' in request.values: respaldo() backup_file = respaldo() else: print('algo no esta bien') return render_template('SU Exportaciones.html', una_lista=[ 'Tipo ZAP Academy', 'Tipo Apoyo a Mujeres', 'Tipo Jalisco te Reconoce', 'Otro Tipo' ], backup_file=backup_file, now=time.strftime("%Y%m%d-%H%M%S"))