This commit is contained in:
MarkusJoe
2022-03-26 08:41:15 +08:00
parent 78652b2787
commit 1976ef6155
4 files changed
+61 -27

No files matched your search

+17 -9
View File
@@ -9,21 +9,29 @@
import os import os
import requests import requests
from flask import Flask from flask import Flask
from config import config
from .main import main from .main import main
from .db.db import SQLite
class Config: def create_app(config_name):
"""基类配置"""
JSON_SORT_KEYS = False
JSON_AS_ASCII = False
def create_app():
"""创建主app""" """创建主app"""
app = Flask(__name__) app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
app.register_blueprint(main) app.register_blueprint(main)
app.config.from_object(Config)
return app return app
def download():
res = requests.get('https://syncdatabase.herokuapp.com/sync/')
with open('./app/db/data.db', 'wb') as fp:
fp.write(res.content)
if __name__ == '__main__':
if not os.path.exists('./app/db/data.db'):
print('数据库文件未找到, 正在下载中')
download()
print('下载完成')
+2 -1
View File
@@ -8,6 +8,7 @@
import sqlite3 import sqlite3
from typing import List from typing import List
from config import Config
class SQLite: class SQLite:
@@ -18,7 +19,7 @@ class SQLite:
初始化SQLite对象 初始化SQLite对象
完成后会自动提交, 自动关闭 完成后会自动提交, 自动关闭
""" """
self.__path = './app/db/data.db' self.__path = Config.SQLALCHEMY_DATABASE_URI
self.__conn = sqlite3.connect(self.__path) self.__conn = sqlite3.connect(self.__path)
self.__cursor = self.__conn.cursor() self.__cursor = self.__conn.cursor()
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/3/26
# @File Name: config.py
class Config:
JSON_SORT_KEYS = False
JSON_AS_ASCII = False
SQLALCHEMY_DATABASE_URI = './app/db/data.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False
@staticmethod
def init_app(app):
pass
class DevelopmentConfig(Config):
DEBUG = True
class ProductionConfig(Config):
DEBUG = False
config = {
'development': DevelopmentConfig,
'production': ProductionConfig,
'default': ProductionConfig
}
+9 -17
View File
@@ -6,25 +6,17 @@
# @File Name: manage.py # @File Name: manage.py
import os
import requests
from gevent import pywsgi from gevent import pywsgi
from app import create_app from app import create_app
app = create_app() app = create_app('default')
def download():
res = requests.get('http://resource-base.herokuapp.com/download/data.db')
with open('./app/db/data.db', 'wb') as fp:
fp.write(res.content)
if not os.path.exists('./app/db/data.db'):
print('数据库文件未找到, 正在下载中')
download()
print('下载完成')
if __name__ == '__main__': if __name__ == '__main__':
server = pywsgi.WSGIServer(('0.0.0.0', 5000), app) print('服务运行在 http://127.0.0.1:5000')
server.serve_forever() try:
server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
server.serve_forever()
except KeyboardInterrupt:
print('已退出')
except OSError:
print('5000 端口已被占用')