Remove minetest forum integration

This commit is contained in:
Armen 2022-02-16 22:46:21 -05:00
parent 1d48f5dabe
commit d4be91caee
25 changed files with 60 additions and 141 deletions

View File

@ -126,12 +126,12 @@ def view(package):
.filter(MetaPackage.packages.any(Package.id != package.id)) \
.all()
conflicting_modnames += db.session.query(ForumTopic.name) \
.filter(ForumTopic.name.in_([ mp.name for mp in package.provides ])) \
.filter(ForumTopic.topic_id != package.forums) \
.filter(~ db.exists().where(Package.forums==ForumTopic.topic_id)) \
.order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \
.all()
# conflicting_modnames += db.session.query(ForumTopic.name) \
# .filter(ForumTopic.name.in_([ mp.name for mp in package.provides ])) \
# .filter(ForumTopic.topic_id != package.forums) \
# .filter(~ db.exists().where(Package.forums==ForumTopic.topic_id)) \
# .order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \
# .all()
conflicting_modnames = set([x[0] for x in conflicting_modnames])
@ -153,21 +153,21 @@ def view(package):
topic_error = None
topic_error_lvl = "warning"
if package.state != PackageState.APPROVED and package.forums is not None:
errors = []
if Package.query.filter(Package.forums==package.forums, Package.state!=PackageState.DELETED).count() > 1:
errors.append("<b>" + gettext("Error: Another package already uses this forum topic!") + "</b>")
topic_error_lvl = "danger"
# if package.state != PackageState.APPROVED and package.forums is not None:
# errors = []
# if Package.query.filter(Package.forums==package.forums, Package.state!=PackageState.DELETED).count() > 1:
# errors.append("<b>" + gettext("Error: Another package already uses this forum topic!") + "</b>")
# topic_error_lvl = "danger"
topic = ForumTopic.query.get(package.forums)
if topic is not None:
if topic.author != package.author:
errors.append("<b>" + gettext("Error: Forum topic author doesn't match package author.") + "</b>")
topic_error_lvl = "danger"
elif package.type != PackageType.ASSETPACK:
errors.append(gettext("Warning: Forum topic not found. This may happen if the topic has only just been created."))
# topic = ForumTopic.query.get(package.forums)
# if topic is not None:
# if topic.author != package.author:
# errors.append("<b>" + gettext("Error: Forum topic author doesn't match package author.") + "</b>")
# topic_error_lvl = "danger"
# elif package.type != PackageType.ASSETPACK:
# errors.append(gettext("Warning: Forum topic not found. This may happen if the topic has only just been created."))
topic_error = "<br />".join(errors)
# topic_error = "<br />".join(errors)
threads = Thread.query.filter_by(package_id=package.id, review_id=None)
@ -226,7 +226,7 @@ def makeLabel(obj):
class PackageForm(FlaskForm):
type = SelectField(lazy_gettext("Type"), [InputRequired()], choices=PackageType.choices(), coerce=PackageType.coerce, default=PackageType.TOOL)
type = SelectField(lazy_gettext("Type"), [InputRequired()], choices=PackageType.choices(), coerce=PackageType.coerce, default=PackageType.GAME)
title = StringField(lazy_gettext("Title (Human-readable)"), [InputRequired(), Length(1, 100)])
name = StringField(lazy_gettext("Name (Technical)"), [InputRequired(), Length(1, 100), Regexp("^[a-z0-9_]+$", 0, lazy_gettext("Lower case letters (a-z), digits (0-9), and underscores (_) only"))])
short_desc = StringField(lazy_gettext("Short Description (Plaintext)"), [InputRequired(), Length(1,200)])
@ -243,7 +243,7 @@ class PackageForm(FlaskForm):
repo = StringField(lazy_gettext("VCS Repository URL"), [Optional(), URL()], filters = [lambda x: x or None])
website = StringField(lazy_gettext("Website URL"), [Optional(), URL()], filters = [lambda x: x or None])
issueTracker = StringField(lazy_gettext("Issue Tracker URL"), [Optional(), URL()], filters = [lambda x: x or None])
forums = IntegerField(lazy_gettext("Forum Topic ID"), [Optional(), NumberRange(0,999999)])
# forums = IntegerField(lazy_gettext("Forum Topic ID"), [Optional(), NumberRange(0,999999)])
video_url = StringField(lazy_gettext("Video URL"), [Optional(), URL()], filters = [lambda x: x or None])
submit = SubmitField(lazy_gettext("Save"))
@ -286,7 +286,7 @@ def create_edit(author=None, name=None):
form.name.data = request.args.get("bname")
form.title.data = request.args.get("title")
form.repo.data = request.args.get("repo")
form.forums.data = request.args.get("forums")
# form.forums.data = request.args.get("forums")
form.license.data = None
form.media_license.data = None
else:
@ -327,7 +327,7 @@ def create_edit(author=None, name=None):
"repo": form.repo.data,
"website": form.website.data,
"issueTracker": form.issueTracker.data,
"forums": form.forums.data,
# "forums": form.forums.data,
"video_url": form.video_url.data,
})
@ -602,12 +602,12 @@ def similar(package):
.order_by(db.desc(Package.score)) \
.all()
similar_topics = ForumTopic.query \
.filter_by(name=package.name) \
.filter(ForumTopic.topic_id != package.forums) \
.filter(~ db.exists().where(Package.forums == ForumTopic.topic_id)) \
.order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \
.all()
# similar_topics = ForumTopic.query \
# .filter_by(name=package.name) \
# .filter(ForumTopic.topic_id != package.forums) \
# .filter(~ db.exists().where(Package.forums == ForumTopic.topic_id)) \
# .order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \
# .all()
return render_template("packages/similar.html", package=package,
packages_modnames=packages_modnames, similar_topics=similar_topics)
packages_modnames=packages_modnames, similar_topics=[])

