示例#1
0
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())
示例#2
0
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())
示例#3
0
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
示例#4
0
def exports():
    exportfile = export(request.args['filename'])
    return send_file(exportfile, as_attachment=True)
示例#5
0
	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"))