Add import users from Krock's mod list feature
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
import flask
|
||||
import flask, json
|
||||
from flask.ext.sqlalchemy import SQLAlchemy
|
||||
from app import app
|
||||
from app.models import *
|
||||
from app.tasks import celery
|
||||
from .phpbbparser import getProfile
|
||||
import urllib.request
|
||||
from urllib.parse import urlparse, quote_plus
|
||||
|
||||
@celery.task()
|
||||
def checkForumAccount(username, token=None):
|
||||
@@ -24,10 +26,35 @@ def checkForumAccount(username, token=None):
|
||||
# Get github username
|
||||
github_username = profile.get("github")
|
||||
if github_username is not None and github_username.strip() != "":
|
||||
print("Updated github username")
|
||||
print("Updated github username for " + user.display_name + " to " + github_username)
|
||||
user.github_username = github_username
|
||||
needsSaving = True
|
||||
|
||||
# Save
|
||||
if needsSaving:
|
||||
db.session.commit()
|
||||
|
||||
@celery.task()
|
||||
def importUsersFromModList():
|
||||
contents = urllib.request.urlopen("http://krock-works.16mb.com/MTstuff/modList.php").read().decode("utf-8")
|
||||
list = json.loads(contents)
|
||||
found = {}
|
||||
imported = []
|
||||
|
||||
for user in User.query.all():
|
||||
found[user.username] = True
|
||||
if user.forums_username is not None:
|
||||
found[user.forums_username] = True
|
||||
|
||||
for x in list:
|
||||
author = x.get("author")
|
||||
if author is not None and not author in found:
|
||||
user = User(author)
|
||||
user.forums_username = author
|
||||
imported.append(author)
|
||||
found[author] = True
|
||||
db.session.add(user)
|
||||
|
||||
db.session.commit()
|
||||
for author in found:
|
||||
checkForumAccount.delay(author, None)
|
||||
|
||||
Reference in New Issue
Block a user