From 517d3e8e3278e7ef25b8309bfb110276f88b83a1 Mon Sep 17 00:00:00 2001 From: TheAMM Date: Sat, 13 May 2017 02:23:02 +0300 Subject: [PATCH] [templates, config] Add SITE_FLAVOR for selecting nyaa/sukebei, update templates By default TABLE_PREFIX is derived from flavor. Added back Date column, adjusted column widths --- config.example.py | 4 +- db_create.py | 4 +- nyaa/models.py | 33 +++--- nyaa/templates/layout.html | 158 +++++++++-------------------- nyaa/templates/search_results.html | 29 +++--- 5 files changed, 82 insertions(+), 146 deletions(-) diff --git a/config.example.py b/config.example.py index 9504bf7..f34c554 100644 --- a/config.example.py +++ b/config.example.py @@ -20,8 +20,8 @@ CSRF_SESSION_KEY = '***' SECRET_KEY = '***' # Prefix for running multiple sites, user table will not be prefixed. -# For sukebei, change 'nyaa_' to 'sukebei_' -TABLE_PREFIX = 'nyaa_' +SITE_FLAVOR = 'nyaa' # 'nyaa' or 'sukebei' +TABLE_PREFIX = SITE_FLAVOR + '_' # for recaptcha and email verification: # keys for localhost. Change as appropriate when actual domain is registered. diff --git a/db_create.py b/db_create.py index 154cccd..e3a668c 100644 --- a/db_create.py +++ b/db_create.py @@ -7,7 +7,7 @@ db.create_all() # Insert categories -if app.config['TABLE_PREFIX'] == 'nyaa_': +if app.config['SITE_FLAVOR'] == 'nyaa': CATEGORIES = [ ('Anime', ['Anime Music Video', 'English-translated', 'Non-English-translated', 'Raw']), ('Audio', ['Lossless', 'Lossy']), @@ -16,7 +16,7 @@ if app.config['TABLE_PREFIX'] == 'nyaa_': ('Pictures', ['Graphics', 'Photos']), ('Software', ['Applications', 'Games']), ] -elif app.config['TABLE_PREFIX'] == 'sukebei_': +elif app.config['SITE_FLAVOR'] == 'sukebei': CATEGORIES = [ ('Art', ['Anime', 'Doujinshi', 'Games', 'Manga', 'Pictures']), ('Real Life', ['Photobooks / Pictures', 'Videos']), diff --git a/nyaa/models.py b/nyaa/models.py index 17cbf81..c60e6d5 100644 --- a/nyaa/models.py +++ b/nyaa/models.py @@ -33,9 +33,10 @@ class TorrentFlags(IntEnum): COMPLETE = 16 DELETED = 32 +DB_TABLE_PREFIX = app.config['TABLE_PREFIX'] class Torrent(db.Model): - __tablename__ = app.config['TABLE_PREFIX'] + 'torrents' + __tablename__ = DB_TABLE_PREFIX + 'torrents' id = db.Column(db.Integer, primary_key=True) info_hash = db.Column(BinaryType(length=20), unique=True, nullable=False, index=True) @@ -56,17 +57,17 @@ class Torrent(db.Model): default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False) main_category_id = db.Column(db.Integer, db.ForeignKey( - app.config['TABLE_PREFIX'] + 'main_categories.id'), nullable=False) + DB_TABLE_PREFIX + 'main_categories.id'), nullable=False) sub_category_id = db.Column(db.Integer, nullable=False) redirect = db.Column(db.Integer, db.ForeignKey( - app.config['TABLE_PREFIX'] + 'torrents.id'), nullable=True) + DB_TABLE_PREFIX + 'torrents.id'), nullable=True) __table_args__ = ( Index('uploader_flag_idx', 'uploader_id', 'flags'), ForeignKeyConstraint( ['main_category_id', 'sub_category_id'], - [app.config['TABLE_PREFIX'] + 'sub_categories.main_category_id', - app.config['TABLE_PREFIX'] + 'sub_categories.id'] + [DB_TABLE_PREFIX + 'sub_categories.main_category_id', + DB_TABLE_PREFIX + 'sub_categories.id'] ), {} ) @@ -150,32 +151,32 @@ class TorrentNameSearch(FullText, Torrent): class TorrentFilelist(db.Model): - __tablename__ = app.config['TABLE_PREFIX'] + 'torrents_filelist' + __tablename__ = DB_TABLE_PREFIX + 'torrents_filelist' __table_args__ = {'mysql_row_format': 'COMPRESSED'} torrent_id = db.Column(db.Integer, db.ForeignKey( - app.config['TABLE_PREFIX'] + 'torrents.id', ondelete="CASCADE"), primary_key=True) + DB_TABLE_PREFIX + 'torrents.id', ondelete="CASCADE"), primary_key=True) filelist_blob = db.Column(MediumBlobType, nullable=True) torrent = db.relationship('Torrent', uselist=False, back_populates='filelist') class TorrentInfo(db.Model): - __tablename__ = app.config['TABLE_PREFIX'] + 'torrents_info' + __tablename__ = DB_TABLE_PREFIX + 'torrents_info' __table_args__ = {'mysql_row_format': 'COMPRESSED'} torrent_id = db.Column(db.Integer, db.ForeignKey( - app.config['TABLE_PREFIX'] + 'torrents.id', ondelete="CASCADE"), primary_key=True) + DB_TABLE_PREFIX + 'torrents.id', ondelete="CASCADE"), primary_key=True) info_dict = db.Column(MediumBlobType, nullable=True) torrent = db.relationship('Torrent', uselist=False, back_populates='info') class Statistic(db.Model): - __tablename__ = app.config['TABLE_PREFIX'] + 'statistics' + __tablename__ = DB_TABLE_PREFIX + 'statistics' torrent_id = db.Column(db.Integer, db.ForeignKey( - app.config['TABLE_PREFIX'] + 'torrents.id', ondelete="CASCADE"), primary_key=True) + DB_TABLE_PREFIX + 'torrents.id', ondelete="CASCADE"), primary_key=True) seed_count = db.Column(db.Integer, default=0, nullable=False, index=True) leech_count = db.Column(db.Integer, default=0, nullable=False, index=True) @@ -198,9 +199,9 @@ class Trackers(db.Model): class TorrentTrackers(db.Model): - __tablename__ = app.config['TABLE_PREFIX'] + 'torrent_trackers' + __tablename__ = DB_TABLE_PREFIX + 'torrent_trackers' - torrent_id = db.Column(db.Integer, db.ForeignKey(app.config['TABLE_PREFIX'] + 'torrents.id', ondelete="CASCADE"), primary_key=True) + torrent_id = db.Column(db.Integer, db.ForeignKey(DB_TABLE_PREFIX + 'torrents.id', ondelete="CASCADE"), primary_key=True) tracker_id = db.Column(db.Integer, db.ForeignKey('trackers.id', ondelete="CASCADE"), primary_key=True) order = db.Column(db.Integer, nullable=False, index=True) @@ -212,7 +213,7 @@ class TorrentTrackers(db.Model): class MainCategory(db.Model): - __tablename__ = app.config['TABLE_PREFIX'] + 'main_categories' + __tablename__ = DB_TABLE_PREFIX + 'main_categories' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(length=64), nullable=False) @@ -233,11 +234,11 @@ class MainCategory(db.Model): class SubCategory(db.Model): - __tablename__ = app.config['TABLE_PREFIX'] + 'sub_categories' + __tablename__ = DB_TABLE_PREFIX + 'sub_categories' id = db.Column(db.Integer, primary_key=True) main_category_id = db.Column(db.Integer, db.ForeignKey( - app.config['TABLE_PREFIX'] + 'main_categories.id'), primary_key=True) + DB_TABLE_PREFIX + 'main_categories.id'), primary_key=True) name = db.Column(db.String(length=64), nullable=False) main_category = db.relationship('MainCategory', uselist=False, back_populates='sub_categories') diff --git a/nyaa/templates/layout.html b/nyaa/templates/layout.html index 4acc09f..c805a68 100644 --- a/nyaa/templates/layout.html +++ b/nyaa/templates/layout.html @@ -68,9 +68,9 @@
  • RSS
  • - {% if config.TABLE_PREFIX == 'nyaa_' %} + {% if config.SITE_FLAVOR == 'nyaa' %}
  • R-18
  • - {% elif config.TABLE_PREFIX == 'sukebei_' %} + {% elif config.SITE_FLAVOR == 'sukebei' %}
  • SFW
  • {% endif %} @@ -153,115 +153,53 @@