04.08.2014 Views

o_18ufhmfmq19t513t3lgmn5l1qa8a.pdf

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 22 ■ PROJECT 3: XML FOR ALL OCCASIONS 435<br />

def characters(self, chars):<br />

if self.passthrough: self.out.write(chars)<br />

def defaultStart(self, name, attrs):<br />

if self.passthrough:<br />

self.out.write('')<br />

def defaultEnd(self, name):<br />

if self.passthrough:<br />

self.out.write('' % name)<br />

def startDirectory(self, attrs):<br />

self.directory.append(attrs['name'])<br />

self.ensureDirectory()<br />

def endDirectory(self):<br />

self.directory.pop()<br />

def startPage(self, attrs):<br />

filename = os.path.join(*self.directory+[attrs['name']+'.html'])<br />

self.out = open(filename, 'w')<br />

self.writeHeader(attrs['title'])<br />

self.passthrough = True<br />

def endPage(self):<br />

self.passthrough = False<br />

self.writeFooter()<br />

self.out.close()<br />

def writeHeader(self, title):<br />

self.out.write('\n \n ')<br />

self.out.write(title)<br />

self.out.write('\n \n \n')<br />

def writeFooter(self):<br />

self.out.write('\n \n\n')<br />

parse('website.xml', WebsiteConstructor('public_html'))

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!