-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix several issues #12
Conversation
/cc @jckenny59 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally LTGM, but I am a bit confused by some things. Mostly the (de)serialization of Message
objects, just seems like a parallel system to the compas.data
. But if it's nonsense feel free to go ahead :)
@@ -103,6 +113,26 @@ def __init__(self, name, message_type, **options): | |||
self.message_type = message_type | |||
self.options = options | |||
|
|||
def _message_to_json(self, message): | |||
"""Convert a message to a JSON string. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this (and _message_from_json
) maybe made public? I see they are only used externally.
more generally, aren't these two doing something very similar to compas.data
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they are doing something similar to compas.data
but not exactly, a message can be a simple dictionary, an instance of Message
, or a subclass of compas.data.Data
and needs to support compas 1.x and compas 2.x
src/compas_eve/core.py
Outdated
except (KeyError, AttributeError): | ||
try: | ||
data = dict(message) | ||
except Exception: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe catch more specific errors like ValueError
and TypeError
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
true, I was too lazy to think which one is the correct exception here :P
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed at d2caf2c
Thanks! I think I fixed all the review findings. About the (de)serialization of |
Solves #11
This PR fixes several things: first of all, the base case of the
Message
class was removed and re-based toobject
becauseUserDict
is an old-style class and that creates a ton of problems.What type of change is this?
Checklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.CHANGELOG.md
file in theUnreleased
section under the most fitting heading (e.g.Added
,Changed
,Removed
).invoke test
).invoke lint
).compas.datastructures.Mesh
.