Changeset 4262


Ignore:
Timestamp:
Apr 18, 2017, 3:02:49 PM (2 years ago)
Author:
Juanma
Message:

WIP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-abies2pmb/trunk/fuentes/lliurex-abies2pmb.install/usr/share/lliurex-abies2pmb/abies2pmb.py

    r4245 r4262  
    2323                self.pmb_abies["indexint"]=["CDUs"]
    2424                self.pmb_abies["notices_tmp"]=["Fondos_all"]
     25                self.pmb_abies["docs_type"]=["TiposFondo"]
    2526
    2627                #Dict with forced column data type
     
    3536                self.defaultPmbValues['notices']={29:'"m"'}
    3637                self.defaultPmbValues['notices'].update({38:'1'})
     38                self.defaultPmbValues['exemplaires']={6:'28'}
     39                self.defaultPmbValues['exemplaires'].update({9:'10'})
     40                self.defaultPmbValues['exemplaires'].update({23:'1'})
     41                self.defaultPmbValues['docs_type']={2:'15'}
     42                self.defaultPmbValues['docs_type'].update({3:'15'})
     43                self.defaultPmbValues['docs_type'].update({7:'1'})
    3744
    3845                #Blacklist pmb_abies tables.
     
    4754                self.pmb_tables["publishers"]=[0,1,'','','','','','','','']
    4855                self.pmb_tables["groupe"]=[0,1,'','','','']
    49                 self.pmb_tables["exemplaires"]=[0,4,1,'','',13,'','',6,'','','','','','','','',9,'','','','','','','','','']
     56                self.pmb_tables["exemplaires"]=[0,4,1,'',3,13,'',2,6,'','','','','','','','',9,'','','','','','','','','']
    5057                self.pmb_tables["collections"]=[0,1,'','','','','','']
    5158                self.pmb_tables["indexint"]=[0,1,'',1,'']
    52                 self.pmb_tables["notices_tmp"]=[0,1,2]
     59                self.pmb_tables["notices_tmp"]=[0,1,2,3,4,5]
    5360                self.pmb_tables["notices"]=[0,1,14,15,16,13,'','',19,'',24,'',20,17,25,11,21,22,23,'','','','','','','',26,'','','','','','','','','','','','','',6,'','','','','','','','','','','','','']
    5461                self.pmb_tables["notices_langues"]=[0,'',1,'']
     62                self.pmb_tables["docs_type"]=[0,1,'','','','','','']
    5563                #dict with needed virtual tables
    5664                #Only load one column using a 'get', any other column must be charged with formatTables or formatFields
     
    6573                self.virtual_tables['Fondos_all'].update({'index 1':''})
    6674                self.virtual_tables['Fondos_all'].update({'index 2':''})
     75                self.virtual_tables['Fondos_all'].update({'index 3':''})
     76                self.virtual_tables['Fondos_all'].update({'index 4':''})
     77                self.virtual_tables['Fondos_all'].update({'index 5':''})
    6778                self.virtual_tables['Fondos_Idiomas']={}
    6879                self.virtual_tables['Fondos_Idiomas']={'index 0':'get Fondos.0'}
     
    7586                self.formatFields['Ejemplares']={'index 13':'concat 13,14,15'}
    7687                self.formatFields['Ejemplares'].update({'index 9':'date %m/%d/%y %H:%M:%S %Y-%m-%d %H:%M:%S'})
     88                self.formatFields['Ejemplares'].update({'index 2':'from Fondos_all.3 on 2=3'})
     89                #Machacamos index 3 de ejemplares con el dato que necesitamos. Esto es del otro lado...
     90                self.formatFields['Ejemplares'].update({'index 3':'from Fondos_all.4 on 1=1'})
    7791                self.formatFields['CDUs']={'index 0':'inc 1 1000'}
    7892                self.formatFields['Series']={'index 0':'inc 1 1000'}
     
    8296                self.formatFields['Fondos'].update({'index 26':'from Fondos_all.2 on 0=1'})
    8397                self.formatFields['Fondos_all']={'index 2':'from CDUs.0 on 0=1'}
     98                self.formatFields['Fondos_all'].update({'index 3':'from Ejemplares.2 on 1=1'})
     99                self.formatFields['Fondos_all'].update({'index 4':'from Fondos.1 on 1=0'})
     100#               self.formatFields['Fondos_all'].update({'index 5':'from TiposFondo.1 on 4=0'})
    84101                self.formatFields['Fondos_Idiomas']={'index 1':'from Fondos.9 on 0=0'}
     102                self.formatFields['TiposFondo']={'index 0':'value 1=1,value 2=12,else=+100'}
    85103
    86104                #Dict whith special columns
     
    96114
    97115                #Array with process order (including virtual tables)
    98                 self.executionOrder=['Ubicaciones','TiposLector','Autores','Editoriales','Cursos','Ejemplares','Series','CDUs','Fondos_all','Fondos','Fondos_Idiomas']
     116#               self.executionOrder=['Ubicaciones','TiposLector','Autores','Editoriales','Cursos','Ejemplares','Series','CDUs','Fondos_all','Fondos','Fondos_Idiomas','TiposFondo']
     117                self.executionOrder=['Ubicaciones','TiposLector','Autores','Editoriales','Cursos','Series','CDUs','Fondos_all','Ejemplares','Fondos','Fondos_Idiomas','TiposFondo']
    99118                #Tmp variables
    100119                self.workDir='/tmp/.abiesToPmb/'
     
    247266                                                if (destTable in self.defaultPmbValues):
    248267                                                        if pmbColumn in self.defaultPmbValues[destTable]:
    249                                                                 tmp=self.defaultPmbValues[destTable][pmbColumn]
    250                                                                
    251                                                         else:
     268                                                                tmp=self.defaultPmbValues[destTable][pmbColumn]
     269                                                        else:
    252270                                                                tmp='""'       
    253271                                                else:
     
    278296                        f.write("DELETE from docs_location;\n")
    279297                        f.write("DELETE from indexint;\n")
     298#                       f.write("DELETE from docs_type where campo=1 or campo=12;\n")
    280299                        for sqlFile in self.sqlFiles:
    281300                                self._debug("Opening "+sqlFile)
     
    422441                values=line.split(',')
    423442                tmpStr=''
     443                elseValue=None
    424444                for value in values:
    425445                        relation=value.split('=')
    426                         sourceValue=relation[0].split(' ')[-1]
    427446                        destValue=relation[-1]
    428                         tmpStr=tmpStr+str(destValue)+' if line['+str(index)+']=="'+str(sourceValue)+'" else '
    429                 try:
    430                         int(destValue)
    431                         returnValue='('+tmpStr+ '"'+str(destValue)+'")'
    432                 except:
    433                         returnValue='('+tmpStr+ ''+str(destValue)+')'
     447                        if not relation[0].startswith('else'):
     448                                sourceValue=relation[0].split(' ')[-1]
     449                                tmpStr=tmpStr+str(destValue)+' if line['+str(index)+']=="'+str(sourceValue)+'" else '
     450                        else:
     451                                elseValue='str(int(line['+str(index)+']) '+str(destValue)+')'
     452                if not elseValue:
     453                        elseValue=destValue
     454                        try:
     455                                int(destValue)
     456                                returnValue='('+tmpStr+ '"'+str(elseValue)+'")'
     457                        except:
     458                                returnValue='('+tmpStr+ ''+str(elseValue)+')'
     459                else:
     460                        returnValue='('+tmpStr +str(elseValue)+')'
     461
    434462                return(returnValue)
    435463
     
    589617### MAIN PROGRAM ###
    590618
    591 #migration=abies2Pmb()
    592 #result=migration.beginMigration(sys.argv[1],sys.argv[2])
    593 #print(result)
     619migration=abies2Pmb()
     620result=migration.beginMigration(sys.argv[1],sys.argv[2])
     621print(result)
Note: See TracChangeset for help on using the changeset viewer.