Make a couple of responses faster by fetching less achievement data.
This commit is contained in:
parent
ef4a43be0e
commit
7560e30498
@ -949,17 +949,9 @@ class IIDXCannonBallers(IIDXCourse, IIDXBase):
|
||||
)
|
||||
|
||||
# Figure out number of players that played this ranking
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version)
|
||||
num_players = 0
|
||||
for [_, ach] in all_achievements:
|
||||
if ach.type != index:
|
||||
continue
|
||||
if ach.id != rank:
|
||||
continue
|
||||
num_players = num_players + 1
|
||||
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version, achievementid=rank, achievementtype=index)
|
||||
root = Node.void('IIDX25grade')
|
||||
root.set_attribute('pnum', str(num_players))
|
||||
root.set_attribute('pnum', str(len(all_achievements)))
|
||||
return root
|
||||
|
||||
def handle_IIDX25pc_common_request(self, request: Node) -> Node:
|
||||
|
@ -875,17 +875,9 @@ class IIDXCopula(IIDXCourse, IIDXBase):
|
||||
)
|
||||
|
||||
# Figure out number of players that played this ranking
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version)
|
||||
num_players = 0
|
||||
for [_, ach] in all_achievements:
|
||||
if ach.type != index:
|
||||
continue
|
||||
if ach.id != rank:
|
||||
continue
|
||||
num_players = num_players + 1
|
||||
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version, achievementid=rank, achievementtype=index)
|
||||
root = Node.void('IIDX23grade')
|
||||
root.set_attribute('pnum', str(num_players))
|
||||
root.set_attribute('pnum', str(len(all_achievements)))
|
||||
return root
|
||||
|
||||
# Invalid method
|
||||
|
@ -863,17 +863,9 @@ class IIDXPendual(IIDXCourse, IIDXBase):
|
||||
)
|
||||
|
||||
# Figure out number of players that played this ranking
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version)
|
||||
num_players = 0
|
||||
for [_, ach] in all_achievements:
|
||||
if ach.type != index:
|
||||
continue
|
||||
if ach.id != rank:
|
||||
continue
|
||||
num_players = num_players + 1
|
||||
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version, achievementid=rank, achievementtype=index)
|
||||
root = Node.void('IIDX22grade')
|
||||
root.set_attribute('pnum', str(num_players))
|
||||
root.set_attribute('pnum', str(len(all_achievements)))
|
||||
return root
|
||||
|
||||
# Invalid method
|
||||
|
@ -802,17 +802,9 @@ class IIDXRootage(IIDXCourse, IIDXBase):
|
||||
)
|
||||
|
||||
# Figure out number of players that played this ranking
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version)
|
||||
num_players = 0
|
||||
for [_, ach] in all_achievements:
|
||||
if ach.type != index:
|
||||
continue
|
||||
if ach.id != rank:
|
||||
continue
|
||||
num_players = num_players + 1
|
||||
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version, achievementid=rank, achievementtype=index)
|
||||
root = Node.void('IIDX26grade')
|
||||
root.set_attribute('pnum', str(num_players))
|
||||
root.set_attribute('pnum', str(len(all_achievements)))
|
||||
return root
|
||||
|
||||
def handle_IIDX26pc_common_request(self, request: Node) -> Node:
|
||||
|
@ -897,17 +897,9 @@ class IIDXSinobuz(IIDXCourse, IIDXBase):
|
||||
)
|
||||
|
||||
# Figure out number of players that played this ranking
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version)
|
||||
num_players = 0
|
||||
for [_, ach] in all_achievements:
|
||||
if ach.type != index:
|
||||
continue
|
||||
if ach.id != rank:
|
||||
continue
|
||||
num_players = num_players + 1
|
||||
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version, achievementid=rank, achievementtype=index)
|
||||
root = Node.void('IIDX24grade')
|
||||
root.set_attribute('pnum', str(num_players))
|
||||
root.set_attribute('pnum', str(len(all_achievements)))
|
||||
return root
|
||||
|
||||
def handle_IIDX24pc_common_request(self, request: Node) -> Node:
|
||||
|
@ -986,17 +986,9 @@ class IIDXSpada(IIDXBase):
|
||||
)
|
||||
|
||||
# Figure out number of players that played this ranking
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version)
|
||||
num_players = 0
|
||||
for [_, ach] in all_achievements:
|
||||
if ach.type != index:
|
||||
continue
|
||||
if ach.id != rank:
|
||||
continue
|
||||
num_players = num_players + 1
|
||||
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version, achievementid=rank, achievementtype=index)
|
||||
root = Node.void('IIDX21grade')
|
||||
root.set_attribute('pnum', str(num_players))
|
||||
root.set_attribute('pnum', str(len(all_achievements)))
|
||||
return root
|
||||
|
||||
# Invalid method
|
||||
|
@ -962,17 +962,9 @@ class IIDXTricoro(IIDXBase):
|
||||
)
|
||||
|
||||
# Figure out number of players that played this ranking
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version)
|
||||
num_players = 0
|
||||
for [_, ach] in all_achievements:
|
||||
if ach.type != index:
|
||||
continue
|
||||
if ach.id != rank:
|
||||
continue
|
||||
num_players = num_players + 1
|
||||
|
||||
all_achievements = self.data.local.user.get_all_achievements(self.game, self.version, achievementid=rank, achievementtype=index)
|
||||
root = Node.void('grade')
|
||||
root.set_attribute('pnum', str(num_players))
|
||||
root.set_attribute('pnum', str(len(all_achievements)))
|
||||
return root
|
||||
|
||||
# Invalid method
|
||||
|
@ -451,7 +451,7 @@ class PopnMusicLapistoria(PopnMusicBase):
|
||||
)
|
||||
|
||||
# Now, attempt to calculate ranking for this user for this run.
|
||||
all_courses = self.data.local.user.get_all_achievements(self.game, self.version, course_id, "course")
|
||||
all_courses = self.data.local.user.get_all_achievements(self.game, self.version, achievementid=course_id, achievementtype="course")
|
||||
global_ranking = sorted(all_courses, key=lambda entry: entry[1].data.get_int('total_score'), reverse=True)
|
||||
pref_ranking = [c for c in global_ranking if c[1].data.get_int('pref') == pref]
|
||||
local_ranking = [c for c in global_ranking if c[1].data.get_int('lid') == machine.arcade]
|
||||
|
@ -3325,7 +3325,7 @@ class SoundVoltexHeavenlyHaven(
|
||||
skill_course = Node.void('skill_course')
|
||||
game.add_child(skill_course)
|
||||
|
||||
achievements = self.data.local.user.get_all_achievements(self.game, self.version)
|
||||
achievements = self.data.local.user.get_all_achievements(self.game, self.version, achievementtype="course")
|
||||
courserates: Dict[Tuple[int, int], Dict[str, int]] = {}
|
||||
|
||||
def getrates(season_id: int, course_id: int) -> Dict[str, int]:
|
||||
@ -3339,9 +3339,6 @@ class SoundVoltexHeavenlyHaven(
|
||||
}
|
||||
|
||||
for _, achievement in achievements:
|
||||
if achievement.type != 'course':
|
||||
continue
|
||||
|
||||
course_id = achievement.id % 100
|
||||
season_id = int(achievement.id / 100)
|
||||
rate = getrates(season_id, course_id)
|
||||
|
Loading…
Reference in New Issue
Block a user