mirror of
https://github.com/simon987/nyaa.git
synced 2025-12-13 15:19:03 +00:00
Prepare for app factory [1 of 2] (#315)
* Move db, assets, debug toolbar and fix_paginate into nyaa.extensions * Change all `from nyaa import db` imports to `from nyaa.extensions import db` * Move `nyaa.torrents.create_magnet_from_es_info` context processor into template-utils blueprint * Fix tools (wrap in `with app.app_context():` where needed)
This commit is contained in:
52
db_create.py
52
db_create.py
@@ -1,7 +1,8 @@
|
||||
#!/usr/bin/env python3
|
||||
import sys
|
||||
import sqlalchemy
|
||||
from nyaa import app, db, models
|
||||
|
||||
from nyaa import app, models
|
||||
from nyaa.extensions import db
|
||||
|
||||
NYAA_CATEGORIES = [
|
||||
('Anime', ['Anime Music Video', 'English-translated', 'Non-English-translated', 'Raw']),
|
||||
@@ -29,32 +30,31 @@ def add_categories(categories, main_class, sub_class):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Test for the user table, assume db is empty if it's not created
|
||||
database_empty = False
|
||||
try:
|
||||
models.User.query.first()
|
||||
except (sqlalchemy.exc.ProgrammingError, sqlalchemy.exc.OperationalError):
|
||||
database_empty = True
|
||||
with app.app_context():
|
||||
# Test for the user table, assume db is empty if it's not created
|
||||
database_empty = False
|
||||
try:
|
||||
models.User.query.first()
|
||||
except (sqlalchemy.exc.ProgrammingError, sqlalchemy.exc.OperationalError):
|
||||
database_empty = True
|
||||
|
||||
print('Creating all tables...')
|
||||
db.create_all()
|
||||
|
||||
print('Creating all tables...')
|
||||
db.create_all()
|
||||
nyaa_category_test = models.NyaaMainCategory.query.first()
|
||||
if not nyaa_category_test:
|
||||
print('Adding Nyaa categories...')
|
||||
add_categories(NYAA_CATEGORIES, models.NyaaMainCategory, models.NyaaSubCategory)
|
||||
|
||||
sukebei_category_test = models.SukebeiMainCategory.query.first()
|
||||
if not sukebei_category_test:
|
||||
print('Adding Sukebei categories...')
|
||||
add_categories(SUKEBEI_CATEGORIES, models.SukebeiMainCategory, models.SukebeiSubCategory)
|
||||
|
||||
nyaa_category_test = models.NyaaMainCategory.query.first()
|
||||
if not nyaa_category_test:
|
||||
print('Adding Nyaa categories...')
|
||||
add_categories(NYAA_CATEGORIES, models.NyaaMainCategory, models.NyaaSubCategory)
|
||||
db.session.commit()
|
||||
|
||||
sukebei_category_test = models.SukebeiMainCategory.query.first()
|
||||
if not sukebei_category_test:
|
||||
print('Adding Sukebei categories...')
|
||||
add_categories(SUKEBEI_CATEGORIES, models.SukebeiMainCategory, models.SukebeiSubCategory)
|
||||
|
||||
db.session.commit()
|
||||
|
||||
if database_empty:
|
||||
print('Remember to run the following to mark the database up-to-date for Alembic:')
|
||||
print('./db_migrate.py stamp head')
|
||||
# Technically we should be able to do this here, but when you have
|
||||
# Flask-Migrate and Flask-SQA and everything... I didn't get it working.
|
||||
if database_empty:
|
||||
print('Remember to run the following to mark the database up-to-date for Alembic:')
|
||||
print('./db_migrate.py stamp head')
|
||||
# Technically we should be able to do this here, but when you have
|
||||
# Flask-Migrate and Flask-SQA and everything... I didn't get it working.
|
||||
|
||||
Reference in New Issue
Block a user