Use snake_case for method names
This commit is contained in:
@@ -75,11 +75,11 @@ celery = make_celery(app)
|
||||
|
||||
CELERYBEAT_SCHEDULE = {
|
||||
'topic_list_import': {
|
||||
'task': 'app.tasks.forumtasks.importTopicList',
|
||||
'task': 'app.tasks.forumtasks.import_topic_list',
|
||||
'schedule': crontab(minute=1, hour=1), # 0101
|
||||
},
|
||||
'package_score_update': {
|
||||
'task': 'app.tasks.pkgtasks.updatePackageScores',
|
||||
'task': 'app.tasks.pkgtasks.update_package_scores',
|
||||
'schedule': crontab(minute=10, hour=1), # 0110
|
||||
},
|
||||
'check_for_updates': {
|
||||
|
||||
@@ -23,7 +23,7 @@ from flask_mail import Message
|
||||
from app import mail
|
||||
from app.models import Notification, db, EmailSubscription, User
|
||||
from app.tasks import celery
|
||||
from app.utils import abs_url_for, abs_url, randomString
|
||||
from app.utils import abs_url_for, abs_url, random_string
|
||||
|
||||
|
||||
def get_email_subscription(email):
|
||||
@@ -31,7 +31,7 @@ def get_email_subscription(email):
|
||||
ret = EmailSubscription.query.filter_by(email=email).first()
|
||||
if not ret:
|
||||
ret = EmailSubscription(email)
|
||||
ret.token = randomString(32)
|
||||
ret.token = random_string(32)
|
||||
db.session.add(ret)
|
||||
db.session.commit()
|
||||
|
||||
|
||||
@@ -23,15 +23,15 @@ from urllib.parse import urljoin
|
||||
from app.models import User, db, PackageType, ForumTopic
|
||||
from app.tasks import celery
|
||||
from app.utils import is_username_valid
|
||||
from app.utils.phpbbparser import getProfile, getTopicsFromForum
|
||||
from app.utils.phpbbparser import get_profile, get_topics_from_forum
|
||||
from .usertasks import set_profile_picture_from_url
|
||||
|
||||
|
||||
@celery.task()
|
||||
def checkForumAccount(forums_username):
|
||||
def check_forum_account(forums_username):
|
||||
print("### Checking " + forums_username, file=sys.stderr)
|
||||
try:
|
||||
profile = getProfile("https://forum.minetest.net", forums_username)
|
||||
profile = get_profile("https://forum.minetest.net", forums_username)
|
||||
except OSError as e:
|
||||
print(e, file=sys.stderr)
|
||||
return
|
||||
@@ -42,7 +42,7 @@ def checkForumAccount(forums_username):
|
||||
user = User.query.filter_by(forums_username=forums_username).first()
|
||||
|
||||
# Create user
|
||||
needsSaving = False
|
||||
needs_saving = False
|
||||
if user is None:
|
||||
user = User(forums_username)
|
||||
user.forums_username = forums_username
|
||||
@@ -53,14 +53,14 @@ def checkForumAccount(forums_username):
|
||||
if github_username is not None and github_username.strip() != "":
|
||||
print("Updated GitHub username for " + user.display_name + " to " + github_username)
|
||||
user.github_username = github_username
|
||||
needsSaving = True
|
||||
needs_saving = True
|
||||
|
||||
pic = profile.avatar
|
||||
if pic and pic.startswith("http"):
|
||||
pic = None
|
||||
|
||||
# Save
|
||||
if needsSaving:
|
||||
if needs_saving:
|
||||
db.session.commit()
|
||||
|
||||
if pic:
|
||||
@@ -74,21 +74,21 @@ def checkForumAccount(forums_username):
|
||||
print(f"####### Queueing", file=sys.stderr)
|
||||
set_profile_picture_from_url.delay(user.username, pic)
|
||||
|
||||
return needsSaving
|
||||
return needs_saving
|
||||
|
||||
|
||||
@celery.task()
|
||||
def checkAllForumAccounts():
|
||||
def check_all_forum_accounts():
|
||||
query = User.query.filter(User.forums_username.isnot(None))
|
||||
for user in query.all():
|
||||
checkForumAccount(user.forums_username)
|
||||
check_forum_account(user.forums_username)
|
||||
|
||||
|
||||
regex_tag = re.compile(r"\[([a-z0-9_]+)\]")
|
||||
BANNED_NAMES = ["mod", "game", "old", "outdated", "wip", "api", "beta", "alpha", "git"]
|
||||
|
||||
|
||||
def getNameFromTaglist(taglist):
|
||||
def get_name_from_taglist(taglist):
|
||||
for tag in reversed(regex_tag.findall(taglist)):
|
||||
if len(tag) < 30 and not tag in BANNED_NAMES and \
|
||||
not re.match(r"^[a-z]?[0-9]+$", tag):
|
||||
@@ -100,15 +100,16 @@ def getNameFromTaglist(taglist):
|
||||
regex_title = re.compile(r"^((?:\[[^\]]+\] *)*)([^\[]+) *((?:\[[^\]]+\] *)*)[^\[]*$")
|
||||
|
||||
|
||||
def parseTitle(title):
|
||||
def parse_title(title):
|
||||
m = regex_title.match(title)
|
||||
if m is None:
|
||||
print("Invalid title format: " + title)
|
||||
return title, getNameFromTaglist(title)
|
||||
return title, get_name_from_taglist(title)
|
||||
else:
|
||||
return m.group(2).strip(), getNameFromTaglist(m.group(3))
|
||||
return m.group(2).strip(), get_name_from_taglist(m.group(3))
|
||||
|
||||
def getLinksFromModSearch():
|
||||
|
||||
def get_links_from_mod_search():
|
||||
links = {}
|
||||
|
||||
try:
|
||||
@@ -127,15 +128,16 @@ def getLinksFromModSearch():
|
||||
|
||||
return links
|
||||
|
||||
|
||||
@celery.task()
|
||||
def importTopicList():
|
||||
links_by_id = getLinksFromModSearch()
|
||||
def import_topic_list():
|
||||
links_by_id = get_links_from_mod_search()
|
||||
|
||||
info_by_id = {}
|
||||
getTopicsFromForum(11, out=info_by_id, extra={ 'type': PackageType.MOD, 'wip': False })
|
||||
getTopicsFromForum(9, out=info_by_id, extra={ 'type': PackageType.MOD, 'wip': True })
|
||||
getTopicsFromForum(15, out=info_by_id, extra={ 'type': PackageType.GAME, 'wip': False })
|
||||
getTopicsFromForum(50, out=info_by_id, extra={ 'type': PackageType.GAME, 'wip': True })
|
||||
get_topics_from_forum(11, out=info_by_id, extra={'type': PackageType.MOD, 'wip': False})
|
||||
get_topics_from_forum(9, out=info_by_id, extra={'type': PackageType.MOD, 'wip': True})
|
||||
get_topics_from_forum(15, out=info_by_id, extra={'type': PackageType.GAME, 'wip': False})
|
||||
get_topics_from_forum(50, out=info_by_id, extra={'type': PackageType.GAME, 'wip': True})
|
||||
|
||||
# Caches
|
||||
username_to_user = {}
|
||||
@@ -182,7 +184,7 @@ def importTopicList():
|
||||
db.session.add(topic)
|
||||
|
||||
# Parse title
|
||||
title, name = parseTitle(info["title"])
|
||||
title, name = parse_title(info["title"])
|
||||
|
||||
# Get link
|
||||
link = links_by_id.get(id)
|
||||
|
||||
@@ -30,7 +30,7 @@ from kombu import uuid
|
||||
from app.models import AuditSeverity, db, NotificationType, PackageRelease, MetaPackage, Dependency, PackageType, \
|
||||
MinetestRelease, Package, PackageState, PackageScreenshot, PackageUpdateTrigger, PackageUpdateConfig
|
||||
from app.tasks import celery, TaskError
|
||||
from app.utils import randomString, post_bot_message, addSystemNotification, addSystemAuditLog, get_games_from_csv
|
||||
from app.utils import random_string, post_bot_message, add_system_notification, add_system_audit_log, get_games_from_csv
|
||||
from app.utils.git import clone_repo, get_latest_tag, get_latest_commit, get_temp_dir
|
||||
from .minetestcheck import build_tree, MinetestCheckError, ContentType
|
||||
from app import app
|
||||
@@ -41,7 +41,7 @@ from app.utils.image import get_image_size
|
||||
|
||||
|
||||
@celery.task()
|
||||
def getMeta(urlstr, author):
|
||||
def get_meta(urlstr, author):
|
||||
with clone_repo(urlstr, recursive=True) as repo:
|
||||
try:
|
||||
tree = build_tree(repo.working_tree_dir, author=author, repo=urlstr)
|
||||
@@ -82,13 +82,13 @@ def getMeta(urlstr, author):
|
||||
|
||||
|
||||
@celery.task()
|
||||
def updateAllGameSupport():
|
||||
def update_all_game_support():
|
||||
resolver = GameSupportResolver(db.session)
|
||||
resolver.init_all()
|
||||
db.session.commit()
|
||||
|
||||
|
||||
def postReleaseCheckUpdate(self, release: PackageRelease, path):
|
||||
def post_release_check_update(self, release: PackageRelease, path):
|
||||
try:
|
||||
tree = build_tree(path, expected_type=ContentType[release.package.type.name],
|
||||
author=release.package.author.username, name=release.package.name)
|
||||
@@ -97,14 +97,14 @@ def postReleaseCheckUpdate(self, release: PackageRelease, path):
|
||||
raise MinetestCheckError(f"Expected {tree.relative} to have technical name {release.package.name}, instead has name {tree.name}")
|
||||
|
||||
cache = {}
|
||||
def getMetaPackages(names):
|
||||
def get_meta_packages(names):
|
||||
return [ MetaPackage.GetOrCreate(x, cache) for x in names ]
|
||||
|
||||
provides = tree.get_mod_names()
|
||||
|
||||
package = release.package
|
||||
package.provides.clear()
|
||||
package.provides.extend(getMetaPackages(tree.get_mod_names()))
|
||||
package.provides.extend(get_meta_packages(tree.get_mod_names()))
|
||||
|
||||
# Delete all mod name dependencies
|
||||
package.dependencies.filter(Dependency.meta_package != None).delete()
|
||||
@@ -124,10 +124,10 @@ def postReleaseCheckUpdate(self, release: PackageRelease, path):
|
||||
raise MinetestCheckError("Game has unresolved hard dependencies: " + deps)
|
||||
|
||||
# Add dependencies
|
||||
for meta in getMetaPackages(depends):
|
||||
for meta in get_meta_packages(depends):
|
||||
db.session.add(Dependency(package, meta=meta, optional=False))
|
||||
|
||||
for meta in getMetaPackages(optional_depends):
|
||||
for meta in get_meta_packages(optional_depends):
|
||||
db.session.add(Dependency(package, meta=meta, optional=True))
|
||||
|
||||
# Update min/max
|
||||
@@ -191,7 +191,7 @@ def postReleaseCheckUpdate(self, release: PackageRelease, path):
|
||||
|
||||
|
||||
@celery.task(bind=True)
|
||||
def checkZipRelease(self, id, path):
|
||||
def check_zip_release(self, id, path):
|
||||
release = PackageRelease.query.get(id)
|
||||
if release is None:
|
||||
raise TaskError("No such release!")
|
||||
@@ -202,7 +202,7 @@ def checkZipRelease(self, id, path):
|
||||
with ZipFile(path, 'r') as zip_ref:
|
||||
zip_ref.extractall(temp)
|
||||
|
||||
postReleaseCheckUpdate(self, release, temp)
|
||||
post_release_check_update(self, release, temp)
|
||||
|
||||
release.task_id = None
|
||||
release.approve(release.package.author)
|
||||
@@ -210,7 +210,7 @@ def checkZipRelease(self, id, path):
|
||||
|
||||
|
||||
@celery.task(bind=True)
|
||||
def makeVCSRelease(self, id, branch):
|
||||
def make_vcs_release(self, id, branch):
|
||||
release = PackageRelease.query.get(id)
|
||||
if release is None:
|
||||
raise TaskError("No such release!")
|
||||
@@ -218,9 +218,9 @@ def makeVCSRelease(self, id, branch):
|
||||
raise TaskError("No package attached to release")
|
||||
|
||||
with clone_repo(release.package.repo, ref=branch, recursive=True) as repo:
|
||||
postReleaseCheckUpdate(self, release, repo.working_tree_dir)
|
||||
post_release_check_update(self, release, repo.working_tree_dir)
|
||||
|
||||
filename = randomString(10) + ".zip"
|
||||
filename = random_string(10) + ".zip"
|
||||
destPath = os.path.join(app.config["UPLOAD_DIR"], filename)
|
||||
|
||||
assert(not os.path.isfile(destPath))
|
||||
@@ -238,7 +238,7 @@ def makeVCSRelease(self, id, branch):
|
||||
|
||||
|
||||
@celery.task()
|
||||
def importRepoScreenshot(id):
|
||||
def import_repo_screenshot(id):
|
||||
package = Package.query.get(id)
|
||||
if package is None or package.state == PackageState.DELETED:
|
||||
raise Exception("Unexpected none package")
|
||||
@@ -248,7 +248,7 @@ def importRepoScreenshot(id):
|
||||
for ext in ["png", "jpg", "jpeg"]:
|
||||
sourcePath = repo.working_tree_dir + "/screenshot." + ext
|
||||
if os.path.isfile(sourcePath):
|
||||
filename = randomString(10) + "." + ext
|
||||
filename = random_string(10) + "." + ext
|
||||
destPath = os.path.join(app.config["UPLOAD_DIR"], filename)
|
||||
shutil.copyfile(sourcePath, destPath)
|
||||
|
||||
@@ -313,11 +313,11 @@ def check_update_config_impl(package):
|
||||
db.session.add(rel)
|
||||
|
||||
msg = "Created release {} (Git Update Detection)".format(rel.title)
|
||||
addSystemAuditLog(AuditSeverity.NORMAL, msg, package.get_url("packages.view"), package)
|
||||
add_system_audit_log(AuditSeverity.NORMAL, msg, package.get_url("packages.view"), package)
|
||||
|
||||
db.session.commit()
|
||||
|
||||
makeVCSRelease.apply_async((rel.id, commit), task_id=rel.task_id)
|
||||
make_vcs_release.apply_async((rel.id, commit), task_id=rel.task_id)
|
||||
|
||||
elif config.outdated_at is None:
|
||||
config.set_outdated()
|
||||
@@ -338,8 +338,8 @@ def check_update_config_impl(package):
|
||||
.format(tag, msg_last)
|
||||
|
||||
for user in package.maintainers:
|
||||
addSystemNotification(user, NotificationType.BOT,
|
||||
msg, url_for("todo.view_user", username=user.username, _external=False), package)
|
||||
add_system_notification(user, NotificationType.BOT,
|
||||
msg, url_for("todo.view_user", username=user.username, _external=False), package)
|
||||
|
||||
config.last_commit = commit
|
||||
config.last_tag = tag
|
||||
|
||||
@@ -19,7 +19,7 @@ from app.models import Package, db
|
||||
from app.tasks import celery
|
||||
|
||||
@celery.task()
|
||||
def updatePackageScores():
|
||||
def update_package_scores():
|
||||
Package.query.update({ "score_downloads": Package.score_downloads * 0.95 })
|
||||
db.session.commit()
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ from sqlalchemy import or_, and_
|
||||
|
||||
from app import app
|
||||
from app.models import User, db, UserRank, ThreadReply, Package
|
||||
from app.utils import randomString
|
||||
from app.utils import random_string
|
||||
from app.utils.models import create_session
|
||||
from app.tasks import celery, TaskError
|
||||
|
||||
@@ -76,7 +76,7 @@ def set_profile_picture_from_url(username: str, url: str):
|
||||
else:
|
||||
raise TaskError(f"Unacceptable content-type: {content_type}")
|
||||
|
||||
filename = randomString(10) + "." + ext
|
||||
filename = random_string(10) + "." + ext
|
||||
filepath = os.path.join(app.config["UPLOAD_DIR"], filename)
|
||||
with open(filepath, "wb") as f:
|
||||
size = 0
|
||||
|
||||
Reference in New Issue
Block a user