diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-03-19 18:08:41 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-03-19 18:08:41 +0000 |
commit | 358fc4e5da67d5ebbb667d6bcafba7c7fa83ca97 (patch) | |
tree | 1a61b188daee7f582dcbad27b6592c11e2d51cef | |
parent | 84f123a0ab529ac8a649e0e0ca4a49fd0c828db3 (diff) | |
download | cheatdb-358fc4e5da67d5ebbb667d6bcafba7c7fa83ca97.tar.xz |
Add package list and package view
-rw-r--r-- | app/templates/package_details.html | 14 | ||||
-rw-r--r-- | app/templates/packages.html | 17 | ||||
-rw-r--r-- | app/templates/users/user_profile_page.html | 6 | ||||
-rw-r--r-- | app/views/__init__.py | 2 | ||||
-rw-r--r-- | app/views/mods.py | 19 | ||||
-rw-r--r-- | setup.py | 17 |
6 files changed, 70 insertions, 5 deletions
diff --git a/app/templates/package_details.html b/app/templates/package_details.html new file mode 100644 index 0000000..c52cd62 --- /dev/null +++ b/app/templates/package_details.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block title %} +{{ package.title }} +{% endblock %} + +{% block content %} + {{ package.title }} + {{ package.author.display_name }} + {{ package.name }} + {{ package.desc }} + <a href="{{ package.repo }}">VCS Repo</a> + <a href="{{ package.issueTracker }}">Report Issue</a> +{% endblock %} diff --git a/app/templates/packages.html b/app/templates/packages.html new file mode 100644 index 0000000..6caf3f0 --- /dev/null +++ b/app/templates/packages.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} + +{% block title %} +{{ title }} +{% endblock %} + +{% block content %} + <ul> + {% for p in packages %} + <li><a href="{{ url_for('package_page', type='mod', author=p.author.username, name=p.name) }}"> + {{ p.title }} by {{ p.author.display_name }} + </a></li> + {% else %} + <li><i>No packages available</i></ul> + {% endfor %} + </ul> +{% endblock %} diff --git a/app/templates/users/user_profile_page.html b/app/templates/users/user_profile_page.html index 0eb6adb..33526de 100644 --- a/app/templates/users/user_profile_page.html +++ b/app/templates/users/user_profile_page.html @@ -20,7 +20,11 @@ {% elif user == current_user %} <a href="">Link Forums Account</a> {% endif %} - | + + {% if (user.forums_username and user.github_username) or user == current_user %} + | + {% endif %} + {% if user.github_username %} <a href="https://github.com/{{ user.github_username }}">GitHub</a> {% elif user == current_user %} diff --git a/app/views/__init__.py b/app/views/__init__.py index bfe8c1b..1c126c1 100644 --- a/app/views/__init__.py +++ b/app/views/__init__.py @@ -14,7 +14,7 @@ cache = SimpleCache() def send_static(path): return send_from_directory('static', path) -import users, githublogin +import users, githublogin, mods @app.route('/') @menu.register_menu(app, '.', 'Home') diff --git a/app/views/mods.py b/app/views/mods.py new file mode 100644 index 0000000..ca349ea --- /dev/null +++ b/app/views/mods.py @@ -0,0 +1,19 @@ +from flask import * +from flask_user import * +from flask.ext import menu +from app import app +from app.models import * + +@app.route('/mods/') +@menu.register_menu(app, '.mods', 'Mods') +def mods_page(): + packages = Mod.query.all() + return render_template('packages.html', title="Mods", packages=packages) + +@app.route("/<type>s/<author>/<name>/") +def package_page(type, author, name): + package = Mod.query.filter_by(name=name).first() + if package is None: + abort(404) + + return render_template('package_details.html', package=package) @@ -2,10 +2,10 @@ import os, datetime delete_db = False -if delete_db and os.path.isfile("app/data.sqlite"): - os.remove("app/data.sqlite") +if delete_db and os.path.isfile("db.sqlite"): + os.remove("db.sqlite") -if not os.path.isfile("app/data.sqlite"): +if not os.path.isfile("db.sqlite"): from app.models import * print("Creating database tables...") @@ -15,6 +15,17 @@ if not os.path.isfile("app/data.sqlite"): ruben = User("rubenwardy") ruben.github_username = "rubenwardy" db.session.add(ruben) + + mod1 = Mod() + mod1.name = "awards" + mod1.title = "Awards" + mod1.author = ruben + mod1.description = "Adds achievements and an API to register new ones." + mod1.repo = "https://github.com/rubenwardy/awards" + mod1.issueTracker = "https://github.com/rubenwardy/awards/issues" + mod1.forums = "https://forum.minetest.net/viewtopic.php?t=4870" + db.session.add(mod1) + db.session.commit() else: print("Database already exists") |