/[navidoc]/navidoc/navidoc/modules/navbar.py
ViewVC logotype

Diff of /navidoc/navidoc/modules/navbar.py

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

revision 1.8 by tuukkah, Fri Apr 25 16:02:08 2003 UTC revision 1.9 by humppake, Mon Apr 28 08:27:34 2003 UTC
# Line 1  Line 1 
1  #  #
2  # Copyright (c) 2003 by Benja Fallenstein  # Copyright (c) 2003 by Benja Fallenstein
3  #  #
4  # This file is part of Navidoc.  # This file is part of Navidoc.
# Line 39  class Tree: Line 39  class Tree:
39      re_title = re.compile("<title>(.*)</title>")      re_title = re.compile("<title>(.*)</title>")
40    
41      def __init__(self, dir):      def __init__(self, dir):
42            self.root = dir
43          self.files = []          self.files = []
44          self.name = None          self.name = None
45    
46          for el in os.listdir(dir):          for el in os.listdir(self.root):
47              el = os.path.join(dir, el)              el = os.path.join(self.root, el)
48              if os.path.isdir(el):              if os.path.isdir(el):
49                  self.addDir(el)                  self.addDir(el)
50              elif os.path.splitext(el)[1] == '.html':              elif os.path.splitext(el)[1] == '.html':
# Line 87  class Tree: Line 88  class Tree:
88              if len(el) == 2: list.append(el[0])              if len(el) == 2: list.append(el[0])
89              else: list.extend(el[3].getFiles())              else: list.extend(el[3].getFiles())
90    
91  def simpleNavbar(tree, indent=""):  def simpleNavbar(tree, filepath, indent=""):
92      s = ""      s = ""
93      for el in tree.files:      for el in tree.files:
94          if el[0].endswith('index.html'): continue          if el[0].endswith('index.html'): continue
95          s += '<li class="boxitem"><a href="%s">%s</a></li>\n' % \          s += '<li class="boxitem"><a href="%s">%s</a></li>\n' % \
96               (el[0][len(slashify(config.working_directory)):len(el[0])], el[1])               (relative_path(filepath, el[0]), el[1])
97          if len(el) > 2:          if len(el) > 2:
98              s += simpleNavbar(el[2], indent+"&nbsp;&nbsp;")              s += simpleNavbar(el[2], filepath, indent+"&nbsp;&nbsp;")
99      return s      return s
100    
101  def insertNavbars(tree, bar=None, single_file=None):  def getBar(tree, filepath):
102      if bar is None:      bar = '<hr class="footer"/>'
103          bar = '<hr class="footer"/>'      bar += '<center class="navigation-title">Navigation</center>\n'
104          bar += '<center class="navigation-title">Navigation</center>\n'      bar += '<div class="left-bar">\n'
105          bar += '<div class="left-bar">\n'      bar += ('<p class="boxhead"><a href="%s">%s'
106          bar += ('<p class="boxhead"><a href="./">%s'              '</a></p>\n') \
107                  '</a></p>\n') % tree.name              % (relative_path(filepath, slashify(tree.root)),
108          bar += '<p class="boxcontent"><ul>\n'                 tree.name)
109          bar += simpleNavbar(tree)      bar += '<p class="boxcontent"><ul>\n'
110          bar += '</ul></p></div>\n'      bar += simpleNavbar(tree, filepath=filepath)
111        bar += '</ul></p></div>\n'
112      if single_file:      return bar
113    
114    def insertNavbars(tree, navbarTree=None, singleFile=None):
115        if navbarTree == None: navbarTree = tree
116        if singleFile:
117          file = open(el[0]); s = file.read(); file.close()          file = open(el[0]); s = file.read(); file.close()
118          i = s.find('<hr class="footer"/>')          i = s.find('<hr class="footer"/>')
119          s = s[:i] + bar + s[i:]          s = s[:i] + getBar(navbarTree, el[0]) + s[i:]
120          file = open(el[0], 'w')          file = open(el[0], 'w')
121          file.write(s)          file.write(s)
122          file.close()          file.close()
# Line 122  def insertNavbars(tree, bar=None, single Line 127  def insertNavbars(tree, bar=None, single
127              if len(el) == 2:              if len(el) == 2:
128                  file = open(el[0]); s = file.read(); file.close()                  file = open(el[0]); s = file.read(); file.close()
129                  i = s.find('<hr class="footer"/>')                  i = s.find('<hr class="footer"/>')
130                  s = s[:i] + bar + s[i:]                  s = s[:i] + getBar(navbarTree, el[0]) + s[i:]
131                  file = open(el[0], 'w')                  file = open(el[0], 'w')
132                  file.write(s)                  file.write(s)
133                  file.close()                  file.close()
134                  dbg( "Inserted navbar into %s" % el[0])                  dbg( "Inserted navbar into %s" % el[0])
135              else:              else:
136                  insertNavbars(el[2], bar)                  insertNavbars(el[2], navbarTree)
137    
138  if __name__ == '__main__':  if __name__ == '__main__':
139      import sys      import sys

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

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