Closed LeonardMH closed 8 years ago
Yeah, I didn't make any effort towards backwards compatibility when I wrote this. At the same time there isn't a ton of code. I'm happy to take a pull request that adds py2k support, but it's not something I have any interest in doing. Sorry.
On Sun, Sep 27, 2015 at 20:38 Michael Leonard notifications@github.com wrote:
There is no mention of this in the README so I'm guessing it's unsupported but I'm unable to get this package working in Python 2.7.10 (which I unfortunately have to use).
I installed through pip and initially had an import error where it was failing to import enum so then I did a pip install enum and tried again but the script is now failing with AttributError: 'module' object has no attribute 'unique' in reference to the enum module.
— Reply to this email directly or view it on GitHub https://github.com/ppannuto/python-saleae/issues/5.
Understandable, I wouldn't either if I didn't have to. With that said, it doesn't look like too difficult of a change to make. Would you be opposed to a pull request that converts the enums to dictionaries? A few of the other changes I came across are:
On Tue, Sep 29, 2015 at 12:06 AM Michael Leonard notifications@github.com wrote:
Understandable, I wouldn't either if I didn't have to. With that said, it doesn't look like too difficult of a change to make. Would you be opposed to a pull request that converts the enums to dictionaries?
Don't feel strongly about this, but anything wrong with just adding a dependency on the enum34 package? Less work for you. http://stackoverflow.com/questions/36932/how-can-i-represent-an-enum-in-python
A few of the other changes I came across are:
- A try-except block for the bytes() function, in Python 2.7 this function doesn't have the format argument and I believe it defaults to UTF-8 anyways.
Sounds good
- In the demo function, do an initial check of the Python version, if it is less than 3 set input = raw_input. In Python 2.7 the input function did something very different but the raw_input function behaves essentially the same.
I've done that before w/out issue. Sounds good.
— Reply to this email directly or view it on GitHub https://github.com/ppannuto/python-saleae/issues/5#issuecomment-143938198 .
Good find on enum34, I had installed enum which would explain why it isn't working at all. I'll check that out.
ConnectionRefusedError
is still undefined in Python 2.7.
Not exactly a showstopper, but it can be misleading to newbies.
Edit: It's not a huge issue right now, but is the kind of thing that could cause headaches later. Anytime you have a try-except block that even attempts to catch a ConnectionRefusedError
this will raise a NameError instead and will mask whatever actually caused the ConnectionRefusedError to be raised.
I.e (in 2.7):
try:
raise TypeError
except ConnectionRefusedError:
raise ImportError
except TypeError:
print("Caught it")
finally:
print("Stop raising exceptions")
Gives:
Stop raising exceptions
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
NameError: name 'ConnectionRefusedError' is not defined
There is no mention of this in the README so I'm guessing it's unsupported but I'm unable to get this package working in Python 2.7.10 (which I unfortunately have to use).
I installed through pip and initially had an import error where it was failing to
import enum
so then I did apip install enum
and tried again but the script is now failing withAttributError: 'module' object has no attribute 'unique'
in reference to the enum module.