# -*- coding: utf-8 -*- """ This macro shows a list of wiki page, exclude wiki-default pages. $Id: MyTitleIndex.py 4 2006-03-22 03:47:58Z takayama $ """ import time, re import string from StringIO import StringIO wiki_pages = [ "CamelCase", "RecentChanges", "TitleIndex", "TracAccessibility", "TracAdmin", "TracBackup", "TracBrowser", "TracCgi", "TracChangeset", "TracEnvironment", "TracFastCgi", "TracGuide", "TracImport", "TracIni", "TracInstall", "TracInterfaceCustomization", "TracLinks", "TracLogging", "TracModPython", "TracNotification", "TracPermissions", "TracPlugins", "TracQuery", "TracReports", "TracRoadmap", "TracRss", "TracSearch", "TracStandalone", "TracSupport", "TracSyntaxColoring", "TracTickets", "TracTicketsCustomFields", "TracTimeline", "TracUnicode", "TracUpgrade", "TracWiki", "WikiDeletePage", "WikiFormatting", "WikiHtml", "WikiMacros", "WikiNewPage", "WikiPageNames", "WikiProcessors", "WikiRestructuredText", "WikiRestructuredTextLinks" ] def execute(hdf, args, env): db = env.get_db_cnx() cursor = db.cursor() sql = 'SELECT DISTINCT name FROM wiki ORDER BY name' cursor.execute(sql) buf = StringIO() buf.write('') return buf.getvalue() def getInfo(db,name): cs = db.cursor() desc = name # Get the latest revision only. cs.execute('SELECT text from wiki where name = \'%s\' order by version desc limit 1' % name) csrow = cs.fetchone() prefix = '' if csrow != None: text = csrow[0] m = re.search('=+\s([^=]*)=+',text) if m != None: desc = string.strip(m.group(1)) else: prefix = "Create " title = StringIO() title.write("%s%s"%(prefix, desc)) if prefix != '' or desc == name: desc = '' return (name,title.getvalue(),desc)