pull/628/head
Mr Chen 7 months ago
parent 3d9d528694
commit 71877f7403
  1. 58
      web/admin/__init__.py
  2. 17
      web/admin/dashboard/__init__.py
  3. 7
      web/admin/submodules.py
  4. 14
      web/app.py
  5. 3
      web/readme.md
  6. 2
      web/setting.py

@ -14,51 +14,43 @@ from flask import Flask
from flask_socketio import SocketIO, emit, send
from flask import Flask, abort, request, current_app, session, url_for
from werkzeug.local import LocalProxy
from flask import Blueprint, render_template
import setting
socketio = SocketIO(manage_session=False, async_mode='threading',
logger=False, engineio_logger=False, debug=False,
ping_interval=25, ping_timeout=120)
class MwAdmin(Flask):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def find_submodules(self, basemodule):
print(basemodule)
@property
def submodules(self):
for blueprint in self.blueprints.values():
if isinstance(blueprint, PgAdminModule):
yield blueprint
def _find_blueprint():
if request.blueprint:
return current_app.blueprints[request.blueprint]
current_blueprint = LocalProxy(_find_blueprint)
print("current_blueprint",current_blueprint)
app = Flask(__name__, template_folder='templates/default')
socketio.init_app(app, cors_allowed_origins="*")
def create_app(app_name = None):
import config
if not app_name:
app_name = config.APP_NAME
# Check if app is created for CLI operations or Web
cli_mode = False
if app_name.endswith('-cli'):
cli_mode = True
# 加载模块
from .submodules import get_submodules
for module in get_submodules():
app.logger.info('Registering blueprint module: %s' % module)
if app.blueprints.get(module.name) is None:
app.register_blueprint(module)
app = MwAdmin(__name__, template_folder='templates/default')
socketio.init_app(app, cors_allowed_origins="*")
# Log the startup
app.logger.info('########################################################')
app.logger.info('Starting %s v%s...', config.APP_NAME, config.APP_VERSION)
app.logger.info('Starting %s v%s...', setting.APP_NAME, setting.APP_VERSION)
app.logger.info('########################################################')
app.logger.debug("Python syspath: %s", sys.path)
return app
# def create_app(app_name = None):
#
# if not app_name:
# app_name = config.APP_NAME
# # Check if app is created for CLI operations or Web
# cli_mode = False
# if app_name.endswith('-cli'):
# cli_mode = True
# return app

@ -0,0 +1,17 @@
# coding:utf-8
# ---------------------------------------------------------------------------------
# MW-Linux面板
# ---------------------------------------------------------------------------------
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
# ---------------------------------------------------------------------------------
# Author: midoks <midoks@163.com>
# ---------------------------------------------------------------------------------
from flask import Blueprint, render_template
blueprint = Blueprint('dashboard', __name__, url_prefix='/')
@blueprint.route('/')
def index():
return "dashboard"

@ -0,0 +1,7 @@
from .dashboard import blueprint as DashboardModule
def get_submodules():
return [
DashboardModule,
]

@ -22,18 +22,18 @@ if sys.path[0] != os.path.dirname(os.path.realpath(__file__)):
# print(sys.path)
import config
from admin import create_app, socketio
import setting
from admin import app, socketio
app = create_app()
# print(setting.DEFAULT_SERVER,setting.DEFAULT_SERVER_PORT)
# app = create_app()
def main():
socketio.run(
app,
debug=config.DEBUG,
debug=setting.DEBUG,
allow_unsafe_werkzeug=True,
host=config.DEFAULT_SERVER,
port=config.EFFECTIVE_SERVER_PORT,
host=setting.DEFAULT_SERVER,
port=7201,
)
if __name__ == '__main__':

@ -2,6 +2,7 @@
- 常用开发命令
```
gunicorn -b :7200 -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 app:app
gunicorn -b :7201 -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 app:app
gunicorn -b :7201 -w 1 app:app
```

@ -25,4 +25,4 @@ DEBUG = False
DEFAULT_SERVER = '127.0.0.1'
DEFAULT_SERVER_PORT = 7200
DEFAULT_SERVER_PORT = 7201
Loading…
Cancel
Save