Tweaks to file_server initialisation

We are setting a sensible default for the storage folder and loading
that automatically, this way we avoid having a compulsory config file.
This commit is contained in:
2015-04-24 11:57:40 +02:00
parent 74e875a338
commit 770838f0fc
4 changed files with 23 additions and 22 deletions

View File

@@ -14,8 +14,6 @@ from bson import ObjectId
from datetime import datetime from datetime import datetime
from datetime import timedelta from datetime import timedelta
from file_server import file_server
RFC1123_DATE_FORMAT = '%a, %d %b %Y %H:%M:%S GMT' RFC1123_DATE_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
@@ -184,4 +182,7 @@ def post_item(entry, data):
app = Eve(validator=ValidateCustomFields, auth=CustomTokenAuth) app = Eve(validator=ValidateCustomFields, auth=CustomTokenAuth)
# The file_server module needs app to be defined
from file_server import file_server
app.register_blueprint(file_server, url_prefix='/file_server') app.register_blueprint(file_server, url_prefix='/file_server')

View File

@@ -3,7 +3,8 @@ import os
from flask import Blueprint from flask import Blueprint
from flask import request from flask import request
import config from application import app
file_server = Blueprint('file_server', __name__, file_server = Blueprint('file_server', __name__,
template_folder='templates', template_folder='templates',
@@ -22,7 +23,7 @@ def index(file_name=None):
#POST file #POST file
file_name = request.form['name'] file_name = request.form['name']
folder_name = file_name[:2] folder_name = file_name[:2]
file_folder_path = os.path.join(config.Development.FILE_STORAGE, file_folder_path = os.path.join(app.config['FILE_STORAGE'],
folder_name) folder_name)
if not os.path.exists(file_folder_path): if not os.path.exists(file_folder_path):
os.mkdir(file_folder_path) os.mkdir(file_folder_path)

View File

@@ -1,6 +1,5 @@
import os import os
class Config(object): class Config(object):
# Configured for GMAIL # Configured for GMAIL
MAIL_SERVER = '' MAIL_SERVER = ''
@@ -20,19 +19,10 @@ class Config(object):
SECURITY_PASSWORD_SALT = '' SECURITY_PASSWORD_SALT = ''
SECURITY_EMAIL_SENDER = '' SECURITY_EMAIL_SENDER = ''
class Development(Config): class Development(Config):
SECRET_KEY = '' SECRET_KEY = ''
#SERVER_NAME = 'attract.local:5555'
HOST = '0.0.0.0' HOST = '0.0.0.0'
PORT = 5000 PORT = 5000
DEBUG = True DEBUG = True
SQLALCHEMY_DATABASE_URI = ''
SECURITY_REGISTERABLE = True
SECURITY_LOGIN_USER_TEMPLATE = 'security/login_user.html'
MEDIA_FOLDER = ''
MEDIA_URL = ''
MEDIA_THUMBNAIL_FOLDER = ''
MEDIA_THUMBNAIL_URL = ''
FILE_STORAGE = '{0}/application/static/storage'.format( FILE_STORAGE = '{0}/application/static/storage'.format(
os.path.join(os.path.dirname(__file__))) os.path.join(os.path.dirname(__file__)))

View File

@@ -1,3 +1,4 @@
import os
from application import app from application import app
from application import post_item from application import post_item
from flask.ext.script import Manager from flask.ext.script import Manager
@@ -11,10 +12,18 @@ def runserver():
PORT = config.Development.PORT PORT = config.Development.PORT
HOST = config.Development.HOST HOST = config.Development.HOST
DEBUG = config.Development.DEBUG DEBUG = config.Development.DEBUG
app.config['FILE_STORAGE'] = config.Development.FILE_STORAGE
except ImportError: except ImportError:
# Default settings
PORT = 5000 PORT = 5000
HOST = '0.0.0.0' HOST = '0.0.0.0'
DEBUG = True DEBUG = True
app.config['FILE_STORAGE'] = '{0}/application/static/storage'.format(
os.path.join(os.path.dirname(__file__)))
# Automatic creation of FILE_STORAGE path if it's missing
if not os.path.exists(app.config['FILE_STORAGE']):
os.mkdir(app.config['FILE_STORAGE'])
app.run( app.run(
port=PORT, port=PORT,