| 1 |
"""
|
| 2 |
SingleTiffToLFP
|
| 3 |
Created by Emanuel Borges
|
| 4 |
3.22.07
|
| 5 |
|
| 6 |
This program will take a dir of single page tiffs and create an LPF from the tiffs
|
| 7 |
found there. It will know the doc boundaries because the tiffs are <foo>_<pageno>.tif
|
| 8 |
The program will also create a .dat file from the boundaries too.
|
| 9 |
|
| 10 |
First it packs it into a sortable hash with a sortable list as it's value, then unpacks
|
| 11 |
this list into the two files.
|
| 12 |
|
| 13 |
<FileNameSansExt:[File1,File2,File3]
|
| 14 |
|
| 15 |
Currently it only does one dir, since the dict would get Garbage collected but the
|
| 16 |
dict function could be turned into a class.
|
| 17 |
"""
|
| 18 |
|
| 19 |
import os, time, NinoGenTools
|
| 20 |
|
| 21 |
def CreateDictionary(contentsOfDir):
|
| 22 |
mainDict = {}
|
| 23 |
for file in contentsOfDir:
|
| 24 |
name = os.path.splitext(file)[0]
|
| 25 |
name = name.split("_Page_")[0]
|
| 26 |
if name in mainDict.keys():
|
| 27 |
filesList = mainDict.get(name)
|
| 28 |
filesList.append(file)
|
| 29 |
mainDict[name] = filesList
|
| 30 |
else:
|
| 31 |
mainDict[name]=[file]
|
| 32 |
return mainDict
|
| 33 |
|
| 34 |
def AddLfpParent(file, outputOBJ,prefix, curNumb):
|
| 35 |
outputOBJ.write("IM,%s,D,0,@%s;;%s;2\n"% (prefix+str(curNumb),time.strftime('%Y%m%d'),file))
|
| 36 |
|
| 37 |
def AddLfpChild(file, outputOBJ,prefix, curNumb):
|
| 38 |
outputOBJ.write("IM,%s,,0,@%s;;%s;2\n"% (prefix+str(curNumb),time.strftime('%Y%m%d'),file))
|
| 39 |
|
| 40 |
def AddToDAT(beg,end, outputOBJ):
|
| 41 |
"""This only works if the file is named the bates..."""
|
| 42 |
outputOBJ.write(beg + "," + end + ","+(time.strftime('%Y%m%d')+"\n"))
|
| 43 |
|
| 44 |
def AddToFile(startDir, file, outputFile):
|
| 45 |
output = open(outputFile, "a")
|
| 46 |
output.write("IM,PP002561,D,1,@%s;;%s;2\n"% (time.strftime('%Y%m%d'),file))
|
| 47 |
|
| 48 |
if __name__ == '__main__':
|
| 49 |
#startDir = r"\\lisdisdss01\dis20\c_d\37771188\20100503"
|
| 50 |
startDir = r"C:\Test_dir"
|
| 51 |
extension = ".tif"
|
| 52 |
#extension = ".jpg"
|
| 53 |
lfpFileOBJ = open(startDir + "\\new_load.lfp",'w')
|
| 54 |
datFileOBJ = open(startDir + "\\new_load.dat",'w')
|
| 55 |
dirList = []
|
| 56 |
#prefix = "U0000000"
|
| 57 |
#prefix = "Blimling00"
|
| 58 |
#prefix = "CLARKE-NH-000"
|
| 59 |
#prefix = "PRH-R 0"
|
| 60 |
#prefix = "BAY-TTC_00"
|
| 61 |
#prefix = "MCYQAA000"
|
| 62 |
prefix = 'tst-'
|
| 63 |
startNumb = 7438
|
| 64 |
counterBase = 8
|
| 65 |
counterObject = NinoGenTools.Counter()
|
| 66 |
|
| 67 |
for file in os.listdir(startDir):
|
| 68 |
if os.path.splitext(file)[1] == extension:
|
| 69 |
dirList.append(file)
|
| 70 |
filesMatrix = CreateDictionary(dirList)
|
| 71 |
#curNumb = startNumb
|
| 72 |
counterObject.inc(startNumb)
|
| 73 |
fileMatrixList = filesMatrix.keys()
|
| 74 |
fileMatrixList.sort()
|
| 75 |
for k in fileMatrixList:
|
| 76 |
values = filesMatrix[k]
|
| 77 |
#datFileOBJ.write(prefix + str(curNumb))
|
| 78 |
datFileOBJ.write(prefix + "%0*d"% (counterBase,counterObject.count))
|
| 79 |
#AddToDAT(prefix + str(curNumb),prefix+str(endNumb), datFileOBJ)
|
| 80 |
#AddLfpParent(values[0], lfpFileOBJ, prefix, curNumb)
|
| 81 |
AddLfpParent(values[0], lfpFileOBJ, prefix, "%0*d"% (counterBase,counterObject.count))
|
| 82 |
counterObject.inc(1)
|
| 83 |
#curNumb +=1
|
| 84 |
if len(values) > 1:
|
| 85 |
for value in values[1:]:
|
| 86 |
#AddLfpChild(value, lfpFileOBJ, prefix, curNumb)
|
| 87 |
AddLfpChild(value, lfpFileOBJ, prefix, "%0*d"% (counterBase,counterObject.count))
|
| 88 |
#curNumb +=1
|
| 89 |
counterObject.inc(1)
|
| 90 |
#datFileOBJ.write("|" + prefix + str(curNumb-1)+"|"+ time.strftime('%Y%m%d') +"|"+ k +"\n")
|
| 91 |
datFileOBJ.write("|" + prefix + "%0*d"% (counterBase,counterObject.count - 1)+"|"+ time.strftime('%Y%m%d') +"|"+ k +"\n")
|
| 92 |
|
| 93 |
|
| 94 |
# AddToFile(startDir, file, outputFile) |