67 |
bc = bs[0]*356 + bs[1]*30 + bs[2] |
bc = bs[0]*356 + bs[1]*30 + bs[2] |
68 |
return ac < bc or (bc < ac) * -1 or 0 |
return ac < bc or (bc < ac) * -1 or 0 |
69 |
|
|
70 |
#returns the value of the first occurrense of |
#returns the value of the first occurrense or all of the occurrences |
71 |
#given tagName in docutils' document tree |
#of given tagName in docutils' document tree |
72 |
def getTagValue(document, tagName): |
def getTagValue(document, tagName, all=0): |
73 |
|
values = [] |
74 |
if document.tagname.lower() == tagName.lower(): |
if document.tagname.lower() == tagName.lower(): |
75 |
if hasattr(document.children[0], 'data'): |
if hasattr(document.children[0], 'data'): |
76 |
return document.children[0].data |
return document.children[0].data |
78 |
return document.rawsource |
return document.rawsource |
79 |
if hasattr(document, 'children'): |
if hasattr(document, 'children'): |
80 |
for child in document.children: |
for child in document.children: |
81 |
value = getTagValue(child, tagName) |
value = getTagValue(child, tagName, all) |
82 |
if value: |
if value and not all: |
83 |
return value |
return value |
84 |
return '' |
elif value: |
85 |
|
if type(value) == type([]): |
86 |
|
values.extend(value) |
87 |
|
else: |
88 |
|
values.append(value) |
89 |
|
if len(values) > 0: |
90 |
|
return values |
91 |
|
else: |
92 |
|
return '' |
93 |
|
|
94 |
pegdirs = [d for d in os.listdir(pegroot+'/') |
pegdirs = [d for d in os.listdir(pegroot+'/') |
95 |
if os.path.isdir(pegroot+'/'+d) and d != 'CVS'] |
if os.path.isdir(pegroot+'/'+d) and d != 'CVS'] |
105 |
for pegdir in pegdirs: |
for pegdir in pegdirs: |
106 |
print 'Process PEG %s' % (pegdir) |
print 'Process PEG %s' % (pegdir) |
107 |
|
|
108 |
peg = {'author': '', 'status': undefined, 'topic': pegdir, 'stakeholders': '', |
peg = {'authors': '', 'status': undefined, 'topic': pegdir, 'stakeholders': '', |
109 |
'date': '', 'dir': pegdir, 'files': '', 'html': '', 'rst': '' } |
'date': '', 'dir': pegdir, 'files': '', 'html': '', 'rst': '' } |
110 |
|
|
111 |
pegfiles = [f for f in os.listdir(pegroot+'/'+pegdir+'/') \ |
pegfiles = [f for f in os.listdir(pegroot+'/'+pegdir+'/') \ |
153 |
if peg['date'].startswith('$Date'): |
if peg['date'].startswith('$Date'): |
154 |
peg['date'] = peg['date'][7:len(peg['date'])-11].replace('/', '-') |
peg['date'] = peg['date'][7:len(peg['date'])-11].replace('/', '-') |
155 |
peg['status'] = getTagValue(document, 'status') or undefined |
peg['status'] = getTagValue(document, 'status') or undefined |
156 |
peg['stakeholders'] = getTagValue(document, 'stakeholders') |
peg['stakeholders'] = getTagValue(document, 'stakeholder', all=1) |
157 |
peg['author'] = getTagValue(document, 'author') or \ |
peg['authors'] = getTagValue(document, 'author', all=1) |
|
getTagValue(document, 'authors') |
|
158 |
except: |
except: |
159 |
fails += 'PEG %s: Docutil raised an exception while converting %s. ' % (pegdir, rstfile) |
fails += 'PEG %s: Docutil raised an exception while converting %s. ' % (pegdir, rstfile) |
160 |
fails += 'Conversion failed and HTML not created.\n' |
fails += 'Conversion failed and HTML not created.\n' |
202 |
replace_str += '\t<td><a href=\"'+peg['dir']+'/'+peg['html']+'\">' \ |
replace_str += '\t<td><a href=\"'+peg['dir']+'/'+peg['html']+'\">' \ |
203 |
+ peg['status'] + '</a></td>\n' |
+ peg['status'] + '</a></td>\n' |
204 |
replace_str += '\t<td>' + peg['topic'] + '</td>\n' |
replace_str += '\t<td>' + peg['topic'] + '</td>\n' |
205 |
replace_str += '\t<td>' + peg['author'] + '</td>\n' |
replace_str += '\t<td>' |
206 |
replace_str += '\t<td>' + peg['stakeholders'] + '</td>\n' |
for author in peg['authors']: |
207 |
|
if peg['authors'].index(author) > 0: |
208 |
|
replace_str += ',' |
209 |
|
replace_str += '\n\t\t' + author |
210 |
|
replace_str += '\n\t</td>\n' |
211 |
|
replace_str += '\t<td>' |
212 |
|
for stakeholder in peg['stakeholders']: |
213 |
|
if peg['stakeholders'].index(stakeholder) > 0: |
214 |
|
replace_str += ',' |
215 |
|
replace_str += '\n\t\t' + stakeholder |
216 |
|
replace_str += '\n\t</td>\n' |
217 |
replace_str += '\t<td>\n' |
replace_str += '\t<td>\n' |
218 |
for file in peg['files']: |
for file in peg['files']: |
219 |
replace_str += '\t\t<a href=\"'+peg['dir']+'/'+file+'\">' \ |
replace_str += '\t\t<a href=\"'+peg['dir']+'/'+file+'\">' \ |