"""
Load data from sequential data file into data base.
Output is a batch of index files.
Normally standalone.
"""
def update ():
from fileHandler import FileHandler
from dataHandler import toFloat,toHardness,toInt,toPercent,toPli, \
toPsi,toRatio,toSeconds,toViscosity
# input data file
inFile = FileHandler ()
polymers = 'polymers.txt'
# open file
x = inFile.openFile (polymers)
mainDict = {} # main dictionaly - used as data base
# feature accumulators
nameS = []
madeByS = []
websiteS = []
classS = []
polymerS = []
typeS = []
mixRatioS = []
potLifeS = []
demoldTimeS = []
sizeS = []
weightS = []
priceS = []
viscosityS = []
hardnessS = []
specificVolumeS = []
colorS = []
shrinkageS = []
elongationS = []
tearStrengthS = []
compStrengthS = []
tensileStrengthS = []
# cycle on entries and pull required data
while 1:
name_,madeBy_,website_,class_,polymer_, \
type_,mixRatio_,potLife_,demoldTime_,size_, \
weight_,price_,viscosity_,hardness_,specificVolume_, \
color_,shrinkage_,elongation_,tearStrength_,compStrength_, \
tensileStrength_ = inFile.readPolymers ()
if name_ == '':
break
if name_:
# storage for name_ 0
# lower case for name_
temp = name_.lower ()
nameS.append ((temp, name_))
if madeBy_:
# storage for madeBy_ 1
# lower case for madeBy_
temp = madeBy_.lower ()
madeByS.append ((temp, name_))
if website_:
# storage for website_ 2
# lower case for website_
temp = website_.lower ()
websiteS.append ((temp, name_))
if class_:
# storage for class_ 3
# lower case for class_
temp = class_.lower ()
classS.append ((temp, name_))
if polymer_:
# storage for polymer_ 4
# lower case for polymer_
temp = polymer_.lower ()
polymerS.append ((temp, name_))
if type_:
# storage for type_ 5
# lower case for type_
temp = type_.lower ()
typeS.append ((temp, name_))
if mixRatio_:
# storage for mixRatio_ 6
# convert to a ratio
temp = toRatio (mixRatio_)
mixRatioS.append ((temp, name_))
if potLife_:
# storage for potLife_ 7
# convert time to seconds
temp = toSeconds (potLife_)
potLifeS.append ((temp, name_))
if demoldTime_:
# storage for demoldTime_ 8
# convert time to seconds
temp = toSeconds (demoldTime_)
demoldTimeS.append ((temp, name_))
if size_:
# storage for size_ 9
# lower case for size_
temp = size_.lower ()
sizeS.append ((temp, name_))
if weight_:
# storage for weight_ 10
# float weight_
temp = toFloat (weight_)
weightS.append ((temp, name_))
if price_:
# storage for price_ 11
# float price_
temp = toFloat (price_)
priceS.append ((temp, name_))
if viscosity_:
# storage for viscosity_ 12
# convert to normalzed viscosity
temp = toViscosity (viscosity_)
viscosityS.append ((temp, name_))
if hardness_:
# storage for hardness_ 13
# convert to normalized hardness
temp = toHardness (hardness_)
hardnessS.append ((temp, name_))
if specificVolume_:
# storage for specificVolume_ 14
# float specificVolume_
temp = toFloat (specificVolume_)
specificVolumeS.append ((temp, name_))
if color_:
# storage for color_ 15
# lower case for color_
temp = color_.lower ()
colorS.append ((temp, name_))
if shrinkage_:
# storage for shrinkage_ 16
# float shrinkage_
temp = toFloat (shrinkage_)
shrinkageS.append ((temp, name_))
if elongation_:
# storage for elongation_ 17
# percent elongation_
temp = toPercent (elongation_)
elongationS.append ((temp, name_))
if tearStrength_:
# storage for tearStrength_ 18
# pli tearStrength_
temp = toPli (tearStrength_)
tearStrengthS.append ((temp, name_))
if compStrength_:
# storage for compStrength_ 19
# psi compStrength_
temp = toPsi (compStrength_)
compStrengthS.append ((temp, name_))
if tensileStrength_:
# storage for tensileStrength_ 20
# psi tensileStrength_
temp = toPsi (tensileStrength_)
tensileStrengthS.append ((temp, name_))
# add to mainDict
mainDict [name_] = name_,madeBy_,website_,class_,polymer_, \
type_,mixRatio_,potLife_,demoldTime_,size_, \
weight_,price_,viscosity_,hardness_,specificVolume_, \
color_,shrinkage_,elongation_,tearStrength_,compStrength_, \
tensileStrength_
# close input file
inFile.closeFile ()
# save mainDict:
fMd = open ('C:/polymers/data/mainDict.txt','w')
fMd.write (repr (mainDict))
fMd.close ()
# sort features and put in data-store
nameS.sort ()
f0 = open ('C:/polymers/data/nameIndex.txt','w')
f0.write (repr (nameS))
f0.close ()
madeByS.sort ()
f1 = open ('C:/polymers/data/madeByIndex.txt','w')
f1.write (repr (madeByS))
f1.close ()
websiteS.sort ()
f2 = open ('C:/polymers/data/websiteIndex.txt','w')
f2.write (repr (websiteS))
f2.close ()
classS.sort ()
f3 = open ('C:/polymers/data/classIndex.txt','w')
f3.write (repr (classS))
f3.close ()
polymerS.sort ()
f4 = open ('C:/polymers/data/polymerIndex.txt','w')
f4.write (repr (polymerS))
f4.close ()
typeS.sort ()
f5 = open ('C:/polymers/data/typeIndex.txt','w')
f5.write (repr (typeS))
f5.close ()
mixRatioS.sort ()
f6 = open ('C:/polymers/data/mixRatioIndex.txt','w')
f6.write (repr (mixRatioS))
f6.close ()
potLifeS.sort ()
f7 = open ('C:/polymers/data/potLifeIndex.txt','w')
f7.write (repr (potLifeS))
f7.close ()
demoldTimeS.sort ()
f8 = open ('C:/polymers/data/demoldTimeIndex.txt','w')
f8.write (repr (demoldTimeS))
f8.close ()
sizeS.sort ()
f9 = open ('C:/polymers/data/sizeIndex.txt','w')
f9.write (repr (sizeS))
f9.close ()
weightS.sort ()
f10 = open ('C:/polymers/data/weightIndex.txt','w')
f10.write (repr (weightS))
f10.close ()
priceS.sort ()
f11 = open ('C:/polymers/data/priceIndex.txt','w')
f11.write (repr (priceS))
f11.close ()
viscosityS.sort ()
f12 = open ('C:/polymers/data/viscosityIndex.txt','w')
f12.write (repr (viscosityS))
f12.close ()
hardnessS.sort ()
f13 = open ('C:/polymers/data/hardnessIndex.txt','w')
f13.write (repr (hardnessS))
f13.close ()
specificVolumeS.sort ()
f14 = open ('C:/polymers/data/specificVolumeIndex.txt','w')
f14.write (repr (specificVolumeS))
f14.close ()
colorS.sort ()
f15 = open ('C:/polymers/data/colorIndex.txt','w')
f15.write (repr (colorS))
f15.close ()
shrinkageS.sort ()
f16 = open ('C:/polymers/data/shrinkageIndex.txt','w')
f16.write (repr (shrinkageS))
f16.close ()
elongationS.sort ()
f17 = open ('C:/polymers/data/elongationIndex.txt','w')
f17.write (repr (elongationS))
f17.close ()
tearStrengthS.sort ()
f18 = open ('C:/polymers/data/tearStrengthIndex.txt','w')
f18.write (repr (tearStrengthS))
f18.close ()
compStrengthS.sort ()
f19 = open ('C:/polymers/data/compStrengthIndex.txt','w')
f19.write (repr (compStrengthS))
f19.close ()
tensileStrengthS.sort ()
f20 = open ('C:/polymers/data/tensileStrengthIndex.txt','w')
f20.write (repr (tensileStrengthS))
f20.close ()
if __name__ == '__main__':
print 'Starting polymers Datastore update.'
update ()
print 'End of polymers Datastore update.'