View File

@ -49,9 +49,9 @@ class License(db.Model):
class PackageType(enum.Enum):
TOOL = "Tool"
GAME = "Game"
ASSETPACK = "Asset Pack"
GAME = "Game"
TOOL = "Tool"
ASSETPACK = "Asset Pack"
def toName(self):
return self.name.lower()
@ -226,7 +226,7 @@ class PackagePropertyKey(enum.Enum):
repo = "Repository"
website = "Website"
issueTracker = "Issue Tracker"
forums = "Forum Topic ID"
# forums = "Forum Topic ID"
def convert(self, value):
if self == PackagePropertyKey.tags:

View File

@ -66,10 +66,10 @@ def make_celery(app):
celery = make_celery(app)
CELERYBEAT_SCHEDULE = {
'topic_list_import': {
'task': 'app.tasks.forumtasks.importTopicList',
'schedule': crontab(minute=1, hour=1), # 0101
},
# 'topic_list_import': {
# 'task': 'app.tasks.forumtasks.importTopicList',
# 'schedule': crontab(minute=1, hour=1), # 0101
# },
'package_score_update': {
'task': 'app.tasks.pkgtasks.updatePackageScores',
'schedule': crontab(minute=10, hour=1), # 0110

View File

@ -24,10 +24,10 @@
<div class="collapse navbar-collapse" id="navbarColor01">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="{{ url_for('packages.list_all', type='tool') }}">{{ _("Tools") }}</a>
<a class="nav-link" href="{{ url_for('packages.list_all', type='game') }}">{{ _("Games") }}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('packages.list_all', type='game') }}">{{ _("Games") }}</a>
<a class="nav-link" href="{{ url_for('packages.list_all', type='tool') }}">{{ _("Tools") }}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('packages.list_all', type='asset_pack') }}">{{ _("Asset Packs") }}</a>
@ -39,7 +39,7 @@
<a class="nav-link" href="{{ url_for('flatpage', path='help') }}">{{ _("Help") }}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('threads.list_all') }}">{{ _("Threads") }}</a>
<a class="nav-link" href="{{ url_for('threads.list_all') }}">{{ _("Discussion") }}</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0" method="GET" action="/packages/">

