From bc88027fbe2039aa509de6c958a1ab3939909539 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 20 Mar 2018 00:44:47 +0000 Subject: [PATCH] Add package types --- README.md | 6 +++--- app/__init__.py | 3 ++- app/models.py | 31 +++++++++++++++++++++++-------- app/templates/packages.html | 2 +- app/views/__init__.py | 4 ++-- app/views/packages.py | 14 +++++++++++++- setup.py | 1 + 7 files changed, 45 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 7cf27c5..78133f1 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ First create a Python virtual env: then use pip: - pip install -r requirements.txt + pip3 install -r requirements.txt ## Running @@ -20,11 +20,11 @@ the current session: Reset the database like so: - python setup.py -d + python3 setup.py -d Then run the server: - python rundebug.py + python3 rundebug.py Then view in your web browser: diff --git a/app/__init__.py b/app/__init__.py index 6692e23..5f1fb68 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -11,4 +11,5 @@ menu.Menu(app=app) markdown.Markdown(app, extensions=['fenced_code']) github = GitHub(app) -import models, views +from . import models +from .views import * diff --git a/app/models.py b/app/models.py index ec961f3..177e4c8 100644 --- a/app/models.py +++ b/app/models.py @@ -4,6 +4,7 @@ from app import app from datetime import datetime from sqlalchemy.orm import validates from flask_user import login_required, UserManager, UserMixin, SQLAlchemyAdapter +import enum # Initialise database db = SQLAlchemy(app) @@ -57,20 +58,34 @@ class UserRoles(db.Model): user_id = db.Column(db.Integer(), db.ForeignKey('user.id', ondelete='CASCADE')) role_id = db.Column(db.Integer(), db.ForeignKey('role.id', ondelete='CASCADE')) +class PackageType(enum.Enum): + MOD = "Mod" + GAME = "Game" + TXP = "Texture Pack" + + def getTitle(self): + if self == PackageType.MOD: + return "Mod" + elif self == PackageType.GAME: + return "Game" + else: + return "TXP" + class Package(db.Model): - id = db.Column(db.Integer, primary_key=True) + id = db.Column(db.Integer, primary_key=True) # Basic details - author_id = db.Column(db.Integer, db.ForeignKey('user.id')) - name = db.Column(db.String(100), nullable=False) - title = db.Column(db.String(100), nullable=False) - desc = db.Column(db.Text, nullable=True) + author_id = db.Column(db.Integer, db.ForeignKey('user.id')) + name = db.Column(db.String(100), nullable=False) + title = db.Column(db.String(100), nullable=False) + desc = db.Column(db.Text, nullable=True) + type = db.Column(db.Enum(PackageType)) # Downloads - repo = db.Column(db.String(200), nullable=True) - website = db.Column(db.String(200), nullable=True) + repo = db.Column(db.String(200), nullable=True) + website = db.Column(db.String(200), nullable=True) issueTracker = db.Column(db.String(200), nullable=True) - forums = db.Column(db.String(200), nullable=False) + forums = db.Column(db.String(200), nullable=False) # Setup Flask-User db_adapter = SQLAlchemyAdapter(db, User) # Register the User model diff --git a/app/templates/packages.html b/app/templates/packages.html index 6caf3f0..269ac06 100644 --- a/app/templates/packages.html +++ b/app/templates/packages.html @@ -7,7 +7,7 @@ {% block content %}