Python : Hvor gemmer fejlen sig?
Hej, sidder og leger lidt med Python (med mod_python under apache), og forsøger at oversætte nogle forskellige PHP scripts jeg har liggende... Jeg er ind til videre nået frem til dette (et meget simpelt template system), men det virker ikke rigtigt. Jeg har desværre ingen ide om hvor fejlen ligger, da jeg ikke får nogen fejlmeldinger, men den udskriver slet intet hvilket den gerne skulle (skulle gerne udskrive indholdet af de to html filer index.html og menu.html). Håber nogen kan finde fejlen.#!/usr/bin/python
import string
import re
print "Content-Type: text/html\n\n"
class template :
template = {}
# Load template from 'filename' and save it as 'name'
def load( self, name, filename ) :
file = '../lib/templates/' + filename
fh = open( file, 'r' )
self.template[name] = fh.read( )
fh.close( )
if self.template[name] :
return 1
else :
return 0
# Replace 'key' with 'value' in 'template'
def addValue( self, template, key, value ) :
key = '{' + key + '}'
value = value + key
self.template[template] = replace( self.template[template], key, value )
# Replace 'key' with the content of template 'ty' in the template named 'tx'
def addTemplate( self, tx, key, ty ) :
key = '{' + key + '}'
self.template[tx] = replace( self.template[tx], key, self.template[ty] )
# Remove all template tags in 'template'
def clean( self, template ) :
self.template[template] = re.sub( '\{[A-Z0-9.-_]+\}', self.template[template], '' )
# Remove all template tags in 'template' and send it to the user
def send( self, template ) :
self.clean( template )
print self.template[template]
# Test kode
template = template( )
template.load( 'main', 'index.html' )
template.load( 'menu', 'menu.html' )
template.addTemplate( 'main', 'MENU', 'menu' )
template.send( 'main' )
