A Python content management system designed for kirsle.net featuring a blog, comments and photo albums. https://rophako.kirsle.net/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.2 KiB

преди 8 години
#!/usr/bin/env python
преди 8 години
# -*- coding: utf-8 -*-
преди 6 години
from __future__ import unicode_literals, absolute_import
преди 8 години
import argparse
преди 8 години
преди 7 години
from rophako.app import app
преди 8 години
parser = argparse.ArgumentParser(description="Rophako")
parser.add_argument(
"--port", "-p",
type=int,
help="Port to listen on",
default=2006,
)
parser.add_argument(
"--key", "-k",
type=str,
help="SSL private key file. Providing this option will turn on SSL mode " \
+ "(and will require pyOpenSSL to be installed).",
)
parser.add_argument(
"--cert", "-c",
type=str,
help="SSL certificate file.",
)
преди 7 години
parser.add_argument(
"--production",
help="Turns off debug mode, runs as if in production.",
action="store_true",
)
преди 8 години
args = parser.parse_args()
if __name__ == '__main__':
flask_options = dict(
host='0.0.0.0',
преди 7 години
debug=not args.production,
преди 8 години
port=args.port,
threaded=True,
)
if args.key and args.cert:
from OpenSSL import SSL
context = SSL.Context(SSL.SSLv23_METHOD)
context.use_privatekey_file(args.key)
context.use_certificate_file(args.cert)
app.config['SESSION_COOKIE_SECURE'] = True
flask_options["ssl_context"] = context
app.run(**flask_options)