#!/usr/bin/python # TYPE:internet # DESC:The replacement for the index page of tinpenguin.com/python/. Takes each python file in the directory, reads its data, and displays it in an html template. print "Content-type:text/html\n\n" import os, re from dircache import listdir BASEDIR = "../python/" files = listdir(BASEDIR) def find_tag(content, tofind): try: return re.search('# ?%s:(.*)' % tofind.upper(), content).group(1) except AttributeError: return 0 class Program: def __init__(self,name,desc,type,arch=0): self.name = name self.desc = desc self.type = type if arch:self.arch = arch else: self.arch = 0 def get_arch(self): if self.arch: return ' Get archive' % (BASEDIR+self.arch) else: return '' programs = [] for i in range(len(files)): current = files[i] if current[-3:] == ".py": parts = open(BASEDIR+current).read() type = find_tag(parts, 'type') desc = find_tag(parts, 'desc') arch = find_tag(parts, 'arch') programs.append(Program(current,desc,type,arch)) page = [] for program in programs: page.append('\t\t\t\t
%s See source%s
' % (program.name,program.desc,BASEDIR+program.name,program.get_arch())) page.append('\t\t\t\t