|
|
@ -167,8 +167,9 @@ class ScriptForm: |
|
|
|
'Main' class that orchestrates parsing the Form configurations and running |
|
|
|
'Main' class that orchestrates parsing the Form configurations and running |
|
|
|
the webserver. |
|
|
|
the webserver. |
|
|
|
""" |
|
|
|
""" |
|
|
|
def __init__(self, config_file): |
|
|
|
def __init__(self, config_file, cache=True): |
|
|
|
self.config_file = config_file |
|
|
|
self.config_file = config_file |
|
|
|
|
|
|
|
self.cache = cache |
|
|
|
self.basepath = os.path.realpath(os.path.dirname(config_file)) |
|
|
|
self.basepath = os.path.realpath(os.path.dirname(config_file)) |
|
|
|
self.log = logging.getLogger('SCRIPTFORM') |
|
|
|
self.log = logging.getLogger('SCRIPTFORM') |
|
|
|
self.get_form_config() # Init form config so it can raise errors about problems. |
|
|
|
self.get_form_config() # Init form config so it can raise errors about problems. |
|
|
@ -180,7 +181,7 @@ class ScriptForm: |
|
|
|
instance. If it has already been read, a cached version is returned. |
|
|
|
instance. If it has already been read, a cached version is returned. |
|
|
|
""" |
|
|
|
""" |
|
|
|
# Cache |
|
|
|
# Cache |
|
|
|
if hasattr(self, 'form_config_singleton'): |
|
|
|
if self.cache and hasattr(self, 'form_config_singleton'): |
|
|
|
return self.form_config_singleton |
|
|
|
return self.form_config_singleton |
|
|
|
|
|
|
|
|
|
|
|
path = self.config_file |
|
|
|
path = self.config_file |
|
|
@ -1011,6 +1012,7 @@ if __name__ == "__main__": |
|
|
|
parser.add_option("-g", "--generate-pw", dest="generate_pw", action="store_true", default=False, help="Generate password") |
|
|
|
parser.add_option("-g", "--generate-pw", dest="generate_pw", action="store_true", default=False, help="Generate password") |
|
|
|
parser.add_option("-p", "--port", dest="port", action="store", type="int", default=80, help="Port to listen on") |
|
|
|
parser.add_option("-p", "--port", dest="port", action="store", type="int", default=80, help="Port to listen on") |
|
|
|
parser.add_option("-f", "--foreground", dest="foreground", action="store_true", default=False, help="Run in foreground (debugging)") |
|
|
|
parser.add_option("-f", "--foreground", dest="foreground", action="store_true", default=False, help="Run in foreground (debugging)") |
|
|
|
|
|
|
|
parser.add_option("-r", "--reload", dest="reload", action="store_true", default=False, help="Reload form config on every request (DEV)") |
|
|
|
parser.add_option("--pid-file", dest="pid_file", action="store", default=None, help="Pid file") |
|
|
|
parser.add_option("--pid-file", dest="pid_file", action="store", default=None, help="Pid file") |
|
|
|
parser.add_option("--log-file", dest="log_file", action="store", default=None, help="Log file") |
|
|
|
parser.add_option("--log-file", dest="log_file", action="store", default=None, help="Log file") |
|
|
|
parser.add_option("--start", dest="action_start", action="store_true", default=None, help="Start daemon") |
|
|
|
parser.add_option("--start", dest="action_start", action="store_true", default=None, help="Start daemon") |
|
|
@ -1036,7 +1038,7 @@ if __name__ == "__main__": |
|
|
|
log = logging.getLogger('MAIN') |
|
|
|
log = logging.getLogger('MAIN') |
|
|
|
try: |
|
|
|
try: |
|
|
|
if options.action_start: |
|
|
|
if options.action_start: |
|
|
|
sf = ScriptForm(args[0]) |
|
|
|
sf = ScriptForm(args[0], cache=not options.reload) |
|
|
|
daemon.register_shutdown_cb(sf.shutdown) |
|
|
|
daemon.register_shutdown_cb(sf.shutdown) |
|
|
|
daemon.start() |
|
|
|
daemon.start() |
|
|
|
sf.run(listen_port=options.port) |
|
|
|
sf.run(listen_port=options.port) |
|
|
|