|
|
|
@ -458,6 +458,20 @@ def get_top_uploading_institutions():
|
|
|
|
|
return dict(sorted(res.items(), key=lambda x:x[1], reverse=True))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_top_uploading_users():
|
|
|
|
|
res = dict()
|
|
|
|
|
users = get_all_active_users()
|
|
|
|
|
for user in users:
|
|
|
|
|
uploads = UploadSolar.query.filter_by(upload_user=user.id).all()
|
|
|
|
|
for upload in uploads:
|
|
|
|
|
if user.name not in res:
|
|
|
|
|
res[user.name] = 0
|
|
|
|
|
res[user.name] += len(upload.upload_file_hashes)
|
|
|
|
|
if len(res) >= 5:
|
|
|
|
|
return dict(sorted(res.items(), key=lambda x:x[1], reverse=True)[:5])
|
|
|
|
|
return dict(sorted(res.items(), key=lambda x:x[1], reverse=True))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_all_active_users():
|
|
|
|
|
# TODO: do filtering purely within an SQL query
|
|
|
|
|
res = []
|
|
|
|
|