View File

@ -17,21 +17,6 @@
<h3>{{ _("Tools") }}</h3>
{{ render_pkggrid(mpackage.packages.filter_by(type="TOOL", state="APPROVED").all()) }}
{% if similar_topics %}
<h3>{{ _("Forum Topics") }}</h3>
<ul>
{% for t in similar_topics %}
<li>
[{{ t.type.text }}]
<a href="https://forum.minetest.net/viewtopic.php?t={{ t.topic_id }}">
{{ _("%(title)s by %(display_name)s", title=t.title, display_name=t.author.display_name) }}
</a>
{% if t.wip %}[{{ _("WIP") }}]{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
<h2>{{ _("Required By") }}</h2>
{{ render_pkggrid(dependers) }}

View File

@ -113,10 +113,6 @@
{{ render_field(form.website, class_="pkg_meta") }}
{{ render_field(form.issueTracker, class_="pkg_meta") }}
{{ render_field_prefix_button(form.forums, class_="pkg_meta",
pattern="[0-9]+",
prefix="forum.minetest.net/viewtopic.php?t=",
placeholder=_("Tip: paste in a forum topic URL")) }}
{{ render_field(form.video_url, class_="pkg_meta", hint=_("YouTube videos will be shown in an embed.")) }}
</fieldset>

View File

@ -28,18 +28,4 @@
{% endfor %}
{% endif %}
{% if similar_topics %}
<h3>{{ _("Similar Forum Topics") }}</h3>
<ul>
{% for t in similar_topics %}
<li>
[{{ t.type.value }}]
<a href="https://forum.minetest.net/viewtopic.php?t={{ t.topic_id }}">
{{ _("%(title)s by %(display_name)s", title=t.title, display_name=t.author.display_name) }}
</a>
{% if t.wip %}[{{ _("WIP") }}]{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}

View File

@ -37,37 +37,8 @@
{{ _("Download") }}
</div>
{% if release and (release.min_rel or release.max_rel) %}
<small class="count display-block">
{% if release.min_rel and release.max_rel %}
{{ _("Minetest %(min)s - %(max)s", min=release.min_rel.name, max=release.max_rel.name) }}
{% elif release.min_rel %}
{{ _("For Minetest %(min)s and above", min=release.min_rel.name) }}
{% elif release.max_rel %}
{{ _("Minetest %(max)s and below", max=release.max_rel.name) }}
{% endif %}
</small>
{% endif %}
</a>
{% if package.type == package.type.TOOL %}
{% set installing_url = "https://wiki.minetest.net/Installing_Mods" %}
{% elif package.type == package.type.GAME %}
{% set installing_url = "https://wiki.minetest.net/Games#Installing_games" %}
{% elif package.type == package.type.ASSETPACK %}
{% set installing_url = "https://wiki.minetest.net/Installing_Texture_Packs" %}
{% else %}
{{ 0 / 0 }}
{% endif %}
<p class="text-center mt-1 mb-4">
<a href="{{ installing_url }}">
<small>
<i class="fas fa-question-circle mr-1"></i>
{{ _("How do I install this?") }}
</small>
</a>
</p>
<p></p>
{% else %}
<i>
{{ _("No downloads available") }}
@ -170,7 +141,7 @@
<span class="count">{{ package.downloads }}</span>
</a>
{% endif %}
<a class="btn" href="{{ url_for('threads.list_all', pid=package.id) }}" title="{{ _("Threads") }}">
<a class="btn" href="{{ url_for('threads.list_all', pid=package.id) }}" title="{{ _("Discussion") }}">
<i class="fas fa-comment-alt"></i>
<span class="count">{{ threads | length }}</span>
</a>
@ -194,12 +165,6 @@
<span class="count">{{ _("Source") }}</span>
</a>
{% endif %}
{% if package.forums %}
<a class="btn" href="https://forum.minetest.net/viewtopic.php?t={{ package.forums }}">
<i class="fas fa-comments"></i>
<span class="count">{{ _("Forums") }}</span>
</a>
{% endif %}
{% if package.issueTracker %}
<a class="btn" href="{{ package.issueTracker }}">
<i class="fas fa-bug"></i>
@ -526,7 +491,7 @@
<a class="btn btn-primary btn-sm mx-1" href="{{ url_for('threads.new', pid=package.id) }}"><i class="fas fa-plus"></i></a>
</div>
{% endif %}
{{ _("Threads") }}
{{ _("Discussion") }}
</h3>
<div class="list-group">
{% from "macros/threads.html" import render_compact_threadlist %}

View File

@ -1,7 +1,7 @@
{% extends "base.html" %}
{% block title %}
{{ _("Threads") }}
{{ _("Discussion") }}
{% endblock %}
{% block content %}

View File

@ -29,12 +29,6 @@
{{ _("Package Tags") }}
</a>
</li>
<li class="nav-item">
<a class="nav-link {% if current_tab == "topics" %}active{% endif %}"
href="{{ url_for('todo.topics') }}">
{{ _("Forum Topics") }}
</a>
</li>
</ul>
</div>
</nav>

View File

@ -161,13 +161,6 @@
<p>
{{ medal.description }}
</p>
<!-- <div class="progress">
<div class="progress-bar" role="progressbar"
style="width: {{ [100 * medal.progress[0] / medal.progress[1], 100] | min }}%;"
aria-valuenow="{{ medal.progress[0] }}" aria-valuemin="0" aria-valuemax="{{ medal.progress[1] }}">
{{ _("%(value)d / %(target)d", value=medal.progress[0], target=medal.progress[1]) }}
</div>
</div> -->
</div>
</div>
{% endfor %}

View File

@ -1049,7 +1049,7 @@ msgstr "Hilfe"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr "Themen"
#: app/templates/base.html:48
@ -2741,7 +2741,7 @@ msgid ""
"read private threads."
msgstr ""
"Nur Sie, der Paketautor, und Benutzer mit dem Rang eines Genehmigers oder"
" höher können private Threads lesen."
" höher können private Discussion lesen."
#: app/templates/threads/user_comments.html:9
#: app/templates/threads/user_comments.html:13

View File

@ -1039,7 +1039,7 @@ msgstr "Ayuda"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr "Hilos de discusión"
#: app/templates/base.html:48

View File

@ -1044,7 +1044,7 @@ msgstr "Aide"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr "Fils"
#: app/templates/base.html:48

View File

@ -1048,7 +1048,7 @@ msgstr "Segítség"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr ""
#: app/templates/base.html:48

View File

@ -1038,7 +1038,7 @@ msgstr "Bantuan"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr "Utas"
#: app/templates/base.html:48

View File

@ -1003,7 +1003,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr ""
#: app/templates/base.html:48

View File

@ -1003,7 +1003,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr ""
#: app/templates/base.html:48

View File

@ -1044,7 +1044,7 @@ msgstr "Bantuan"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr "Bebenang"
#: app/templates/base.html:48

View File

@ -1006,7 +1006,7 @@ msgstr "Hjelp"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr ""
#: app/templates/base.html:48

View File

@ -1040,7 +1040,7 @@ msgstr "Помощь"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr "Треды"
#: app/templates/base.html:48

View File

@ -1005,7 +1005,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr ""
#: app/templates/base.html:48

View File

@ -1009,7 +1009,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr ""
#: app/templates/base.html:48

View File

@ -1015,7 +1015,7 @@ msgstr "帮助"
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr ""
#: app/templates/base.html:48

View File

@ -1009,7 +1009,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads"
msgid "Discussion"
msgstr ""
#: app/templates/base.html:48