def main(self, argv): """ The main entry point of the xuff application. """ import getopt def usage(): print "xuff [-t] [-v[v]] xuff-files ..." # Parse arguments. try: opts, args = getopt.getopt(argv[1:], "tv") except getopt.GetoptError: usage() return for o, a in opts: if o == '-v': global _verbose _verbose += 1 elif o == '-t': self.timing += 1 else: usage() return # Construct our log. handler = logging.StreamHandler() handler.setFormatter( logging.Formatter( "%(asctime)s.%(msecs)03d [%(levelname)s] %(message)s", "%H:%M:%S")) logging.getLogger().addHandler(handler) logging.getLogger().setLevel(logging.INFO) # Init our XSLT extensions. def wrapit(fn): """ lxml extensions have a first dummy arg that Pyana extensions don't. Adapt. """ def inside(dummy, *args): try: return fn(*args) except Exception, e: print "Error in XSLT extension: %s" % e raise return inside
def main(self, argv): """ The main entry point of the xuff application. """ import getopt def usage(): print "xuff [-t] [-v[v]] xuff-files ..." # Parse arguments. try: opts, args = getopt.getopt(argv[1:], "tv") except getopt.GetoptError: usage() return for o, a in opts: if o == '-v': global _verbose _verbose += 1 elif o == '-t': self.timing += 1 else: usage() return # Construct our log. handler = logging.StreamHandler() handler.setFormatter(logging.Formatter("%(asctime)s.%(msecs)03d [%(levelname)s] %(message)s", "%H:%M:%S")) logging.getLogger().addHandler(handler) logging.getLogger().setLevel(logging.INFO) # Init our XSLT extensions. def wrapit(fn): """ lxml extensions have a first dummy arg that Pyana extensions don't. Adapt. """ def inside(dummy, *args): try: return fn(*args) except Exception, e: print "Error in XSLT extension: %s" % e raise return inside
def run(self, params, args): foreground, = self.fillParams([('foreground', 'n')]) foreground = self.str2bool(foreground) app = Airboss() AirbossTCPHandler.command = self formatter = logging.Formatter( "%(asctime)s - %(levelname)s - %(message)s") logger.setLevel(logging.DEBUG) if foreground: # just run the app no need for daemonization ch = logging.StreamHandler(sys.stdout) ch.setLevel(logging.DEBUG) ch.setFormatter(formatter) logger.addHandler(ch) app.run() else: # redirecting the logger to the logfile handler = logging.FileHandler(logfile) handler.setLevel(logging.INFO) handler.setFormatter(formatter) logger.addHandler(handler) # redirection stdout and err to the logger # in case we get a stack trace daemon_runner = MydaemonRunnner(app) # This ensures that the logger file handle does not # get closed during daemonization daemon_runner.daemon_context.files_preserve = \ [handler.stream] # close all the fs descriptor before forking syslog.closelog() self.newdb.closeSession() self.newdb.close() self.newdb.engine.dispose() # we don't need the runnner to parse input line # since we already did it daemon_runner._start()
def run(self, params, args): foreground, = self.fillParams([ ('foreground', 'n') ]) foreground = self.str2bool(foreground) app = Airboss() AirbossTCPHandler.command = self formatter = logging.Formatter( "%(asctime)s - %(levelname)s - %(message)s") logger.setLevel(logging.DEBUG) if foreground: # just run the app no need for daemonization ch = logging.StreamHandler(sys.stdout) ch.setLevel(logging.DEBUG) ch.setFormatter(formatter) logger.addHandler(ch) app.run() else: # redirecting the logger to the logfile handler = logging.FileHandler(logfile) handler.setLevel(logging.INFO) handler.setFormatter(formatter) logger.addHandler(handler) # redirection stdout and err to the logger # in case we get a stack trace daemon_runner = MydaemonRunnner(app) # This ensures that the logger file handle does not # get closed during daemonization daemon_runner.daemon_context.files_preserve = \ [handler.stream] # close all the fs descriptor before forking syslog.closelog() self.newdb.closeSession() self.newdb.close() self.newdb.engine.dispose() # we don't need the runnner to parse input line # since we already did it daemon_runner._start()
def main(self, argv): """ The main entry point of the xuff application. """ import getopt def usage(): print("xuff [-t] [-v[v]] xuff-files ...") # Parse arguments. try: opts, args = getopt.getopt(argv[1:], "tv") except getopt.GetoptError: usage() return for o, a in opts: if o == '-v': global _verbose _verbose += 1 elif o == '-t': self.timing += 1 else: usage() return # Construct our log. handler = logging.StreamHandler() handler.setFormatter(logging.Formatter("%(asctime)s.%(msecs)03d [%(levelname)s] %(message)s", "%H:%M:%S")) logging.getLogger().addHandler(handler) logging.getLogger().setLevel(logging.INFO) # Init our XSLT extensions. def wrapit(fn): """ lxml extensions have a first dummy arg that Pyana extensions don't. Adapt. """ def inside(dummy, *args): try: return fn(*args) except Exception as e: print("Error in XSLT extension: %s" % e) raise return inside ns = etree.FunctionNamespace(self.XuffNamespaceUri) ns['endswith'] = wrapit(endswith) ns['makeuri'] = wrapit(makeuri) ns['urlquote'] = wrapit(urlquote) ns['phpquote'] = wrapit(phpquote) ns['now'] = wrapit(now8601) ns['w3cdtf'] = wrapit(w3cdtf) ns['idfromtext'] = wrapit(idfromtext) ns['slugfromtext'] = wrapit(slugfromtext) ns['lexcode'] = wrapit(lexcode) ns['imgwidth'] = wrapit(imgwidth) ns['imgheight'] = wrapit(imgheight) ns['smartypants'] = wrapit(smartypants.smartypants) # Execute all the files. #try: for a in args: self.processFile(a)