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]
    #EScritura y buffer para dos pasadas
    escribir=Flujo.escribirFichero(fOUT)
    
    #PASADA2---------------------------------------------------------------------------------------------
    
    bufffer2PAs=Flujo.buffer(escribir)
    #PASADA1---------------------------------------------------------------------------------------------
    #CAMBIAR EXCEPCIONES A MODO PYTHON 3
    flu1=Flujo.sustituirCadenas(bufffer2PAs,"except Exception, e:","except Exception as e:")     
    

    ##Cambiar UTIL     
    flu24=Flujo.sustituirCadenas(flu1," AQSql."," qsatype.AQSql.")         
    flu23=Flujo.sustituirCadenas(flu24,"(AQSql.","(qsatype.AQSql.")         
    flu22=Flujo.sustituirCadenas(flu23," FLUtil."," qsatype.FLUtil.")         
    flu21=Flujo.sustituirCadenas(flu22," AQUtil."," qsatype.FLUtil.")             
    flu2=Flujo.sustituirCadenas(flu21,"AQUtil.","FLUtil.")         
    
    #CAMBIAR OR
    flu3=Flujo.sustituirCadenas(flu2," OR "," | ")         
    #cambiar undefined
    flu4=Flujo.sustituirCadenas(flu3," undefined"," None ")         
    #Cabecera
    flu7=Flujo.sustituirCadenas(flu4,["from pineboolib import qsatype","from pineboolib.qsaglobals import *"],["from YBLEGACY import qsatype","import YBLEGACY.constantes\nfrom YBLEGACY.constantes import ustr , parseFloat"]) 
    #sys.
    flu8=Flujo.sustituirCadenas(flu7,"sys.","qsatype.FLUtil.") 
    #from pineboolib import qsatype
    #from pineboolib.qsaglobals import *

    #sustitucion de llamadas a modulos externos:
    #formXXXXXX\.[a-zA-Z0-9_]+\.iface
    flu9=Flujo.sustituirCadenasRe(flu8,"(?P<INICIO>.+) form(?P<MODULO>[a-zA-Z0-9_]+)\.iface(?P<FIN>.*)","{INICIO} qsatype.FactoriaModulos.get('form{MODULO}').iface{FIN}") 

    #sustitucion de length
    flu10=Flujo.sustituirCadenasRe(flu9,"(?P<INICIO>.+)( (?P<NOMBRE>[a-zA-Z0-9_]+)\.length)(?P<FIN>.*)","{INICIO} len({NOMBRE}) {FIN}") 


    #Establecer metaclase para permitir invocacion __
    flu10A=Flujo.sustituirCadenasRe(flu10,"class (?P<NOMBRE>[a-zA-Z0-9_]+)\((?P<PADRE>[a-zA-Z0-9_]+)\):","class {NOMBRE}({PADRE},metaclass=qsatype.MC):") 

    #sustituir clase base
    flu11=Flujo.sustituirCadenas(flu10A,"class interna(object):","class interna(qsatype.objetoBase):")         

    
    

    #Asignacion de modulos generales fl
    #_fP = flfactppal.iface
    #_fP = qsatype.FactoriaModulos.get("flfactppal")
    flu12=Flujo.sustituirCadenasRe(flu11,"(?P<INICIO>.+) fl(?P<MODULO>[a-zA-Z0-9_]+)\.iface(?P<FIN>.*)","{INICIO} qsatype.FactoriaModulos.get('fl{MODULO}').iface{FIN}") 

    #left, right y mid
    flu13=Flujo.sustituirCadenasReConParentesis(flu12,"(?P<INICIO>.+).left\((?P<NUMERO>.+)\)(?P<FIN>.*)","{INICIO}[:{NUMERO}]{FIN}",["NUMERO"]) 
    flu14=Flujo.sustituirCadenasReConParentesis(flu13,"(?P<INICIO>.+).right\((?P<NUMERO>.+)\)(?P<FIN>.*)","{INICIO}[-{NUMERO}:]{FIN}",["NUMERO"]) 
    flu15=Flujo.sustituirCadenasReConParentesis(flu14,"(?P<INICIO>.+).mid\((?P<NUMERO1>.+),(?P<NUMERO2>.+)\)(?P<FIN>.*)","{INICIO}[{NUMERO1}:{NUMERO1}+{NUMERO2}]{FIN}",["NUMERO1","NUMERO2"]) 
    #Cambiar toString()
    flu16=Flujo.sustituirCadenasRe(flu15,'(?P<INICIO>.+) (?P<ELEMENTO>[a-zA-Z0-9_"\.\(\)]+)\.toString\(\)(?P<FIN>.*)',"{INICIO} str({ELEMENTO}){FIN}") 
    #Problemas con newdate...
    flu17=Flujo.sustituirCadenas(flu16,"( qsatype.Date() ).toString()","str(qsatype.Date())")
    #Tratamiento de debug
    flu18=Flujo.sustituirCadenasRe(flu17,"(?P<INICIO>.+) debug\((?P<IN>.+)\)(?P<FIN>.*)","{INICIO} qsatype.debug({IN}){FIN}") 


    fluL=flu18
    leer=Flujo.leeFichero(fluL,fIN)
    leer.inicioProceso()