Changeset 4113


Ignore:
Timestamp:
Apr 6, 2017, 12:31:24 PM (2 years ago)
Author:
Juanma
Message:

Initial release

Location:
lliurex-abies2pmb/trunk/fuentes/lliurex-abies2pmb-core.install
Files:
1 edited
1 moved

Legend:

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

    r4111 r4113  
    11#!/usr/bin/python3
    22import os
     3import time
    34# -*- coding: utf-8 -*-
    45class abiesToPmb():
     
    2021                self.pmb_tables["publishers"]=[0,1,'','','','','','','','']
    2122                self.pmb_tables["groupe"]=[0,1,'','','','']
    22                 self.pmb_tables["exemplaires"]=[0,4,2,'','',13,'','',6,'','','','','','','','',8,'','','','','','','','','']
     23                self.pmb_tables["exemplaires"]=[0,4,1,'','',13,'','',6,'','','','','','','','',8,'','','','','','','','','']
    2324                #Dict with temp results
    2425                self.pmb_result={}
     
    4546                self.tableValuesDict={}
    4647                self.formatFields={}
    47                 self.formatFields['TiposLector']={'index 0':'index 0 + 7'}
     48                self.formatFields['TiposLector']={'index 0':'add index 0 7'}
    4849                self.formatFields['Autores']={'index 1':'value 100=70,value 110=71,value 120=72,value 700=70'}
    4950                self.formatFields['Ejemplares']={'index 13':'concat 13,14,15'}
     51                self.formatFields['Ejemplares']={'index 8':'date %m/%d/%y %H:%M:%S %Y-%m-%d %H:%M:%S'}
    5052                self.formatFields['CDU']={'index 0':'1000+inc'}
    5153                self.formatFields['CDU']={'index 1':'Fondos-CDU.1'}
     
    9193                                        tmp=str(line[index]).strip("\n")
    9294                                        #Clean tmp field
    93                                         tmp=tmp.replace('"','')
     95                                        tmp=tmp.replace('"',' ')
    9496                                        try:
    9597                                                int(tmp)
     
    160162                        for key,line in transform.items():
    161163                                index=int(key.split(' ')[-1])
     164                                print(line)
     165                                if line.startswith('add'):
     166                                        transformDict[index]=self._transformAdd(line,index)
     167                                elif line.startswith('value'):
     168                                        transformDict[index]=self._transformValue(line,index)
     169                                elif line.startswith('concat'):
     170                                        transformDict[index]=self._transformConcat(line,index)
     171                                elif line.startswith('date'):
     172                                        transformDict[index]=self._transformDate(line,index)
     173
     174#               self._debug("TransformDict: "+str(transformDict))
     175                return transformDict
     176
     177                def _transformAdd(self,line,index):
    162178                                sourceIndex=line.split(' ')[1]
    163                                 print(line)
    164                                 if ('+' or '-') in line:
    165                                         increment=line.split(' ')[-1]
    166                                         transformDict[index]='int(line['+sourceIndex+'])+'+increment
    167                                 elif 'value' in line:
    168                                         values=line.split(',')
    169                                         tmpStr=''
    170                                         for value in values:
    171                                                 relation=value.split('=')
    172                                                 sourceValue=relation[0].split(' ')[-1]
    173                                                 destValue=relation[-1]
    174                                                 tmpStr=tmpStr+str(destValue)+' if line['+str(index)+']=="'+str(sourceValue)+'" else '
    175                                         tmpStr='('+tmpStr+ '"'+str(destValue)+'")'
    176                                         transformDict[index]=tmpStr
    177                                 elif 'concat' in line:
    178                                         concat=line.split(' ')[-1]
    179                                         concatArray=concat.split(',')
    180                                         tmpStr=''
    181                                         for concatField in concatArray:
    182                                                 tmpStr=tmpStr+'line['+str(concatField)+']+'
    183                                         tmpStr=tmpStr[:-1]
    184                                         transformDict[index]=tmpStr
    185 
    186                 self._debug("TransformDict: "+str(transformDict))
    187                 return transformDict
     179                                increment=line.split(' ')[-1]
     180                                returnValue='int(line['+sourceIndex+'])+'+increment
     181                                return(returnValue)
     182
     183                def _transformValue(self,line,index):
     184                                values=line.split(',')
     185                                tmpStr=''
     186                                for value in values:
     187                                        relation=value.split('=')
     188                                        sourceValue=relation[0].split(' ')[-1]
     189                                        destValue=relation[-1]
     190                                        tmpStr=tmpStr+str(destValue)+' if line['+str(index)+']=="'+str(sourceValue)+'" else '
     191                                returnValue='('+tmpStr+ '"'+str(destValue)+'")'
     192                                return(returnValue)
     193
     194                def _transformConcat(self,line,index):
     195                                concat=line.split(' ')[-1]
     196                                concatArray=concat.split(',')
     197                                tmpStr=''
     198                                for concatField in concatArray:
     199                                        tmpStr=tmpStr+'line['+str(concatField)+']+'
     200                                returnValue=tmpStr[:-1]
     201                                return(returnValue)
     202
     203                def _transformDate(self,line,index):
     204
     205                                dates=line.split(' ')
     206                                sourceFormat=dates[1]
     207                                destFormat=dates[-1]
     208                                returnValue='self._funcDateTransform(line['+str(index)+'],'+sourceFormat+','+destFormat
     209                                return(returnValue)
     210
     211                def _funcDateTransform(self,date,origFormat,destFormat):
     212                               
    188213
    189214### MAIN PROGRAM ###
Note: See TracChangeset for help on using the changeset viewer.