/[gzz]/gzz/metacode/pegboard.py
ViewVC logotype

Diff of /gzz/metacode/pegboard.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9 by humppake, Tue Nov 5 16:19:53 2002 UTC revision 1.10 by humppake, Tue Nov 5 17:08:38 2002 UTC
# Line 67  def pegcmp(a, b): Line 67  def pegcmp(a, b):
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
# Line 77  def getTagValue(document, tagName): Line 78  def getTagValue(document, tagName):
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']
# Line 96  cvsignore = [] Line 105  cvsignore = []
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+'/') \
# Line 144  for pegdir in pegdirs: Line 153  for pegdir in pegdirs:
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'
# Line 194  for pegboard_line in pegboard_lines: Line 202  for pegboard_line in pegboard_lines:
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+'\">' \

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26