source: sans/utils/bt5/ICPGui/ICPBufferUtils.py @ 655

Last change on this file since 655 was 463, checked in by ajj, 14 years ago
  • Property svn:executable set to *
File size: 1.7 KB
Line 
1#!/usr/bin/env python
2
3#Read and write ICP Buffer files
4
5import sys
6import struct
7
8formatstr = '<50sh21f4s4i4f148x'
9
10
11def readIBufferFile(inputfile):
12       
13        f = open(inputfile, 'rb')
14        data = f.read()
15        f.close()
16       
17        #print struct.calcsize(formatstr)
18        bufs = {}
19       
20        for i in range(30):
21                bufs[i] = struct.unpack(formatstr,data[i*320:(i+1)*320])
22
23                #print line
24               
25        return bufs
26
27
28def writeIBufferFile(bufs,outputfile):
29
30        data = "" 
31
32        for line in bufs:
33                data = data+struct.pack(formatstr,bufs[line][0],
34                                                  bufs[line][1],       
35                                                  bufs[line][2],       
36                                                  bufs[line][3],       
37                                                  bufs[line][4],       
38                                                  bufs[line][5],       
39                                                  bufs[line][6],       
40                                                  bufs[line][7],       
41                                                  bufs[line][8],       
42                                                  bufs[line][9],       
43                                                  bufs[line][10],       
44                                                  bufs[line][11],       
45                                                  bufs[line][12],       
46                                                  bufs[line][13],       
47                                                  bufs[line][14],       
48                                                  bufs[line][15],       
49                                                  bufs[line][16],       
50                                                  bufs[line][17],       
51                                                  bufs[line][18],       
52                                                  bufs[line][19],       
53                                                  bufs[line][20],       
54                                                  bufs[line][21],       
55                                                  bufs[line][22],       
56                                                  bufs[line][23],       
57                                                  bufs[line][24],       
58                                                  bufs[line][25],       
59                                                  bufs[line][26],       
60                                                  bufs[line][27],       
61                                                  bufs[line][28],       
62                                                  bufs[line][29],       
63                                                  bufs[line][30],       
64                                                  bufs[line][31])       
65
66        f = open(outputfile, 'wb')
67        f.write(data)
68        f.close()       
69
70
71if __name__ == "__main__":
72        if len(sys.argv) > 1:
73                data = readIBufferFile(sys.argv[1])
74        else:
75                data = readIBufferFile("IBUFFER.BUF")
76
77        #for line in data:
78        #       print data[line]
79
80        writeIBufferFile(data,"TEST.BUF")
Note: See TracBrowser for help on using the repository browser.