Skip to content
Snippets Groups Projects
Commit 5fb8391e authored by Mariusz Trela's avatar Mariusz Trela
Browse files

Fix in `api_vote_info` method

parent ead0a18e
No related branches found
No related tags found
4 merge requests!456Release candidate v1 24,!230Setup monitoring with pghero,!138Small typos fixed,!129The calls 'list_votes'/'find_votes' work
This commit is part of merge request !129. Comments created here will be created in the context of that merge request.
...@@ -16,7 +16,7 @@ from hive.server.common.helpers import ( ...@@ -16,7 +16,7 @@ from hive.server.common.helpers import (
valid_follow_type) valid_follow_type)
from hive.server.common.mutes import Mutes from hive.server.common.mutes import Mutes
from hive.server.database_api.methods import find_votes, VotesPresentation from hive.server.database_api.methods import find_votes, VotesPresentation
from hive.utils.normalize import rep_to_raw, number_to_json_value, time_string_with_t from hive.utils.normalize import rep_to_raw, time_string_with_t
# pylint: disable=too-many-arguments,line-too-long,too-many-lines # pylint: disable=too-many-arguments,line-too-long,too-many-lines
......
...@@ -3,7 +3,7 @@ from enum import Enum ...@@ -3,7 +3,7 @@ from enum import Enum
from hive.server.common.helpers import return_error_info, valid_limit, valid_account, valid_permlink, valid_date from hive.server.common.helpers import return_error_info, valid_limit, valid_account, valid_permlink, valid_date
from hive.server.database_api.objects import database_post_object from hive.server.database_api.objects import database_post_object
from hive.utils.normalize import rep_to_raw, number_to_json_value, time_string_with_t from hive.utils.normalize import rep_to_raw, time_string_with_t
from hive.server.common.helpers import json_date from hive.server.common.helpers import json_date
import datetime import datetime
...@@ -172,18 +172,18 @@ def api_vote_info(rows, votes_presentation): ...@@ -172,18 +172,18 @@ def api_vote_info(rows, votes_presentation):
ret = [] ret = []
for row in rows: for row in rows:
if votes_presentation == VotesPresentation.DatabaseApi: if votes_presentation == VotesPresentation.DatabaseApi:
ret.append(dict(voter=row.voter, author=row.author, permlink=row.permlink, ret.append(dict(voter = row.voter, author = row.author, permlink = row.permlink,
weight=number_to_json_value(row.weight), rshares=number_to_json_value(row.rshares), vote_percent=row.percent, weight = row.weight, rshares = row.rshares, vote_percent = row.percent,
last_update=json_date(row.last_update), num_changes=row.num_changes)) last_update = json_date(row.last_update), num_changes = row.num_changes))
elif votes_presentation == VotesPresentation.CondenserApi: elif votes_presentation == VotesPresentation.CondenserApi:
ret.append(dict(percent=str(row.percent), reputation=rep_to_raw(row.reputation), ret.append(dict(percent = str(row.percent), reputation = rep_to_raw(row.reputation),
rshares=number_to_json_value(row.rshares), voter=row.voter)) rshares = row.rshares, voter = row.voter))
elif votes_presentation == VotesPresentation.BridgeApi: elif votes_presentation == VotesPresentation.BridgeApi:
ret.append(dict(rshares=number_to_json_value(row.rshares), voter=row.voter)) ret.append(dict(rshares = row.rshares, voter = row.voter))
else: else:
ret.append(dict(percent=row.percent, reputation=rep_to_raw(row.reputation), ret.append(dict(percent = row.percent, reputation = rep_to_raw(row.reputation),
rshares=number_to_json_value(row.rshares), time=time_string_with_t(row.time), rshares = row.rshares, time = json_date(row.last_update),
voter=row.voter, weight=number_to_json_value(row.weight) voter = row.voter, weight = row.weight
)) ))
return ret return ret
......
...@@ -278,15 +278,6 @@ def asset_to_hbd_hive(price, asset): ...@@ -278,15 +278,6 @@ def asset_to_hbd_hive(price, asset):
return {'amount' : result, 'nai' : price['base']['nai'], 'precision' : price['base']['precision']} return {'amount' : result, 'nai' : price['base']['nai'], 'precision' : price['base']['precision']}
raise ValueError("Asset not supported") raise ValueError("Asset not supported")
def number_to_json_value(number):
""" hived serialize some numbers greater than 0xFFFFFFFF as strings
Check 'json::stringify_large_ints_and_doubles' in hive C++ code
"""
if number > 0xFFFFFFFF:
return str(number)
return int(number)
def time_string_with_t(time_iso8601): def time_string_with_t(time_iso8601):
""" Ensures that time in format ISO8601 use 'T' as a data time separator """ Ensures that time in format ISO8601 use 'T' as a data time separator
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment