From 7027df078c58dc9890d59bf165840c45fe2358b7 Mon Sep 17 00:00:00 2001 From: freqnik Date: Thu, 10 Oct 2024 15:15:26 -0400 Subject: [PATCH] Handle null node data from cache servers. --- src/cli/sentinel.py | 38 ++++++++++++++++++++++---------------- src/typedef/konstants.py | 14 ++++++++++++-- src/ui/screens.py | 19 +++++++++++-------- 3 files changed, 45 insertions(+), 26 deletions(-) diff --git a/src/cli/sentinel.py b/src/cli/sentinel.py index 72cfd70..237a0c5 100755 --- a/src/cli/sentinel.py +++ b/src/cli/sentinel.py @@ -455,6 +455,9 @@ def get_subscriptions(self, ADDRESS): for snaddress in SubsResult[NodeKeys.SubsInfoKeys[4]]: try: NodeData = self.NodeTree.get_node(snaddress).data + print(NodeData) + if NodeData is None: + raise AttributeError() except AttributeError: SubsFinalResult.append({ NodeKeys.FinalSubsKeys[0] : SubsResult[NodeKeys.SubsInfoKeys[0]][k], @@ -478,22 +481,25 @@ def get_subscriptions(self, ADDRESS): else: nodeQuota = self.GetQuota(SubsResult[NodeKeys.SubsInfoKeys[0]][k]) - - if nodeQuota: - SubsFinalResult.append({ - NodeKeys.FinalSubsKeys[0] : SubsResult[NodeKeys.SubsInfoKeys[0]][k], - NodeKeys.FinalSubsKeys[1] : NodeData[NodeKeys.NodesInfoKeys[0]], - NodeKeys.FinalSubsKeys[2] : SubsResult[NodeKeys.SubsInfoKeys[4]][k], - NodeKeys.FinalSubsKeys[3] : SubsResult[NodeKeys.SubsInfoKeys[5]][k], - NodeKeys.FinalSubsKeys[4] : SubsResult[NodeKeys.SubsInfoKeys[7]][k], - NodeKeys.FinalSubsKeys[5] : NodeData[NodeKeys.NodesInfoKeys[4]], - NodeKeys.FinalSubsKeys[6] : nodeQuota[0], - NodeKeys.FinalSubsKeys[7] : nodeQuota[1], - NodeKeys.FinalSubsKeys[8] : NodeData[NodeKeys.NodesInfoKeys[13]], - NodeKeys.FinalSubsKeys[9] : SubsResult[NodeKeys.SubsInfoKeys[2]][k], - NodeKeys.FinalSubsKeys[10]: SubsResult[NodeKeys.SubsInfoKeys[6]][k] - }) - k += 1 + try: + if nodeQuota: + SubsFinalResult.append({ + NodeKeys.FinalSubsKeys[0] : SubsResult[NodeKeys.SubsInfoKeys[0]][k], + NodeKeys.FinalSubsKeys[1] : NodeData[NodeKeys.NodesInfoKeys[0]], + NodeKeys.FinalSubsKeys[2] : SubsResult[NodeKeys.SubsInfoKeys[4]][k], + NodeKeys.FinalSubsKeys[3] : SubsResult[NodeKeys.SubsInfoKeys[5]][k], + NodeKeys.FinalSubsKeys[4] : SubsResult[NodeKeys.SubsInfoKeys[7]][k], + NodeKeys.FinalSubsKeys[5] : NodeData[NodeKeys.NodesInfoKeys[4]], + NodeKeys.FinalSubsKeys[6] : nodeQuota[0], + NodeKeys.FinalSubsKeys[7] : nodeQuota[1], + NodeKeys.FinalSubsKeys[8] : NodeData[NodeKeys.NodesInfoKeys[13]], + NodeKeys.FinalSubsKeys[9] : SubsResult[NodeKeys.SubsInfoKeys[2]][k], + NodeKeys.FinalSubsKeys[10]: SubsResult[NodeKeys.SubsInfoKeys[6]][k] + }) + k += 1 + except: + k += 1 + continue #return SubsFinalResult self.SubResult = deepcopy(SubsFinalResult) diff --git a/src/typedef/konstants.py b/src/typedef/konstants.py index 4997949..6ae800e 100755 --- a/src/typedef/konstants.py +++ b/src/typedef/konstants.py @@ -545,8 +545,8 @@ class IBCTokens(): #mu_coins = ["tsent", "udvpn", "uscrt", "uosmo", "uatom", "udec"] class TextStrings(): dash = "-" - VERSION = "v2.0.0-beta6.1" - BUILD = "1728465227960" + VERSION = "v2.0.0-beta6.2" + BUILD = "1728605268914" RootTag = "SENTINEL" PassedHealthCheck = "Passed Sentinel Health Check" FailedHealthCheck = "Failed Sentinel Health Check" @@ -671,6 +671,16 @@ class NodeKeys(): + + + + + + + + + + diff --git a/src/ui/screens.py b/src/ui/screens.py index 4ceda43..0af1dab 100755 --- a/src/ui/screens.py +++ b/src/ui/screens.py @@ -1718,13 +1718,16 @@ def subs_callback(self, dt): except Exception as e: print(str(e)) return None - try: - for sub in mw.NodeTree.SubResult: - self.add_sub_rv_data(sub) - except TypeError: - print("Connection Error") - self.remove_loading_widget(None) - return + #try: + print(mw.NodeTree.SubResult) + for sub in mw.NodeTree.SubResult: + print(sub) + self.add_sub_rv_data(sub) + #except TypeError as e: + # print(str(e)) + # print("Connection Error") + # self.remove_loading_widget(None) + # return self.remove_loading_widget(None) @@ -1774,7 +1777,7 @@ def add_sub_rv_data(self, node): ''' node_data = self.NodeTree.NodeTree.get_node(node[NodeKeys.FinalSubsKeys[2]]) - if node_data: + if node_data.data: NodeTypeText = node_data.data['ISP Type'] if node_data.data['ISP Type'] else "Unknown" nscore = node_data.data['Score'] votes = node_data.data['Votes']