Language Work Benches in Py
yoda
nochiel at gmail.com
Wed Sep 7 01:44:53 EDT 2005
I realize that I forgot to post the sample code:). Below is my
implementation:
#DSL data
#123456789012345678901234567890123456789012345678901234567890,
dsldata=(
'SVCLFOWLER 10101MS0120050313.........................',
'SVCLHOHPE 10201DX0320050315........................',
'SVCLTWO x10301MRP220050329..............................',
'USGE10301TWO x50214..7050329...............................')
#Class mappings
Mappings={'svcl':{
(4,18):'CustomerName',
(19,23):'CustomerID',
(24,27) :'CallTypeCode',
(28,35) : 'DateOfCallString'},
'usge':{(4,8) :'CustomerID',
(9,22):'CustomerName',
(30,30):'Cycle',
(31,36): 'ReadDate'}}
def generateClass(data):
'generate the class and instance with attributes'
className = data[:4].lower() #1)
mappingData= Mappings[className] #2)
class Klass:pass #3)
Klass. __name__=className #4)
# print Klass
for key in mappingData.keys(): #5)
fielddata=data[key[0]:key[1]]
print 'actual data->',fielddata
setattr(Klass,mappingData[key],fielddata) #6)
return Klass
def parseData():
'parse the data and generate a list of objects'
classes= [generateClass(item) for item in dsldata]
return classes
def printKlassData(Klass):
print Klass
for key in Klass.__dict__:
print ('attr->%s value->%s')%(key,Klass.__dict__[key])
if __name__=='__main__':
for Klass in parseData():
printKlassData (Klass)
More information about the Python-list
mailing list