def test_getProcessor(self): base = FilePath(self.mktemp()) base.makedirs() input = base.child("simple3.html") FilePath(__file__).sibling("simple3.html").copyTo(input) options = { 'template': sp('template.tpl'), 'ext': '.xhtml', 'baseurl': 'burl', 'filenameMapping': None } p = process.getProcessor(default, "html", options) p(input.path, self.linkrel) self.assertXMLEqual( """\ <?xml version="1.0" ?><!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head><title>Twisted Documentation: My Test Lore Input</title></head> <body bgcolor="white"> <h1 class="title">My Test Lore Input</h1> <div class="content"> <span/> <p>A Body.</p> </div> <a href="index.xhtml">Index</a> </body> </html>""", base.child("simple3.xhtml").getContent())
def test_getProcessorWithFilenameGenerator(self): options = { 'template': sp('template.tpl'), 'ext': '.xhtml', 'baseurl': 'burl', 'filenameMapping': 'addFoo' } p = process.getProcessor(default, "html", options) p(sp('simple4.html'), self.linkrel) self.assertEqualFiles('good_simple.xhtml', 'simple4foo.xhtml')
def getProcessor(input, output, config): plugins = plugin.getPlugins(IProcessor) for plug in plugins: if plug.name == input: module = reflect.namedModule(plug.moduleName) break else: # try treating it as a module name try: module = reflect.namedModule(input) except ImportError: print '%s: no such input: %s' % (sys.argv[0], input) return try: return process.getProcessor(module, output, config) except process.NoProcessorError, e: print "%s: %s" % (sys.argv[0], e)