def htmlrepl(self, file): try: path, f = os.path.split(file) name, ext = os.path.splitext(f) cachefile = os.path.join(self.path['cache'], file) cachepath = os.path.join(self.path['cache'], path) tmpfile = os.path.join(self.tmp, f) if (not os.path.exists(cachepath)): os.makedirs(cachepath) out = open(tmpfile, 'wt', encoding="utf-8") parser = TransParser(False, self.reps, out) parser.feedf(file) out.close() if (os.path.exists(cachefile) and filecmp.cmp(tmpfile, cachefile, False)): return 'nochange' shutil.copy2(tmpfile, cachefile) return 'success' except Exception as e: if self.configDebug: raise return type(e).__name__
def get(self, key, attrs=None): if (key not in self.repls.keys()): self.info('Unrecognised tag: \'<{}>\' at {}. Ignoring.'.format( key, self.parser.getpos() if self.parser != None else '???')) return None file, ret = self.repls[key] if (file[-3:] == '.py'): try: return ret.handler(attrs) except Exception as e: self.info( 'Tag handler for \'<{}>\' threw exception \'{}\'.'.format( key, type(e).__name__)) return '<!-- {} //-->'.format('{} -> ERROR: {}'.format( key, type(e).__name__)) elif (ret == None): s = io.StringIO('') self.disallow.append(file) # Disallow nesting! p = TransParser(False, self, s) p.feedf(file) self.disallow.pop() ret = s.getvalue() self.repls[key] = (file, ret) return ret
def get(self, key, attrs=None): if key not in self.repls.keys(): self.info( "Unrecognised tag: '<{}>' at {}. Ignoring.".format( key, self.parser.getpos() if self.parser != None else "???" ) ) return None file, ret = self.repls[key] if file[-3:] == ".py": try: return ret.handler(attrs) except Exception as e: self.info("Tag handler for '<{}>' threw exception '{}'.".format(key, type(e).__name__)) return "<!-- {} //-->".format("{} -> ERROR: {}".format(key, type(e).__name__)) elif ret == None: s = io.StringIO("") self.disallow.append(file) # Disallow nesting! p = TransParser(False, self, s) p.feedf(file) self.disallow.pop() ret = s.getvalue() self.repls[key] = (file, ret) return ret