py.lib
4:cb88c7d80d6f Browse Files
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()