py.lib

John Y. 2018-05-30 Parent:f3ecca8e4adc Child:f5082aa9fe60

4:cb88c7d80d6f Browse Files

pgAdmin4_server.py

pgAdmin4_server.py

     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/pgAdmin4_server.py	Wed May 30 00:44:03 2018 +0300
     1.3 @@ -0,0 +1,56 @@
     1.4 +# coding: utf-8
     1.5 +# devel.a0fs.net: pgadmin.selfServerAsync - v0.1 by awgur $
     1.6 +
     1.7 +##########################################################################
     1.8 +#
     1.9 +# pgAdmin 4 - PostgreSQL Tools
    1.10 +#
    1.11 +# Copyright (C) 2013 - 2018, The pgAdmin Development Team
    1.12 +# This software is released under the PostgreSQL Licence
    1.13 +#
    1.14 +##########################################################################
    1.15 +
    1.16 +from gevent import monkey; monkey.patch_all()
    1.17 +from gevent.pywsgi import WSGIServer
    1.18 +import os
    1.19 +import sys
    1.20 +import logging
    1.21 +from logging.handlers import SysLogHandler
    1.22 +
    1.23 +
    1.24 +def prepLogger():
    1.25 +    _format = 'lo.ad.pgadmin[%(process)d]: %(message)s'
    1.26 +    _logHandler = SysLogHandler(address='/dev/log', facility='user')
    1.27 +    _logHandler.setFormatter(logging.Formatter(_format))    
    1.28 +    logging.basicConfig(level=logging.INFO)
    1.29 +    _log = logging.getLogger()
    1.30 +    _log.handlers = [_logHandler,]
    1.31 +
    1.32 +root = os.path.dirname(os.path.realpath(__file__))
    1.33 +if sys.path[0] != root:
    1.34 +    sys.path.insert(0, root)
    1.35 +
    1.36 +if sys.version_info[0] >= 3:
    1.37 +    import builtins
    1.38 +else:
    1.39 +    import __builtin__ as builtins
    1.40 +
    1.41 +# Ensure the global server mode is set.
    1.42 +builtins.SERVER_MODE = True
    1.43 +
    1.44 +import config
    1.45 +
    1.46 +# When running it as a WSGI application, directory for the configuration file
    1.47 +# must present.
    1.48 +if not os.path.exists(os.path.dirname(config.SQLITE_PATH)):
    1.49 +    raise Exception(
    1.50 +        """
    1.51 +Required configuration file is not present!
    1.52 +Please run setup.py first!"""
    1.53 +    )
    1.54 +
    1.55 +from pgAdmin4 import app as application
    1.56 +prepLogger()
    1.57 +log = logging.getLogger()
    1.58 +
    1.59 +WSGIServer(('0.0.0.0', 44000), application, log=log, error_log=log).serve_forever()