Example #1
0
def main():
    #Procesar parametros de entrada
    parser = argparse.ArgumentParser(description='Process some integers.')
    parser.add_argument('-fIN', nargs=1,required=True,help='Fichero Entrada')
    parser.add_argument('-fOUT', nargs=1,required=True,help='Fichero Salida')
    opts = parser.parse_args()
    fIN=opts.fIN[0]
    fOUT=opts.fOUT[0]
    #Instanciar clases de proceso
    escribir=Flujo.escribirFichero(fOUT)
    #PASADA2---------------------------------------------------------------------------------------------
    #PROCESAMIENTO DE LLAMADAS A PADRE        
    fluB3=Flujo.sustituirCadenasRe(escribir,"(?P<INICIO>.*)(?P<ANTERIOR>[\s!\(=])(?P<VARIABLE>[a-zA-Z0-9_\.]+)\.__(?P<FUNCION>[a-zA-Z0-9_]+)\((?P<FIN>.*)","{INICIO}{ANTERIOR}super({CTX_CLASSNAME},{VARIABLE}).{FUNCION}({FIN}")     
    fluB4=Flujo.setCTXRe(fluB3,"(.*)class\s+(?P<CTX_CLASSNAME>[a-zA-Z0-9_]+)\s(.*){")
    #INCLUSION FUENTES DE CLASES    
    #Se estableceran listas al terminar    
    fluBL=Flujo.sustituirCadenas(fluB4,[],[])     
    bufffer2PAs=Flujo.buffer(fluBL)    
    #PASADA1---------------------------------------------------------------------------------------------    
    
    #ELIMINADO Y ALMACENADO DE CADENAS IMPLEMENTACION DE CLASES 
    #DEBE SER EL ULTIMO PARA QUE SE REALICEN CAMBIOS ANTERIORES
    flu0=Flujo.almacenarCadenasReg(bufffer2PAs,"(?P<INICIO>.*)@class_definition\s+(?P<NOMBRE>[a-zA-Z0-9_]+) (?P<FIN>.*)","//__CLASE[{NOMBRE}]",fluBL) 

    #TOCKEN PARA MARCAR ELEMENTOS NO EN PYTHON
    flu1=Flujo.eliminaEntre(flu0,"___NOPYTHON[[","]]___NOPYTHON")
    #SUSTITUIR PASS
    flu2=Flujo.sustituirCadenas(flu1," pass "," mpass ")     
    #SUSTITUIR LISTA Y DICCIONARIO VACIO
    flu3=Flujo.sustituirCadenas(flu2,["[]","{}"],["qsatype.Array()","qsatype.Object()"])         
    #INCLUIR TOCKEN EN DEFINICION DE CLASES PARA PODER LUEGO AMPLIARLAS
    #dos filas
    flu4=Flujo.sustituirCadenasReMultipleFila(flu3,2,"(?P<INICIO>.*)class\s+(?P<NOMBRE>[a-zA-Z0-9_]+) (?P<FIN>.*)\n\s*{(?P<FILA2>.*)","{INICIO} class {NOMBRE} {FIN} {{\n//__CLASE[{NOMBRE}]\n{FILA2}")    
    #fila Simple
    flu41=Flujo.sustituirCadenasRe(flu4,"(?P<INICIO>.*)class\s+(?P<NOMBRE>[a-zA-Z0-9_]+) (?P<FIN>.*){","{INICIO} class {NOMBRE} {FIN} {{\n//__CLASE[{NOMBRE}]")     
    fluL=flu41
    leer=Flujo.leeFichero(fluL,fIN)    
    leer.inicioProceso()