import repository from arizona
[raven.git] / tools / sfastuff / fixgid.py
1 #! /usr/bin/python
2
3 # GID output by SFA getRecord have all the newlines stripped out of them. So
4 # put newlines back where they belong
5
6 import sys
7 import string
8
9 def splitline(line, delim):
10     result = []
11     pos = string.find(line, delim)
12     if (pos == -1):
13         return [line]
14
15     leftpart = line[:pos].strip()
16     if (leftpart != ""):
17         result.append(leftpart)
18
19     result.append(delim)
20
21     rightpart = line[pos+len(delim):].strip()
22     if (rightpart != ""):
23         result.extend(splitline(rightpart, delim))
24
25     return result
26
27
28 def splitlines(lines, delim):
29     result = []
30     for line in lines:
31         thislines = splitline(line, delim)
32
33         result.extend(thislines)
34     return result
35
36 def splitlength(lines, maxlen):
37     result = []
38     for line in lines:
39         while (len(line) > maxlen):
40             result.append(line[:65])
41             line = line[65:]
42         result.append(line)
43     return result
44
45 lines = sys.stdin.readlines()
46
47 for line in lines:
48     if line.startswith("gid: "):
49         line = line[5:]
50
51     newlines = splitlines([line], "-----parent-----")
52     newlines = splitlines(newlines, "-----BEGIN CERTIFICATE-----")
53     newlines = splitlines(newlines, "-----END CERTIFICATE-----")
54
55     newlines = splitlength(newlines, 65)
56     
57     for line in newlines:
58         if line == "-----parent-----":
59             sys.stdout.write(line)
60         else:
61             sys.stdout.write(line + "\n")