aboutsummaryrefslogtreecommitdiff
path: root/server/szurubooru/facade.py
diff options
context:
space:
mode:
authorrr-2017-01-07 11:59:43 +0100
committerrr-2017-01-08 10:25:29 +0100
commit036fa9ee3908f480b9e0f8aa3018bf7c8768e88f (patch)
treec83823023ae078affbd0a17857ccb10f9948b106 /server/szurubooru/facade.py
parentf00cc5f3fa3a16a1f7055c772c3008d030f41fef (diff)
server/uploads: add file upload api
Diffstat (limited to 'server/szurubooru/facade.py')
-rw-r--r--server/szurubooru/facade.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/server/szurubooru/facade.py b/server/szurubooru/facade.py
index 5211ca8..e29aae1 100644
--- a/server/szurubooru/facade.py
+++ b/server/szurubooru/facade.py
@@ -1,11 +1,13 @@
''' Exports create_app. '''
import os
+import time
import logging
+import threading
import coloredlogs
import sqlalchemy.orm.exc
from szurubooru import config, errors, rest
-from szurubooru.func import posts
+from szurubooru.func import posts, file_uploads
# pylint: disable=unused-import
from szurubooru import api, middleware
@@ -79,6 +81,15 @@ def validate_config():
raise errors.ConfigError('Database is not configured')
+def purge_old_uploads():
+ while True:
+ try:
+ file_uploads.purge_old_uploads()
+ except Exception as ex:
+ logging.exception(ex)
+ time.sleep(60 * 5)
+
+
def create_app():
''' Create a WSGI compatible App object. '''
validate_config()
@@ -88,6 +99,9 @@ def create_app():
if config.config['show_sql']:
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
+ purge_thread = threading.Thread(target=purge_old_uploads)
+ purge_thread.daemon = True
+ purge_thread.start()
posts.populate_reverse_search()
rest.errors.handle(errors.AuthError, _on_auth_error)

© 2015 - 2026 Jakob L. Kreuze