Skip to content

Commit

Permalink
Merge pull request bobjacobsen#40 from Hierosoft/fix_once-python3.8
Browse files Browse the repository at this point in the history
Fix once python3.8
  • Loading branch information
bobjacobsen authored Apr 26, 2024
2 parents 000f264 + 7c092b6 commit 8e9483a
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 34 deletions.
5 changes: 2 additions & 3 deletions openlcb/localnodeprocessor.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def process(self, message, givenNode=None):
MTI.Optional_Interaction_Rejected):
self.errorMessageReceived(message, node)
else:
self.unrecognizedMTI(message, node)
self._unrecognizedMTI(message, node)
return False

# private method
Expand Down Expand Up @@ -123,11 +123,10 @@ def identifyEventsAddressed(self, message, node):
'''
return

def unrecognizedMTI(self, message, node):
def _unrecognizedMTI(self, message, node):
'''Handle a message with an unrecognized MTI
by returning OptionalInteractionRejected
'''
# FIXME: should be private method. Add _ to start of method name.

# special case of unknown MTI from lower level
unknownAddressed = False
Expand Down
4 changes: 2 additions & 2 deletions openlcb/memoryservice.py
Original file line number Diff line number Diff line change
Expand Up @@ -296,9 +296,9 @@ def arrayToUInt64(self, data):
64-bit int
Returns:
int: The converted data as a number.
int: The converted data as a number (Python determines
actual in-memory size based on the value).
"""
# FIXME: Python resizes ints automatically based on value.
result = 0
for index in range(0, len(data)):
result = result << 8
Expand Down
55 changes: 27 additions & 28 deletions openlcb/remotenodeprocessor.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,34 +42,33 @@ def process(self, message, node) :
node.state = Node.State.Initialized # in case we came late to the party, must be in Initialized state # noqa: E501

# specific message handling
match message.mti :
case MTI.Initialization_Complete | MTI.Initialization_Complete_Simple : # noqa: E501
self.initializationComplete(message, node)
return True
case MTI.Protocol_Support_Reply :
self.protocolSupportReply(message, node)
return True
case MTI.Link_Layer_Up :
self.linkUpMessage(message, node)
case MTI.Link_Layer_Down :
self.linkDownMessage(message, node)
case MTI.Simple_Node_Ident_Info_Request :
self.simpleNodeIdentInfoRequest(message, node)
case MTI.Simple_Node_Ident_Info_Reply :
self.simpleNodeIdentInfoReply(message, node)
return True
case MTI.Producer_Identified_Active | MTI.Producer_Identified_Inactive | MTI.Producer_Identified_Unknown | MTI.Producer_Consumer_Event_Report : # noqa: E501
self.producedEventIndicated(message, node)
return True
case MTI.Consumer_Identified_Active | MTI.Consumer_Identified_Inactive | MTI.Consumer_Identified_Unknown : # noqa: E501
self.consumedEventIndicated(message, node)
return True
case MTI.New_Node_Seen :
self.newNodeSeen(message, node)
return True
case _ :
# we ignore others
return False
if message.mti in (MTI.Initialization_Complete, MTI.Initialization_Complete_Simple) : # noqa: E501
self.initializationComplete(message, node)
return True
elif message.mti == MTI.Protocol_Support_Reply :
self.protocolSupportReply(message, node)
return True
elif message.mti == MTI.Link_Layer_Up :
self.linkUpMessage(message, node)
elif message.mti == MTI.Link_Layer_Down :
self.linkDownMessage(message, node)
elif message.mti == MTI.Simple_Node_Ident_Info_Request :
self.simpleNodeIdentInfoRequest(message, node)
elif message.mti == MTI.Simple_Node_Ident_Info_Reply :
self.simpleNodeIdentInfoReply(message, node)
return True
elif message.mti in (MTI.Producer_Identified_Active, MTI.Producer_Identified_Inactive, MTI.Producer_Identified_Unknown, MTI.Producer_Consumer_Event_Report) : # noqa: E501
self.producedEventIndicated(message, node)
return True
elif message.mti in (MTI.Consumer_Identified_Active, MTI.Consumer_Identified_Inactive, MTI.Consumer_Identified_Unknown) : # noqa: E501
self.consumedEventIndicated(message, node)
return True
elif message.mti == MTI.New_Node_Seen :
self.newNodeSeen(message, node)
return True
else :
# we ignore others
return False
return False

def initializationComplete(self, message, node) :
Expand Down
2 changes: 1 addition & 1 deletion tests/test_physicallayer.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
class TestPhysicalLayerClass(unittest.TestCase):

def testExample(self):
# FIXME: finish this
# TODO: Test what is possible without hardware.
pass


Expand Down

0 comments on commit 8e9483a

Please sign in to comment.