def get_category_listing(self, catnode): list = [] catpath = NewtonUtils.path_from_nodename(catnode) self.get_category_subtree(catpath, list) levels = 0 content = '<h1>Category Contents</h1><div class="level1">\n<p>The following is a listing of all pages and categories within the category <code>%s</code>.' % catnode for item in list: relpath = item.replace(catpath, '') level = relpath.count('/') nodename = catnode + item.replace(catpath, '') if level == levels: if os.path.isdir(item): content += '<li class="category"><span class="li"><a href="%s" class="wikilink1">%s</a></span></li>\n' % ('data/' + nodename.replace("/", '::'), os.path.basename(item)) else: content += '<li class="page"><span class="li"><a href="%s" class="wikilink1">%s</a></span></li>\n' % ('data/' + nodename.replace("/", '::'), os.path.basename(item)) elif level > levels: if os.path.isdir(item): content += '\n<ul class="catlist">\n<li class="category"><span class="li"><a href="%s" class="wikilink1">%s</a></span></li>\n' % ('data/' + nodename.replace('/', '::'), os.path.basename(item)) else: content += '\n<ul class="catlist">\n<li class="page"><span class="li"><a href="%s" class="wikilink1">%s</a></span></li>\n' % ('data/' + nodename.replace('/', '::'), os.path.basename(item)) else: content += '\n</ul>\n' * (levels - level) if os.path.isdir(item): content += '<li class="category"><span class="li"><a href="%s" class="wikilink1">%s</a></span></li>\n' % ('data/' + nodename.replace('/', '::'), os.path.basename(item)) else: content += '<li class="page"><span class="li"><a href="%s" class="wikilink1">%s</a></span></li>\n' % ('data/' + nodename.replace('/', '::'), os.path.basename(item)) levels = level content += '\n</ul>\n' * (levels) content += '</div>' if not len(list): content += _('<div class="level2">\n<p>\n<strong>This category is empty.</strong>\n</p>\n</div>') content = "%s%s%s" % (NewtonWikiText.WIKI_PAGE_HEADER, content, NewtonWikiText.WIKI_PAGE_FOOTER) if catnode == '': content = content.replace("@PAGENAME@", 'WikiRoot') else: content = content.replace("@PAGENAME@", catnode) content = content.replace("@MODDATE@", 'N/A') content = content.replace("@PIXMAPS_DIR@", PIXMAPS_DIR) content = content.replace("@STYLESHEET@", os.path.join(WIKI_STYLES, self.config.get_string(KEY_STYLESHEET, 'Blue') + ".css")) return content
def page_exists_class(self, page): if NewtonUtils.check_path_exists(NewtonUtils.path_from_nodename(page)): return "wikilink1" else: return "wikilink2"