Commit 70124526 authored by confusion's avatar confusion

添加翻译

parent 450e2093
from typing import List from typing import List
import requests
from motor.core import AgnosticCollection from motor.core import AgnosticCollection
import dependencies import dependencies
...@@ -213,7 +212,7 @@ async def income_history( ...@@ -213,7 +212,7 @@ async def income_history(
index: str, index: str,
beacon_service: BeaconChaService = Depends(BeaconChaService) beacon_service: BeaconChaService = Depends(BeaconChaService)
): ):
result = beacon_service.get_income_history(index) result = await beacon_service.get_income_history(index)
response = Response(data=result) response = Response(data=result)
return response return response
...@@ -223,7 +222,7 @@ async def income_history( ...@@ -223,7 +222,7 @@ async def income_history(
index: str, index: str,
beacon_service: BeaconChaService = Depends(BeaconChaService) beacon_service: BeaconChaService = Depends(BeaconChaService)
): ):
result = beacon_service.get_execute_income_history(index) result = await beacon_service.get_execute_income_history(index)
response = Response(data=result) response = Response(data=result)
return response return response
...@@ -233,6 +232,6 @@ async def get_rewards( ...@@ -233,6 +232,6 @@ async def get_rewards(
index_or_pubkey: str, index_or_pubkey: str,
beacon_service: BeaconChaService = Depends(BeaconChaService) beacon_service: BeaconChaService = Depends(BeaconChaService)
): ):
rewards = beacon_service.get_rewards(index_or_pubkey) rewards = await beacon_service.get_rewards(index_or_pubkey)
response = Response(data=rewards.dict()) response = Response(data=rewards.dict())
return response return response
...@@ -131,7 +131,6 @@ async def query_fund_id_permission( ...@@ -131,7 +131,6 @@ async def query_fund_id_permission(
async def query_fund_all_users( async def query_fund_all_users(
fund_id: str, fund_id: str,
user: User = Depends(get_current_user), user: User = Depends(get_current_user),
# all_permission_collect: AgnosticCollection = Depends(get_all_permission_collect),
permission_user_collect: AgnosticCollection = Depends(get_permission_user_collect), permission_user_collect: AgnosticCollection = Depends(get_permission_user_collect),
permission_role_collect: AgnosticCollection = Depends(get_permission_role_collect) permission_role_collect: AgnosticCollection = Depends(get_permission_role_collect)
): ):
......
...@@ -13,7 +13,4 @@ pymongo~=4.3.3 ...@@ -13,7 +13,4 @@ pymongo~=4.3.3
httpx~=0.23.3 httpx~=0.23.3
APScheduler~=3.10.1 APScheduler~=3.10.1
aiofiles==23.1.0 aiofiles==23.1.0
requests~=2.29.0
numpy~=1.24.3
Pillow~=9.5.0
lxml~=4.9.2 lxml~=4.9.2
\ No newline at end of file
...@@ -26,6 +26,7 @@ from pydantic import Field, BaseModel ...@@ -26,6 +26,7 @@ from pydantic import Field, BaseModel
class CreateRole(BaseModel): class CreateRole(BaseModel):
name: str = Field(..., description='角色名') name: str = Field(..., description='角色名')
label: str = Field(..., description='展示名') label: str = Field(..., description='展示名')
en_label: str = Field(..., description='英文展示名')
fund_id: str = Field(..., description='基金id') fund_id: str = Field(..., description='基金id')
permissions: List[str] = Field(..., description='拥有的权限') permissions: List[str] = Field(..., description='拥有的权限')
remark: str = Field(None, description='备注') remark: str = Field(None, description='备注')
......
...@@ -3,7 +3,6 @@ import re ...@@ -3,7 +3,6 @@ import re
import time import time
from typing import List, Union from typing import List, Union
import requests
from lxml import etree from lxml import etree
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
...@@ -165,15 +164,15 @@ class BeaconChaService: ...@@ -165,15 +164,15 @@ class BeaconChaService:
) )
return result return result
def get_income_history(self, index_or_pubkey: str): async def get_income_history(self, index_or_pubkey: str):
response = requests.get(f"{self.base_url}/validator/{index_or_pubkey}") response = await aio_request(url=f"{self.base_url}/validator/{index_or_pubkey}", json_res=False)
return eval(re.findall(r'var incomeHistory = \[(.*?)\]', response.text)[0]) return eval(re.findall(r'var incomeHistory = \[(.*?)\]', response)[0])
def get_execute_income_history(self, index_or_pubkey: str): async def get_execute_income_history(self, index_or_pubkey: str):
response = requests.get(f"{self.base_url}/validator/{index_or_pubkey}") response = await aio_request(f"{self.base_url}/validator/{index_or_pubkey}", json_res=False)
return eval(re.findall(r'var executionIncomeHistory = \[(.*?)\]', response.text)[0]) return eval(re.findall(r'var executionIncomeHistory = \[(.*?)\]', response)[0])
def get_rewards(self, index_or_pubkey: Union[int, str]) -> Rewards: async def get_rewards(self, index_or_pubkey: Union[int, str]) -> Rewards:
total_reward_element_path = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[1]/td/span" total_reward_element_path = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[1]/td/span"
total_reward_element_text_path = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[1]/td/span" total_reward_element_text_path = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[1]/td/span"
income_today_xpath = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[2]/td/span" income_today_xpath = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[2]/td/span"
...@@ -182,8 +181,7 @@ class BeaconChaService: ...@@ -182,8 +181,7 @@ class BeaconChaService:
total_income1d_xpath = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[3]/td/span/span[1]" total_income1d_xpath = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[3]/td/span/span[1]"
total_income7d_xpath = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[3]/td/span/span[2]" total_income7d_xpath = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[3]/td/span/span[2]"
total_income365d_xpath = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[3]/td/span/span[3]" total_income365d_xpath = "/html/body/main/div[1]/div[2]/div[2]/div/table/tbody/tr[3]/td/span/span[3]"
response = requests.get(f"{self.base_url}/validator/{index_or_pubkey}") html = aio_request(f"{self.base_url}/validator/{index_or_pubkey}", json_res=False)
html = response.content
# 解析 HTML 页面 # 解析 HTML 页面
tree = etree.HTML(html) tree = etree.HTML(html)
total_rewards_re = tree.xpath(total_reward_element_path)[0] total_rewards_re = tree.xpath(total_reward_element_path)[0]
......
...@@ -66,7 +66,7 @@ async def calculate_nav(fund_id, calc_time: datetime.datetime = None, beach_serv ...@@ -66,7 +66,7 @@ async def calculate_nav(fund_id, calc_time: datetime.datetime = None, beach_serv
if update_fund: if update_fund:
for key, value in fund_data["nodes"].items(): for key, value in fund_data["nodes"].items():
if value["status"] == "active": if value["status"] == "active":
income = beach_service.get_rewards(key) income = await beach_service.get_rewards(key)
node_income_assets.setdefault("ETH", 0) node_income_assets.setdefault("ETH", 0)
node_income_assets["ETH"] += income.total_rewards.total if income else 0 node_income_assets["ETH"] += income.total_rewards.total if income else 0
for key, value in node_income_assets.items(): for key, value in node_income_assets.items():
......
...@@ -218,6 +218,7 @@ default_role_table = [ ...@@ -218,6 +218,7 @@ default_role_table = [
{ {
"name": 'admin', "name": 'admin',
"label": "基金创建人", "label": "基金创建人",
"en_label": "Fund Creator",
"permissions": ['data_permission.fund.query_info', 'data_permission.fund.update_info', "permissions": ['data_permission.fund.query_info', 'data_permission.fund.update_info',
'data_permission.fund.query_asset', 'data_permission.fund.query_asset',
'data_permission.node.bind_node', 'data_permission.node.bind_node',
...@@ -251,6 +252,7 @@ default_role_table = [ ...@@ -251,6 +252,7 @@ default_role_table = [
{ {
"name": 'fund_manager', "name": 'fund_manager',
"label": "基金经理", "label": "基金经理",
"en_label": "Fund Manager",
"permissions": ['data_permission.fund.query_info', 'data_permission.fund.update_info', "permissions": ['data_permission.fund.query_info', 'data_permission.fund.update_info',
'data_permission.fund.query_asset', 'data_permission.fund.query_asset',
'data_permission.node.bind_node', 'data_permission.node.bind_node',
...@@ -278,6 +280,7 @@ default_role_table = [ ...@@ -278,6 +280,7 @@ default_role_table = [
{ {
"name": 'fund_manager_assistant', "name": 'fund_manager_assistant',
"label": "基金经理助理", "label": "基金经理助理",
"en_label": "Fund Manager Assistant",
"permissions": ['data_permission.fund.query_info', 'data_permission.fund.update_info', "permissions": ['data_permission.fund.query_info', 'data_permission.fund.update_info',
'data_permission.fund.query_asset', 'data_permission.fund.query_asset',
'data_permission.node.bind_node', 'data_permission.node.bind_node',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment