# -*- coding: UTF-8 -*- # # Desc: This file is part of the eCromedos document preparation system # Date: 2006/03/09 # Author: Tobias Koch (tkoch@ecromedos.net) # License: GNU General Public License, version 2 # URL: http://www.ecromedos.net # # std includes import os, shutil # ecmds includes from error import ECMDSPluginError def getInstance(config): '''Returns a plugin instance.''' return Plugin(config) #end function class Plugin: def __init__(self, config): try: self.data_dir = config['data_dir'] except KeyError: msg = "Please specify the correct path to the data directory." raise ECMDSPluginError(msg, "data") #end try #end function def flush(self): pass #end function def process(self, node, format): '''Prepare @node for target @format.''' if format == "xhtml": for fname in ["prev.gif", "next.gif", "toc.gif"]: src = None dst = None try: try: src = file(os.path.join(self.data_dir, fname), "rb") dst = file(fname, "wb+") shutil.copyfileobj(src, dst) finally: if src: src.close() if dst: dst.close() #end try except Exception: pass #end for #end if return node #end function #end class