#!/usr/bin/env python
"""
combined.cgi - Combined Sitelist and Metadata
Author: Sean B. Palmer
Todo:
@@ filter on folder name
@@ filter on excludes list
"""
import cgitb; cgitb.enable()
import sys, time
from code import metagen, sitemapper
def isotime(t):
return time.strftime('%Y-%m-%d %H:%M', time.gmtime(t))
class Sitemap(sitemapper.Sitemap):
def crawl(self):
self.xml += ''
self.xml += '
Combined Sitelist'
self.xml += ('')
self.xml += ''
self.xml += 'Combined Sitelist
'
self.xml += ''
def compare(p, q):
return cmp(p.sitepath, q.sitepath)
for path in sorted(self.paths(), cmp=compare):
self.uri(path)
self.xml += '
'
self.xml += ''
self.xml += ''
self.xml += ''
def uri(self, f):
template = ' %s'
if metagen.exists(f.sitepath):
priority = '***'
metadata = metagen.Metadata(path=f.sitepath)
if metadata.has_key('keywords'):
if 'highlight' in metadata['keywords']:
priority = '***'
template = ' %%s %s' % priority
content = ((' %s ' % (f.sitepath, f.sitepath)) +
(' (%s) ' % isotime(f.mtime)))
self.xml += template % content
def main():
print "Content-Type: text/html"
print
mapper = Sitemap('inamidst.com', '..')
mapper.crawl()
mapper.output()
if __name__=="__main__":
main()