Open jsbueno opened 6 years ago
Thanks! I'll play around with that when I get a minute or two. I REALLY appreciate that suggestion! I learned a great deal figuring out this demo and I'm glad to get to learn some more from it! I'll leave this open until I work through your suggestion.
Thank you!
I created a pull request if you've got a few minutes. I think this is what you were getting at.
https://github.com/jima80525/ctypes_example/pull/6
Also, I didn't quite follow your final comment. Is it along the lines of hooking into the getattr function of the Line class, looking up the attributes of the library and then automatically calling an existing function?
I might play with that next.
Thanks again for your ideas! I really appreciate it!
https://github.com/jima80525/ctypes_example/blob/07e89a10b5b933212932473f6f7f47c38e2a01d0/tutorial2/testWrappedPoint.py#L29
This calling of the wrapper functions and assignment to the instance on every new point instantiation just looks bad. It is not that bad, as the wrapped functions are not new objects, but it remakes the assignment to the unique
func
in the ctypes wrapper for the library (although it would still have a major impact would one write actual Python code dealing with a couple hundred of Point instances)I'd suggest just making the wrap call once, on top level code, would be much more elegant here:
(I am not sure if the functions wrapped by ctypes have a proper
__get__
. If they have, you might not even need the intermediatemove
method)