arvydas / blinkstick-python

BlinkStick Python interface to control devices connected to the computer
Other
136 stars 53 forks source link

Why do you not merge pull requests? Added bonus: I fixed the bugs myself!™ #87

Open iwconfig opened 1 year ago

iwconfig commented 1 year ago

Hello, new customer here.

Why do you not merge new pull requests? Last update was in 2020, that's tree years ago. Python3 support is essential.

I fully agree with https://github.com/arvydas/blinkstick-python/issues/86

Take care of your customers dude. That cute little message saying "Dear my-name, enjoy your blinkstick strip // Arvy :>" on my invoice fall really fucking short, it's so pathetic that you still write that despite not maintaining your software. Or do you maintain it? Please tell me where to look and how to use it. I don't want to buy a product for 36€ only to give me more troubles. I was not expecting this and I'm really disappointed.

I gather from commit history that it's supposed to support python3 somehow? Although a number of issues and waiting PR's suggest it's not very well supported. On my Raspberry Pi 4 running Raspberry Pi OS Lite I installed it under Python 3.9.2. Here's my experience (please read all of it):

iwconfig@rpi:~ $ sudo blinkstick
sudo: blinkstick: command not found
iwconfig@rpi:~ $ blinkstick
-bash: /usr/local/bin/blinkstick: Permission denied
iwconfig@rpi:~ $ sudo python3 /usr/local/bin/blinkstick 
Traceback (most recent call last):
  File "/usr/local/bin/blinkstick", line 4, in <module>
    from blinkstick import blinkstick
  File "/usr/local/lib/python3.9/dist-packages/blinkstick/blinkstick.py", line 11, in <module>
    import usb.core
ModuleNotFoundError: No module named 'usb'
iwconfig@rpi:~ $ sudo pip install blinkstick pyusb
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: blinkstick in /usr/local/lib/python3.9/dist-packages (1.2.0)
Collecting pyusb
  Downloading https://www.piwheels.org/simple/pyusb/pyusb-1.2.1-py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 515 kB/s 
Requirement already satisfied: pywinusb in /usr/local/lib/python3.9/dist-packages (from blinkstick) (0.4.2)
Installing collected packages: pyusb
Successfully installed pyusb-1.2.1
iwconfig@rpi:~ $ sudo blinkstick
sudo: blinkstick: command not found
iwconfig@rpi:~ $ sudo python3 /usr/local/bin/blinkstick 
BlinkStick control script 1.2.0
(c) Agile Innovative Ltd 2013-2014

Usage: blinkstick [options] [color]
# [...]
iwconfig@rpi:~ $ sudo python3 /usr/local/bin/blinkstick --add-udev-rule
Rule added to {0}
Traceback (most recent call last):
  File "/usr/local/bin/blinkstick", line 330, in <module>
    sys.exit(main())
  File "/usr/local/bin/blinkstick", line 236, in main
    print("Rule added to {0}").format(filename)
AttributeError: 'NoneType' object has no attribute 'format'

Fix the bug also reported in in https://github.com/arvydas/blinkstick-python/issues/82#issuecomment-1146033291 (sigh...)

iwconfig@rpi:~ $ sudo emacsclient +236 /usr/local/bin/blinkstick
iwconfig@rpi:~ $ sudo python3 /usr/local/bin/blinkstick --add-udev-rule
Rule added to /etc/udev/rules.d/85-blinkstick.rules
Reboot your computer for changes to take effect
iwconfig@rpi:~ $ sudo udevadm control --reload-rules && sudo udevadm trigger
iwconfig@rpi:~ $ blinkstick
-bash: /usr/local/bin/blinkstick: Permission denied
iwconfig@rpi:~ $ sudo udevadm trigger --attr-match=vendor='20a0' --attr-match=product='41e5'
iwconfig@rpi:~ $ blinkstick
-bash: /usr/local/bin/blinkstick: Permission denied
iwconfig@rpi:~ $ sudo reboot
# rebooted
iwconfig@rpi:~ $ blinkstick
-bash: /usr/local/bin/blinkstick: Permission denied
iwconfig@rpi:~ $ sudo blinkstick
sudo: blinkstick: command not found
iwconfig@rpi:~ $ sudo echo $PATH
/home/iwconfig/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
iwconfig@rpi:~ $ sudo su
root@rpi:/home/iwconfig# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@rpi:/home/iwconfig# stat -c '%a' /usr/local/bin/blinkstick 
644

Sigh.......

root@rpi:/home/iwconfig# chmod +x /usr/local/bin/blinkstick 
root@rpi:/home/iwconfig# stat -c '%a' /usr/local/bin/blinkstick 
755
iwconfig@rpi:~ $ blinkstick
/usr/bin/env: ‘python\r’: No such file or directory
iwconfig@rpi:~ $ sudo blinkstick
/usr/bin/env: ‘python\r’: No such file or directory
iwconfig@rpi:~ $ file /usr/local/bin/blinkstick
/usr/local/bin/blinkstick: Python script, ASCII text executable, with CRLF line terminators

Sigh.............................................................

iwconfig@rpi:~ $ sudo dos2unix /usr/local/bin/blinkstick
dos2unix: converting file /usr/local/bin/blinkstick to Unix format...
iwconfig@rpi:~ $ file /usr/local/bin/blinkstick
/usr/local/bin/blinkstick: Python script, ASCII text executable
iwconfig@rpi:~ $ blinkstick
BlinkStick control script 1.2.0
(c) Agile Innovative Ltd 2013-2014

Usage: blinkstick [options] [color]
# [...]
iwconfig@rpi:~ $ blinkstick --blink --set-color random
# *blink*

At last! /s

Sure I can do stuff myself, fork, send pull requests, whatever, but I spent a lot of money on this thing that is clearly not taken care of. I didn't expect any (auto)magic, but the execution of this project is a disappointment, Arvy. ":>"

You're getting paid for this job and the software is part of the product. You have pull requests waiting for you to maintain your business provided by your customers. Hello? Action! Or alternatively, Do Not sell products you don't maintain, it is dishonest and disrespectful to your customers.

P.S. Maybe I've entirely missed something here, if so I apologize for my anger, but I would still like to point out the lack of maintenance of this project.

arvydas commented 1 year ago

My sincere appologies, this is unacceptable. I'll have it sorted out ASAP!

iwconfig commented 1 year ago

Good! Thank you for your very quick response. :slightly_smiling_face:

dewitpj commented 1 year ago

My sincere appologies, this is unacceptable. I'll have it sorted out ASAP!

Uhm, Any update on this ? Still appears very broken on MacOS

Findarato commented 1 year ago

I followed your steps with 1.2 and it works only after the dos2unix conversion. Sucks though