ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/ns_dev/Python/NinoCode/Active_prgs/PDFExportToDataLoad/Trunk/SingleTiffToLFP.py
Revision: 443
Committed: Tue Aug 27 21:16:56 2013 UTC (12 years, 7 months ago) by nino.borges
Content type: text/x-python
File size: 3106 byte(s)
Log Message:
Changed the name if SingleTiffToLFP_UI to PDFExportToDataLoad_UI to match the project.

File Contents

# User Rev Content
1 ninoborges 8 """
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 nino.borges 441 import os, time, NinoGenTools
20 ninoborges 8
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 nino.borges 441 outputOBJ.write("IM,%s,D,0,@%s;;%s;2\n"% (prefix+str(curNumb),time.strftime('%Y%m%d'),file))
36 ninoborges 8
37     def AddLfpChild(file, outputOBJ,prefix, curNumb):
38 nino.borges 441 outputOBJ.write("IM,%s,,0,@%s;;%s;2\n"% (prefix+str(curNumb),time.strftime('%Y%m%d'),file))
39 ninoborges 8
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 nino.borges 443 def Process(startDir,prefix,startNumb,counterBase,extension =".tif"):
49 ninoborges 8 lfpFileOBJ = open(startDir + "\\new_load.lfp",'w')
50     datFileOBJ = open(startDir + "\\new_load.dat",'w')
51     dirList = []
52 nino.borges 441 counterObject = NinoGenTools.Counter()
53    
54 ninoborges 8 for file in os.listdir(startDir):
55     if os.path.splitext(file)[1] == extension:
56     dirList.append(file)
57     filesMatrix = CreateDictionary(dirList)
58 nino.borges 441 counterObject.inc(startNumb)
59 ninoborges 8 fileMatrixList = filesMatrix.keys()
60     fileMatrixList.sort()
61     for k in fileMatrixList:
62     values = filesMatrix[k]
63 nino.borges 441 datFileOBJ.write(prefix + "%0*d"% (counterBase,counterObject.count))
64     AddLfpParent(values[0], lfpFileOBJ, prefix, "%0*d"% (counterBase,counterObject.count))
65     counterObject.inc(1)
66 ninoborges 8 if len(values) > 1:
67     for value in values[1:]:
68 nino.borges 441 AddLfpChild(value, lfpFileOBJ, prefix, "%0*d"% (counterBase,counterObject.count))
69     counterObject.inc(1)
70 nino.borges 443
71 nino.borges 441 datFileOBJ.write("|" + prefix + "%0*d"% (counterBase,counterObject.count - 1)+"|"+ time.strftime('%Y%m%d') +"|"+ k +"\n")
72 nino.borges 443
73    
74     if __name__ == '__main__':
75     #startDir = r"\\lisdisdss01\dis20\c_d\37771188\20100503"
76     startDir = r"C:\Test_dir"
77     extension = ".tif"
78     #extension = ".jpg"
79     prefix = 'tst-'
80     startNumb = 7438
81     counterBase = 8
82     Process(startDir,prefix,startNumb,counterBase,extension)