summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--INSTALL.md64
-rw-r--r--client/.jscsrc (renamed from .jscsrc)0
-rw-r--r--client/build.js (renamed from scripts/build-frontend.js)16
-rw-r--r--client/css/forms.css (renamed from static/css/forms.css)0
-rw-r--r--client/css/help.css (renamed from static/css/help.css)0
-rw-r--r--client/css/home.css (renamed from static/css/home.css)0
-rw-r--r--client/css/main.css (renamed from static/css/main.css)0
-rw-r--r--client/css/users.css (renamed from static/css/users.css)0
-rw-r--r--client/html/help-about.hbs (renamed from static/html/help-about.hbs)0
-rw-r--r--client/html/help-comments.hbs (renamed from static/html/help-comments.hbs)0
-rw-r--r--client/html/help-keyboard.hbs (renamed from static/html/help-keyboard.hbs)0
-rw-r--r--client/html/help-search.hbs (renamed from static/html/help-search.hbs)0
-rw-r--r--client/html/help-tos.hbs (renamed from static/html/help-tos.hbs)0
-rw-r--r--client/html/help.hbs (renamed from static/html/help.hbs)0
-rw-r--r--client/html/home.hbs (renamed from static/html/home.hbs)0
-rw-r--r--client/html/index.htm (renamed from static/html/index.htm)0
-rw-r--r--client/html/login.hbs (renamed from static/html/login.hbs)0
-rw-r--r--client/html/top_nav.hbs (renamed from static/html/top_nav.hbs)0
-rw-r--r--client/html/user_registration.hbs (renamed from static/html/user_registration.hbs)0
-rw-r--r--client/img/favicon.png (renamed from static/favicon.png)bin1997 -> 1997 bytes
-rw-r--r--client/js/.gitignore (renamed from static/js/.gitignore)0
-rw-r--r--client/js/api.js (renamed from static/js/api.js)0
-rw-r--r--client/js/config.js (renamed from static/js/config.js)0
-rw-r--r--client/js/controllers/auth_controller.js (renamed from static/js/controllers/auth_controller.js)0
-rw-r--r--client/js/controllers/comments_controller.js (renamed from static/js/controllers/comments_controller.js)0
-rw-r--r--client/js/controllers/help_controller.js (renamed from static/js/controllers/help_controller.js)0
-rw-r--r--client/js/controllers/history_controller.js (renamed from static/js/controllers/history_controller.js)0
-rw-r--r--client/js/controllers/home_controller.js (renamed from static/js/controllers/home_controller.js)0
-rw-r--r--client/js/controllers/posts_controller.js (renamed from static/js/controllers/posts_controller.js)0
-rw-r--r--client/js/controllers/tags_controller.js (renamed from static/js/controllers/tags_controller.js)0
-rw-r--r--client/js/controllers/top_nav_controller.js (renamed from static/js/controllers/top_nav_controller.js)0
-rw-r--r--client/js/controllers/users_controller.js (renamed from static/js/controllers/users_controller.js)0
-rw-r--r--client/js/event_listener.js (renamed from static/js/event_listener.js)0
-rw-r--r--client/js/main.js (renamed from static/js/main.js)0
-rw-r--r--client/js/util.js (renamed from static/js/util.js)0
-rw-r--r--client/js/views/base_view.js (renamed from static/js/views/base_view.js)0
-rw-r--r--client/js/views/help_view.js (renamed from static/js/views/help_view.js)0
-rw-r--r--client/js/views/home_view.js (renamed from static/js/views/home_view.js)0
-rw-r--r--client/js/views/login_view.js (renamed from static/js/views/login_view.js)0
-rw-r--r--client/js/views/registration_view.js (renamed from static/js/views/registration_view.js)0
-rw-r--r--client/js/views/top_nav_view.js (renamed from static/js/views/top_nav_view.js)0
-rw-r--r--client/package.json (renamed from package.json)4
-rw-r--r--client/public/.gitignore (renamed from public/.gitignore)0
-rw-r--r--server/alembic.ini (renamed from alembic.ini)0
-rwxr-xr-xserver/host-waitress (renamed from scripts/host-waitress)8
-rw-r--r--server/requirements.txt (renamed from requirements.txt)0
-rw-r--r--server/szurubooru/__init__.py (renamed from szurubooru/__init__.py)0
-rw-r--r--server/szurubooru/api/__init__.py (renamed from szurubooru/api/__init__.py)0
-rw-r--r--server/szurubooru/api/users.py (renamed from szurubooru/api/users.py)0
-rw-r--r--server/szurubooru/app.py (renamed from szurubooru/app.py)0
-rw-r--r--server/szurubooru/config.py (renamed from szurubooru/config.py)4
-rw-r--r--server/szurubooru/middleware/__init__.py (renamed from szurubooru/middleware/__init__.py)0
-rw-r--r--server/szurubooru/middleware/authenticator.py (renamed from szurubooru/middleware/authenticator.py)0
-rw-r--r--server/szurubooru/middleware/db_session.py (renamed from szurubooru/middleware/db_session.py)0
-rw-r--r--server/szurubooru/middleware/json_translator.py (renamed from szurubooru/middleware/json_translator.py)0
-rw-r--r--server/szurubooru/middleware/require_json.py (renamed from szurubooru/middleware/require_json.py)0
-rw-r--r--server/szurubooru/migrations/env.py (renamed from szurubooru/migrations/env.py)0
-rw-r--r--server/szurubooru/migrations/script.py.mako (renamed from szurubooru/migrations/script.py.mako)0
-rw-r--r--server/szurubooru/migrations/versions/7032abdf6efd_make_login_time_nullable.py (renamed from szurubooru/migrations/versions/7032abdf6efd_make_login_time_nullable.py)0
-rw-r--r--server/szurubooru/migrations/versions/89ca368219b6_change_user_access_rank.py (renamed from szurubooru/migrations/versions/89ca368219b6_change_user_access_rank.py)0
-rw-r--r--server/szurubooru/migrations/versions/d186d2e9c2c9_add_unique_constraint_to_user_name.py (renamed from szurubooru/migrations/versions/d186d2e9c2c9_add_unique_constraint_to_user_name.py)0
-rw-r--r--server/szurubooru/migrations/versions/e5c1216a8503_create_user_table.py (renamed from szurubooru/migrations/versions/e5c1216a8503_create_user_table.py)0
-rw-r--r--server/szurubooru/model/__init__.py (renamed from szurubooru/model/__init__.py)0
-rw-r--r--server/szurubooru/model/base.py (renamed from szurubooru/model/base.py)0
-rw-r--r--server/szurubooru/model/user.py (renamed from szurubooru/model/user.py)0
-rw-r--r--server/szurubooru/services/__init__.py (renamed from szurubooru/services/__init__.py)0
-rw-r--r--server/szurubooru/services/auth_service.py (renamed from szurubooru/services/auth_service.py)0
-rw-r--r--server/szurubooru/services/errors.py (renamed from szurubooru/services/errors.py)0
-rw-r--r--server/szurubooru/services/password_service.py (renamed from szurubooru/services/password_service.py)0
-rw-r--r--server/szurubooru/services/user_service.py (renamed from szurubooru/services/user_service.py)0
-rw-r--r--server/szurubooru/util.py (renamed from szurubooru/util.py)0
72 files changed, 55 insertions, 46 deletions
diff --git a/.gitignore b/.gitignore
index 50817d1..378345b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,2 @@
config.ini
-node_modules
-
-# name used in INSTALL.md
-python_modules
+*/*_modules/
diff --git a/INSTALL.md b/INSTALL.md
index 472d62f..3a99f4d 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -39,12 +39,20 @@ user@host:~$ sudo -i -u postgres psql -c "ALTER USER szuru PASSWORD 'dog';"
-### Installing soft dependencies
+### Preparing environment
+
+Getting `szurubooru`:
+
+```console
+user@host:~$ git clone https://github.com/rr-/szurubooru2 szuru
+user@host:~$ cd szuru
+```
Installing frontend dependencies:
```console
-user@host:path/to/szurubooru$ npm install
+user@host:szuru$ cd client
+user@host:szuru/client$ npm install
```
`npm` sandboxes dependencies by default, i.e. installs them to
@@ -54,35 +62,43 @@ project's dependencies. To make Python work the same way, we'll use
this:
```console
-user@host:path/to/szurubooru$ virtualenv python_modules # consistent with node_modules
-user@host:path/to/szurubooru$ source python_modules/bin/activate # enters the sandbox
-(python_modules) user@host:path/to/szurubooru$ pip install -r requirements.txt # installs the dependencies
+user@host:szuru/client$ cd ../server
+user@host:szuru/server$ virtualenv python_modules # consistent with node_modules
+user@host:szuru/server$ source python_modules/bin/activate # enters the sandbox
+(python_modules) user@host:szuru/server$ pip install -r requirements.txt # installs the dependencies
```
### Preparing `szurubooru` for first run
-Configure things:
+1. Configure things:
-```console
-user@host:path/to/szurubooru$ cp config.ini.dist config.ini
-user@host:path/to/szurubooru$ vim config.ini
-```
+ ```console
+ user@host:szuru$ cp config.ini.dist config.ini
+ user@host:szuru$ vim config.ini
+ ```
-Pay extra attention to the `[database]` and `[smtp]` sections, and API URL in
-`[basic]`.
+ Pay extra attention to the `[database]` and `[smtp]` sections, and API URL in
+ `[basic]`.
-Then update the database and compile the frontend:
+2. Compile the frontend:
-```console
-user@host:path/to/szurubooru$ npm run build # compiles frontend
-user@host:path/to/szurubooru$ source python_modules/bin/activate # enters python sandbox
-(python_modules) user@host:path/to/szurubooru$ alembic update head # runs all DB upgrades
-```
+ ```console
+ user@host:szuru$ cd client
+ user@host:szuru/client$ npm run build
+ ```
+
+3. Upgrade the database:
+
+ ```console
+ user@host:szuru/client$ cd ../server
+ user@host:szuru/server$ source python_modules/bin/activate
+ (python_modules) user@host:szuru/server$ alembic update head
+ ```
-`alembic` should have been installed during installation of `szurubooru`'s
-dependencies.
+ `alembic` should have been installed during installation of `szurubooru`'s
+ dependencies.
It is recommended to rebuild the frontend after each change to configuration.
@@ -99,9 +115,9 @@ Below are described the methods to integrate the API into a web server:
1. Run API locally with `waitress`, and bind it with a reverse proxy. In this
approach, the user needs to (from within `virtualenv`) install `waitress`
with `pip install waitress` and then start `szurubooru` with
- `./scripts/host-waitress` (see `--help` for details). Then the user needs to
+ `./server/host-waitress` (see `--help` for details). Then the user needs to
add a virtual host that delegates the API requests to the local API server,
- and the browser requests to the `public/` directory.
+ and the browser requests to the `client/public/` directory.
2. Alternatively, Apache users can use `mod_wsgi`.
3. Alternatively, users can use other WSGI frontends such as `gunicorn` or
`uwsgi`, but they'll need to write wrapper scripts themselves.
@@ -126,7 +142,7 @@ server {
proxy_pass http://127.0.0.1:6666/$1$is_args$args;
}
location / {
- root /home/rr-/src/maintained/szurubooru/public;
+ root /home/rr-/src/maintained/szurubooru/client/public;
try_files $uri /index.htm;
}
}
@@ -139,5 +155,5 @@ server {
api_url = http://big.dude/api/
```
-Then the backend is started with `./scripts/host-waitress` from within
+Then the backend is started with `./server/host-waitress` from within
`virtualenv`.
diff --git a/.jscsrc b/client/.jscsrc
index c12b28d..c12b28d 100644
--- a/.jscsrc
+++ b/client/.jscsrc
diff --git a/scripts/build-frontend.js b/client/build.js
index fee4f4f..eb32e9b 100644
--- a/scripts/build-frontend.js
+++ b/client/build.js
@@ -25,10 +25,10 @@ function getConfig() {
return result;
}
- let config = parseIniFile('./config.ini.dist');
+ let config = parseIniFile('../config.ini.dist');
try {
- const localConfig = parseIniFile('./config.ini');
+ const localConfig = parseIniFile('../config.ini');
config = merge.recursive(config, localConfig);
} catch (e) {
console.warn('Local config does not exist, ignoring');
@@ -49,8 +49,8 @@ function getConfig() {
function bundleHtml(config) {
const minify = require('html-minifier').minify;
- const baseHtml = fs.readFileSync('./static/html/index.htm', 'utf-8');
- glob('static/html/**/*.hbs', {}, (er, files) => {
+ const baseHtml = fs.readFileSync('./html/index.htm', 'utf-8');
+ glob('./html/**/*.hbs', {}, (er, files) => {
let templatesHtml = '';
for (const file of files) {
templatesHtml += util.format(
@@ -78,7 +78,7 @@ function bundleHtml(config) {
function bundleCss() {
const minify = require('csso').minify;
- glob('static/css/**/*.css', {}, (er, files) => {
+ glob('./css/**/*.css', {}, (er, files) => {
let css = '';
for (const file of files) {
css += fs.readFileSync(file);
@@ -91,7 +91,7 @@ function bundleCss() {
function bundleJs() {
const browserify = require('browserify');
const uglifyjs = require('uglify-js');
- glob('./static/js/**/*.js', {}, function(er, files) {
+ glob('./js/**/*.js', {}, function(er, files) {
const outputFile = fs.createWriteStream('./public/bundle.min.js');
browserify().add(files).bundle().pipe(outputFile);
outputFile.on('finish', function() {
@@ -104,7 +104,7 @@ function bundleJs() {
function bundleConfig(config) {
fs.writeFileSync(
- './static/js/.config.autogen.json', JSON.stringify(config));
+ './js/.config.autogen.json', JSON.stringify(config));
}
function copyFile(source, target) {
@@ -116,4 +116,4 @@ bundleConfig(config);
bundleHtml(config);
bundleCss();
bundleJs();
-copyFile('static/favicon.png', 'public/favicon.png');
+copyFile('./img/favicon.png', './public/favicon.png');
diff --git a/static/css/forms.css b/client/css/forms.css
index 4635b00..4635b00 100644
--- a/static/css/forms.css
+++ b/client/css/forms.css
diff --git a/static/css/help.css b/client/css/help.css
index 4548a8a..4548a8a 100644
--- a/static/css/help.css
+++ b/client/css/help.css
diff --git a/static/css/home.css b/client/css/home.css
index d4ee6d7..d4ee6d7 100644
--- a/static/css/home.css
+++ b/client/css/home.css
diff --git a/static/css/main.css b/client/css/main.css
index c161a6a..c161a6a 100644
--- a/static/css/main.css
+++ b/client/css/main.css
diff --git a/static/css/users.css b/client/css/users.css
index c28f5dc..c28f5dc 100644
--- a/static/css/users.css
+++ b/client/css/users.css
diff --git a/static/html/help-about.hbs b/client/html/help-about.hbs
index 1a1c377..1a1c377 100644
--- a/static/html/help-about.hbs
+++ b/client/html/help-about.hbs
diff --git a/static/html/help-comments.hbs b/client/html/help-comments.hbs
index a1a7b3d..a1a7b3d 100644
--- a/static/html/help-comments.hbs
+++ b/client/html/help-comments.hbs
diff --git a/static/html/help-keyboard.hbs b/client/html/help-keyboard.hbs
index 8b04682..8b04682 100644
--- a/static/html/help-keyboard.hbs
+++ b/client/html/help-keyboard.hbs
diff --git a/static/html/help-search.hbs b/client/html/help-search.hbs
index c340f3a..c340f3a 100644
--- a/static/html/help-search.hbs
+++ b/client/html/help-search.hbs
diff --git a/static/html/help-tos.hbs b/client/html/help-tos.hbs
index 2b35f8f..2b35f8f 100644
--- a/static/html/help-tos.hbs
+++ b/client/html/help-tos.hbs
diff --git a/static/html/help.hbs b/client/html/help.hbs
index 5a2fccd..5a2fccd 100644
--- a/static/html/help.hbs
+++ b/client/html/help.hbs
diff --git a/static/html/home.hbs b/client/html/home.hbs
index fc476b5..fc476b5 100644
--- a/static/html/home.hbs
+++ b/client/html/home.hbs
diff --git a/static/html/index.htm b/client/html/index.htm
index 2dbceab..2dbceab 100644
--- a/static/html/index.htm
+++ b/client/html/index.htm
diff --git a/static/html/login.hbs b/client/html/login.hbs
index 651ac92..651ac92 100644
--- a/static/html/login.hbs
+++ b/client/html/login.hbs
diff --git a/static/html/top_nav.hbs b/client/html/top_nav.hbs
index fb693c2..fb693c2 100644
--- a/static/html/top_nav.hbs
+++ b/client/html/top_nav.hbs
diff --git a/static/html/user_registration.hbs b/client/html/user_registration.hbs
index a17997f..a17997f 100644
--- a/static/html/user_registration.hbs
+++ b/client/html/user_registration.hbs
diff --git a/static/favicon.png b/client/img/favicon.png
index 22ce392..22ce392 100644
--- a/static/favicon.png
+++ b/client/img/favicon.png
Binary files differ
diff --git a/static/js/.gitignore b/client/js/.gitignore
index 16e3bbe..16e3bbe 100644
--- a/static/js/.gitignore
+++ b/client/js/.gitignore
diff --git a/static/js/api.js b/client/js/api.js
index b950b68..b950b68 100644
--- a/static/js/api.js
+++ b/client/js/api.js
diff --git a/static/js/config.js b/client/js/config.js
index 4524be6..4524be6 100644
--- a/static/js/config.js
+++ b/client/js/config.js
diff --git a/static/js/controllers/auth_controller.js b/client/js/controllers/auth_controller.js
index 39a0c43..39a0c43 100644
--- a/static/js/controllers/auth_controller.js
+++ b/client/js/controllers/auth_controller.js
diff --git a/static/js/controllers/comments_controller.js b/client/js/controllers/comments_controller.js
index ff934df..ff934df 100644
--- a/static/js/controllers/comments_controller.js
+++ b/client/js/controllers/comments_controller.js
diff --git a/static/js/controllers/help_controller.js b/client/js/controllers/help_controller.js
index 86788f6..86788f6 100644
--- a/static/js/controllers/help_controller.js
+++ b/client/js/controllers/help_controller.js
diff --git a/static/js/controllers/history_controller.js b/client/js/controllers/history_controller.js
index 4ecad22..4ecad22 100644
--- a/static/js/controllers/history_controller.js
+++ b/client/js/controllers/history_controller.js
diff --git a/static/js/controllers/home_controller.js b/client/js/controllers/home_controller.js
index 1eede35..1eede35 100644
--- a/static/js/controllers/home_controller.js
+++ b/client/js/controllers/home_controller.js
diff --git a/static/js/controllers/posts_controller.js b/client/js/controllers/posts_controller.js
index 08cd2d2..08cd2d2 100644
--- a/static/js/controllers/posts_controller.js
+++ b/client/js/controllers/posts_controller.js
diff --git a/static/js/controllers/tags_controller.js b/client/js/controllers/tags_controller.js
index f16123b..f16123b 100644
--- a/static/js/controllers/tags_controller.js
+++ b/client/js/controllers/tags_controller.js
diff --git a/static/js/controllers/top_nav_controller.js b/client/js/controllers/top_nav_controller.js
index 8fcafcf..8fcafcf 100644
--- a/static/js/controllers/top_nav_controller.js
+++ b/client/js/controllers/top_nav_controller.js
diff --git a/static/js/controllers/users_controller.js b/client/js/controllers/users_controller.js
index 5bd78f8..5bd78f8 100644
--- a/static/js/controllers/users_controller.js
+++ b/client/js/controllers/users_controller.js
diff --git a/static/js/event_listener.js b/client/js/event_listener.js
index e7eebff..e7eebff 100644
--- a/static/js/event_listener.js
+++ b/client/js/event_listener.js
diff --git a/static/js/main.js b/client/js/main.js
index c031edf..c031edf 100644
--- a/static/js/main.js
+++ b/client/js/main.js
diff --git a/static/js/util.js b/client/js/util.js
index 0933410..0933410 100644
--- a/static/js/util.js
+++ b/client/js/util.js
diff --git a/static/js/views/base_view.js b/client/js/views/base_view.js
index 1a0f7d0..1a0f7d0 100644
--- a/static/js/views/base_view.js
+++ b/client/js/views/base_view.js
diff --git a/static/js/views/help_view.js b/client/js/views/help_view.js
index 4f68a7d..4f68a7d 100644
--- a/static/js/views/help_view.js
+++ b/client/js/views/help_view.js
diff --git a/static/js/views/home_view.js b/client/js/views/home_view.js
index 4beca60..4beca60 100644
--- a/static/js/views/home_view.js
+++ b/client/js/views/home_view.js
diff --git a/static/js/views/login_view.js b/client/js/views/login_view.js
index 6ea29fe..6ea29fe 100644
--- a/static/js/views/login_view.js
+++ b/client/js/views/login_view.js
diff --git a/static/js/views/registration_view.js b/client/js/views/registration_view.js
index ad08e60..ad08e60 100644
--- a/static/js/views/registration_view.js
+++ b/client/js/views/registration_view.js
diff --git a/static/js/views/top_nav_view.js b/client/js/views/top_nav_view.js
index 6864c63..6864c63 100644
--- a/static/js/views/top_nav_view.js
+++ b/client/js/views/top_nav_view.js
diff --git a/package.json b/client/package.json
index edc5148..da59222 100644
--- a/package.json
+++ b/client/package.json
@@ -2,8 +2,8 @@
"name": "szurubooru",
"private": true,
"scripts": {
- "build": "node scripts/build-frontend.js",
- "watch": "watch 'npm run build' static --wait=0 --ignoreDotFiles"
+ "build": "node build.js",
+ "watch": "watch 'npm run build' html js css img --wait=0 --ignoreDotFiles"
},
"dependencies": {
"browserify": "^13.0.0",
diff --git a/public/.gitignore b/client/public/.gitignore
index 67c04e4..67c04e4 100644
--- a/public/.gitignore
+++ b/client/public/.gitignore
diff --git a/alembic.ini b/server/alembic.ini
index a49947c..a49947c 100644
--- a/alembic.ini
+++ b/server/alembic.ini
diff --git a/scripts/host-waitress b/server/host-waitress
index 3ea4dd3..c179858 100755
--- a/scripts/host-waitress
+++ b/server/host-waitress
@@ -10,17 +10,13 @@ import argparse
import os.path
import sys
import waitress
-
-sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.path.pardir))
from szurubooru.app import create_app
def main():
parser = argparse.ArgumentParser('Starts szurubooru using waitress.')
parser.add_argument(
- '-p', '--port',
- type=int, help='port to listen on', default=6666)
- parser.add_argument(
- '--host', help='IP to listen on', default='0.0.0.0')
+ '-p', '--port', type=int, help='port to listen on', default=6666)
+ parser.add_argument('--host', help='IP to listen on', default='0.0.0.0')
args = parser.parse_args()
app = create_app()
diff --git a/requirements.txt b/server/requirements.txt
index 0122fa6..0122fa6 100644
--- a/requirements.txt
+++ b/server/requirements.txt
diff --git a/szurubooru/__init__.py b/server/szurubooru/__init__.py
index e69de29..e69de29 100644
--- a/szurubooru/__init__.py
+++ b/server/szurubooru/__init__.py
diff --git a/szurubooru/api/__init__.py b/server/szurubooru/api/__init__.py
index 7075658..7075658 100644
--- a/szurubooru/api/__init__.py
+++ b/server/szurubooru/api/__init__.py
diff --git a/szurubooru/api/users.py b/server/szurubooru/api/users.py
index ead769b..ead769b 100644
--- a/szurubooru/api/users.py
+++ b/server/szurubooru/api/users.py
diff --git a/szurubooru/app.py b/server/szurubooru/app.py
index 5868aca..5868aca 100644
--- a/szurubooru/app.py
+++ b/server/szurubooru/app.py
diff --git a/szurubooru/config.py b/server/szurubooru/config.py
index e973f9e..4b2827e 100644
--- a/szurubooru/config.py
+++ b/server/szurubooru/config.py
@@ -10,8 +10,8 @@ class ConfigurationError(RuntimeError):
class Config(object):
''' INI config parser and container. '''
def __init__(self):
- self.config = configobj.ConfigObj('config.ini.dist')
- if os.path.exists('config.ini'):
+ self.config = configobj.ConfigObj('../config.ini.dist')
+ if os.path.exists('../config.ini'):
self.config.merge(configobj.ConfigObj('config.ini'))
self._validate()
diff --git a/szurubooru/middleware/__init__.py b/server/szurubooru/middleware/__init__.py
index a2ba328..a2ba328 100644
--- a/szurubooru/middleware/__init__.py
+++ b/server/szurubooru/middleware/__init__.py
diff --git a/szurubooru/middleware/authenticator.py b/server/szurubooru/middleware/authenticator.py
index df96cdb..df96cdb 100644
--- a/szurubooru/middleware/authenticator.py
+++ b/server/szurubooru/middleware/authenticator.py
diff --git a/szurubooru/middleware/db_session.py b/server/szurubooru/middleware/db_session.py
index dff317e..dff317e 100644
--- a/szurubooru/middleware/db_session.py
+++ b/server/szurubooru/middleware/db_session.py
diff --git a/szurubooru/middleware/json_translator.py b/server/szurubooru/middleware/json_translator.py
index f04e6c8..f04e6c8 100644
--- a/szurubooru/middleware/json_translator.py
+++ b/server/szurubooru/middleware/json_translator.py
diff --git a/szurubooru/middleware/require_json.py b/server/szurubooru/middleware/require_json.py
index c593426..c593426 100644
--- a/szurubooru/middleware/require_json.py
+++ b/server/szurubooru/middleware/require_json.py
diff --git a/szurubooru/migrations/env.py b/server/szurubooru/migrations/env.py
index c10f0a1..c10f0a1 100644
--- a/szurubooru/migrations/env.py
+++ b/server/szurubooru/migrations/env.py
diff --git a/szurubooru/migrations/script.py.mako b/server/szurubooru/migrations/script.py.mako
index 13adc51..13adc51 100644
--- a/szurubooru/migrations/script.py.mako
+++ b/server/szurubooru/migrations/script.py.mako
diff --git a/szurubooru/migrations/versions/7032abdf6efd_make_login_time_nullable.py b/server/szurubooru/migrations/versions/7032abdf6efd_make_login_time_nullable.py
index 9d6b4b9..9d6b4b9 100644
--- a/szurubooru/migrations/versions/7032abdf6efd_make_login_time_nullable.py
+++ b/server/szurubooru/migrations/versions/7032abdf6efd_make_login_time_nullable.py
diff --git a/szurubooru/migrations/versions/89ca368219b6_change_user_access_rank.py b/server/szurubooru/migrations/versions/89ca368219b6_change_user_access_rank.py
index c9252dc..c9252dc 100644
--- a/szurubooru/migrations/versions/89ca368219b6_change_user_access_rank.py
+++ b/server/szurubooru/migrations/versions/89ca368219b6_change_user_access_rank.py
diff --git a/szurubooru/migrations/versions/d186d2e9c2c9_add_unique_constraint_to_user_name.py b/server/szurubooru/migrations/versions/d186d2e9c2c9_add_unique_constraint_to_user_name.py
index a04f019..a04f019 100644
--- a/szurubooru/migrations/versions/d186d2e9c2c9_add_unique_constraint_to_user_name.py
+++ b/server/szurubooru/migrations/versions/d186d2e9c2c9_add_unique_constraint_to_user_name.py
diff --git a/szurubooru/migrations/versions/e5c1216a8503_create_user_table.py b/server/szurubooru/migrations/versions/e5c1216a8503_create_user_table.py
index 0826448..0826448 100644
--- a/szurubooru/migrations/versions/e5c1216a8503_create_user_table.py
+++ b/server/szurubooru/migrations/versions/e5c1216a8503_create_user_table.py
diff --git a/szurubooru/model/__init__.py b/server/szurubooru/model/__init__.py
index 8423e0d..8423e0d 100644
--- a/szurubooru/model/__init__.py
+++ b/server/szurubooru/model/__init__.py
diff --git a/szurubooru/model/base.py b/server/szurubooru/model/base.py
index d622ddf..d622ddf 100644
--- a/szurubooru/model/base.py
+++ b/server/szurubooru/model/base.py
diff --git a/szurubooru/model/user.py b/server/szurubooru/model/user.py
index f611a52..f611a52 100644
--- a/szurubooru/model/user.py
+++ b/server/szurubooru/model/user.py
diff --git a/szurubooru/services/__init__.py b/server/szurubooru/services/__init__.py
index efd5e5f..efd5e5f 100644
--- a/szurubooru/services/__init__.py
+++ b/server/szurubooru/services/__init__.py
diff --git a/szurubooru/services/auth_service.py b/server/szurubooru/services/auth_service.py
index 638ce6f..638ce6f 100644
--- a/szurubooru/services/auth_service.py
+++ b/server/szurubooru/services/auth_service.py
diff --git a/szurubooru/services/errors.py b/server/szurubooru/services/errors.py
index 09fbe51..09fbe51 100644
--- a/szurubooru/services/errors.py
+++ b/server/szurubooru/services/errors.py
diff --git a/szurubooru/services/password_service.py b/server/szurubooru/services/password_service.py
index d330dd9..d330dd9 100644
--- a/szurubooru/services/password_service.py
+++ b/server/szurubooru/services/password_service.py
diff --git a/szurubooru/services/user_service.py b/server/szurubooru/services/user_service.py
index d8ce8b6..d8ce8b6 100644
--- a/szurubooru/services/user_service.py
+++ b/server/szurubooru/services/user_service.py
diff --git a/szurubooru/util.py b/server/szurubooru/util.py
index 929957d..929957d 100644
--- a/szurubooru/util.py
+++ b/server/szurubooru/util.py