Mercurial > hg > wsgintegrate
view wsgintegrate/factory.py @ 33:b582d2e32d92 default tip
bump version for release
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 02 Jun 2024 16:17:49 -0700 |
parents | d742aff49859 |
children |
line wrap: on
line source
""" WSGI integration factory """ import os import sys from pyloader.factory import IniFactory class WSGIfactory(IniFactory): def __init__(self, inifile, main=''): IniFactory.__init__(self, inifile, main) self.mtime = os.path.getmtime(self.inifile) def __call__(self, environ, start_response): """WSGI application""" # if the configuration has changed, # reload the .ini file mtime = os.path.getmtime(self.inifile) if mtime > self.mtime: print("Reloading '%s': %s > %s" % (self.inifile, mtime, self.mtime)) try: config = self.read(self.inifile) self.configure(config) except Exception as e: sys.stderr.write("Error reading '%s': %s\n" % (self.inifile, e)) self.mtime = mtime app = self.load(self.main) return app(environ, start_response)