Mercurial > hg > wsgintegrate
view wsgintegrate/factory.py @ 29:d742aff49859
-> python3
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 10 May 2020 18:46:40 -0700 |
parents | caf763fc1c7d |
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)