mirror of
https://git.wownero.com/lza_menace/suchwow.git
synced 2024-08-15 01:03:19 +00:00
Add users API
This commit is contained in:
parent
d0ff90dd5c
commit
4d8ede1ea8
1 changed files with 63 additions and 43 deletions
|
@ -1,43 +1,63 @@
|
|||
from flask import jsonify, Blueprint, url_for, request, abort
|
||||
from suchwow.models import Post
|
||||
from suchwow import wownero
|
||||
|
||||
|
||||
bp = Blueprint("api", "api")
|
||||
|
||||
@bp.route("/api/list")
|
||||
def api_list():
|
||||
limit = request.args.get('limit', 30)
|
||||
offset = request.args.get('offset', 0)
|
||||
|
||||
# Hacky way to convert query str value to int
|
||||
try:
|
||||
limit = int(limit)
|
||||
offset = int(offset)
|
||||
except:
|
||||
abort(500, "Bleep bleep")
|
||||
|
||||
if limit > 30:
|
||||
limit = 30
|
||||
|
||||
all_posts = []
|
||||
posts = Post.select().where(Post.approved==True).order_by(Post.timestamp.desc()).limit(limit).offset(offset)
|
||||
for post in posts:
|
||||
wallet = wownero.Wallet()
|
||||
if wallet.connected:
|
||||
address = wallet.get_address(account=post.account_index)
|
||||
else:
|
||||
address = ''
|
||||
|
||||
payload = {
|
||||
'image': url_for('post.uploaded_file', filename=post.image_name, _external=True),
|
||||
'submitter': post.submitter,
|
||||
'address': address,
|
||||
'title': post.title,
|
||||
'text': post.text,
|
||||
'href': url_for('post.read', id=post.id, _external=True),
|
||||
'id': post.id,
|
||||
'timestamp': post.timestamp
|
||||
}
|
||||
all_posts.append(payload)
|
||||
return jsonify(all_posts)
|
||||
from flask import jsonify, Blueprint, url_for, request, abort
|
||||
from suchwow.models import Post
|
||||
from suchwow import wownero
|
||||
|
||||
from suchwow.utils.helpers import rw_cache, get_top_posters, get_top_posts
|
||||
|
||||
|
||||
bp = Blueprint("api", "api")
|
||||
|
||||
|
||||
@bp.route("/api/list")
|
||||
def api_list():
|
||||
limit = request.args.get('limit', 30)
|
||||
offset = request.args.get('offset', 0)
|
||||
|
||||
# Hacky way to convert query str value to int
|
||||
try:
|
||||
limit = int(limit)
|
||||
offset = int(offset)
|
||||
except:
|
||||
abort(500, "Bleep bleep")
|
||||
|
||||
if limit > 30:
|
||||
limit = 30
|
||||
|
||||
all_posts = []
|
||||
posts = Post.select().where(Post.approved == True).order_by(
|
||||
Post.timestamp.desc()).limit(limit).offset(offset)
|
||||
for post in posts:
|
||||
wallet = wownero.Wallet()
|
||||
if wallet.connected:
|
||||
address = wallet.get_address(account=post.account_index)
|
||||
else:
|
||||
address = ''
|
||||
|
||||
payload = {
|
||||
'image': url_for('post.uploaded_file', filename=post.image_name, _external=True),
|
||||
'submitter': post.submitter,
|
||||
'address': address,
|
||||
'title': post.title,
|
||||
'text': post.text,
|
||||
'href': url_for('post.read', id=post.id, _external=True),
|
||||
'id': post.id,
|
||||
'timestamp': post.timestamp
|
||||
}
|
||||
all_posts.append(payload)
|
||||
return jsonify(all_posts)
|
||||
|
||||
|
||||
@bp.route("/api/posters")
|
||||
def api_posters():
|
||||
|
||||
posters = get_top_posters()
|
||||
all_posters = {}
|
||||
for poster, data in posters.items():
|
||||
payload = {
|
||||
"submitter": poster,
|
||||
"posts": data["posts"],
|
||||
"amount": data["amount"],
|
||||
}
|
||||
all_posters.append(payload)
|
||||
|
||||
return jsonify(posters)
|
||||
|
|
Loading…
Reference in a new issue