Exemplo n.º 1
0
def update(database: str, table: str, register: dict, columns: list) -> int:
    try:
        if not database.isidentifier() \
        or not table.isidentifier():
            raise Exception()

        baseDatos = __getDatabase(database)
        if baseDatos is False:
            return 2

        tabla = __getTable(database, table)
        if tabla is False:
            return 3

        # Fase2
        # ************* Modificar *********************
        datosAntiguos = False
        nombreTablaSegura = database + '-' + table
        if blockC.EsUnaTablaSegura(nombreTablaSegura):
            datosAntiguos = extractRow(database, table, columns)
        # ************* Modificar *********************

        mode = tabla["mode"]

        res = 1

        if mode == "avl":
            res = avl.update(database, table, register, columns)
        elif mode == "b":
            res = b.update(database, table, register, columns)
        elif mode == "bplus":
            res = bplus.update(database, table, register, columns)
        elif mode == "hash":
            res = ha.update(database, table, register, columns)
        elif mode == "isam":
            res = isam.update(database, table, register, columns)
        elif mode == "json":
            res = j.update(database, table, register, columns)
        elif mode == "dict":
            res = d.update(database, table, register, columns)

        if res == 0:
            # ************* Modificar *********************
            if datosAntiguos:
                blockC.updateSafeTable(nombreTablaSegura, datosAntiguos,
                                       extractRow(database, table, columns))
            # ************* Modificar *********************
        return res
    except:
        return 1
Exemplo n.º 2
0
def insert(database: str, table: str, register: list) -> int:
    try:
        if not database.isidentifier() \
        or not table.isidentifier() \
        or not isinstance(register, list):
            raise Exception()        
        
        baseDatos = __getDatabase(database)
        if baseDatos is False:
            return 2

        tabla = __getTable(database, table)
        if tabla is False:
            return 3

        mode = tabla["mode"]

        res = 1

        if mode == "avl":
            res = avl.insert(database, table, register)
        elif mode == "b":
            res = b.insert(database, table, register)
        elif mode == "bplus":
            res = bplus.insert(database, table, register)
        elif mode == "hash":
            res = ha.insert(database, table, register)
        elif mode == "isam":
            res = isam.insert(database, table, register)
        elif mode == "json":
            res = j.insert(database, table, register)
        elif mode == "dict":
            res = d.insert(database, table, register)

        if res == 0:
            # ************* Modificar *********************
            nombreTablaSegura = database + '-' + table
            if blockC.EsUnaTablaSegura(nombreTablaSegura):
                blockC.insertSafeTable(nombreTablaSegura, register)
            # ************* Modificar *********************
        return res      
    except:
        return 1
Exemplo n.º 3
0
def loadCSV(filepath: str, database: str, table: str) -> list:
    try:
        baseDatos = __getDatabase(database)
        if baseDatos is False:
            return []

        tabla = __getTable(database, table)
        if tabla is False:
            return []

        mode = tabla["mode"]

        res = 1

        if mode == "avl":
            res = avl.loadCSV(filepath, database, table)
        elif mode == "b":
            res = b.loadCSV(filepath, database, table)
        elif mode == "bplus":
            res = bplus.loadCSV(filepath, database, table)
        elif mode == "hash":
            res = ha.loadCSV(filepath, database, table)
        elif mode == "isam":
            res = isam.loadCSV(filepath, database, table)
        elif mode == "json":
            res = j.loadCSV(filepath, database, table)
        elif mode == "dict":
            res = d.loadCSV(filepath, database, table)

        if 0 in res:
            nombreTablaSegura = database + '-' + table
            # ************* Modificar *********************
            if blockC.EsUnaTablaSegura(nombreTablaSegura):
                blockC.insertCSV(nombreTablaSegura, filepath, res)
            # ************* Modificar *********************
        return res 
    except:
        return []