1
This commit is contained in:
parent
435ed2d331
commit
d38ce0b86c
@ -24,6 +24,8 @@ stat = {
|
||||
'merchant_hold': 0
|
||||
},
|
||||
'nft_rank': [
|
||||
],
|
||||
'nft_hero_box_rank': [
|
||||
]
|
||||
}
|
||||
|
||||
@ -100,17 +102,39 @@ def statData():
|
||||
del boxUser[key]
|
||||
assert(len(boxUser) == stat['blindBox']['user_hold'])
|
||||
userHoldNums = {}
|
||||
userHoldHeroBoxNums = {}
|
||||
for key, value in boxUser.items():
|
||||
userHoldNums[value] = 1
|
||||
for row in nftTable:
|
||||
ownerAddress = row['owner_address'].lower()
|
||||
if ownerAddress != EMPTY_ADDRESS and ownerAddress != '' and row['token_type'] != '4':
|
||||
stat['nft_total'] += 1
|
||||
stat['nft_mint'] += 1
|
||||
if ownerAddress not in userHoldNums:
|
||||
userHoldNums[ownerAddress] = 1
|
||||
else:
|
||||
userHoldNums[ownerAddress] += 1
|
||||
if ownerAddress != EMPTY_ADDRESS and ownerAddress != '':
|
||||
if row['token_type'] != '4':
|
||||
stat['nft_total'] += 1
|
||||
stat['nft_mint'] += 1
|
||||
if ownerAddress not in userHoldNums:
|
||||
userHoldNums[ownerAddress] = 1
|
||||
else:
|
||||
userHoldNums[ownerAddress] += 1
|
||||
if row['token_type'] == '1':
|
||||
if ownerAddress not in userHoldHeroBoxNums:
|
||||
userHoldHeroBoxNums[ownerAddress] = {
|
||||
'hero': 1,
|
||||
'box': 0,
|
||||
'nftNum': 1
|
||||
}
|
||||
else:
|
||||
userHoldHeroBoxNums[ownerAddress]['hero'] += 1
|
||||
userHoldHeroBoxNums[ownerAddress]['nftNum'] += 1
|
||||
if row['token_type'] == '4':
|
||||
if ownerAddress not in userHoldHeroBoxNums:
|
||||
userHoldHeroBoxNums[ownerAddress] = {
|
||||
'hero': 0,
|
||||
'box': 1,
|
||||
'nftNum': 1
|
||||
}
|
||||
else:
|
||||
userHoldHeroBoxNums[ownerAddress]['box'] += 1
|
||||
userHoldHeroBoxNums[ownerAddress]['nftNum'] += 1
|
||||
#end for
|
||||
userHoldList = []
|
||||
for key, value in userHoldNums.items():
|
||||
@ -151,6 +175,52 @@ def statData():
|
||||
with open('nft_rank.csv', 'w', newline='') as f:
|
||||
writer = csv.writer(f)
|
||||
writer.writerows(rankList)
|
||||
|
||||
#
|
||||
userHoldHeroBoxList = []
|
||||
for key, value in userHoldHeroBoxNums.items():
|
||||
if value['nftNum'] > 1:
|
||||
userHoldHeroBoxList.append(
|
||||
{
|
||||
'address': key,
|
||||
'hero': value['hero'],
|
||||
'box': value['box'],
|
||||
'nftNum': value['nftNum']
|
||||
}
|
||||
)
|
||||
#end for
|
||||
def cmpFunc(a, b):
|
||||
if a['nftNum'] > b['nftNum']:
|
||||
return -1
|
||||
elif a['nftNum'] < b['nftNum']:
|
||||
return 1
|
||||
else:
|
||||
return 0
|
||||
stat['nft_hero_box_rank'] = sorted(userHoldHeroBoxList, key=functools.cmp_to_key(cmpFunc))
|
||||
for i in range(len(stat['nft_hero_box_rank'])):
|
||||
stat['nft_hero_box_rank'][i]['rank'] = i + 1
|
||||
rankList = [
|
||||
(
|
||||
'address',
|
||||
'hero',
|
||||
'box',
|
||||
'nftNum',
|
||||
'rank'
|
||||
)
|
||||
]
|
||||
for item in stat['nft_hero_box_rank']:
|
||||
rankList.append(
|
||||
(
|
||||
item['address'],
|
||||
item['hero'],
|
||||
item['box'],
|
||||
item['nftNum'],
|
||||
item['rank']
|
||||
)
|
||||
)
|
||||
with open('nft_hero_box_rank.csv', 'w', newline='') as f:
|
||||
writer = csv.writer(f)
|
||||
writer.writerows(rankList)
|
||||
print(json.dumps(stat, indent=4))
|
||||
|
||||
def loadData():
|
||||
|
Loading…
x
Reference in New Issue
Block a user