gammu/wammu

Python 3 / wxPython 4 Support

swt2c opened this issue · 15 comments

swt2c commented

Now that wxPython 4 is out (with Python 3 support) it would be great if wammu supported wxPython 4 and Python 3.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

nijel commented

Patches are welcome, it's unlikely that I will find time for that.

swt2c commented

I may take a stab at it. I'm assuming you would want to retain Python 2 / wxPython 3.x support as well?

nijel commented

I would not mind dropping Python 2 support

swt2c commented

Yes, @sergiomb2 that was my motivation in the first place. However, I'm not very motivated as I don't actually use wammu.

ya , even https://github.com/gammu/wammu/blob/master/setup.py is not python 3 compatible ...
I don't use this software since 2 or 4 years ago with usb pen mobile network 3G

swt2c commented

Maybe just retire it from Fedora?

Let me know if any progress on Debian package I will follow it on Fedora .

Thanks

nijel commented

Unless somebody steps up to implement needed changes, the package will be removed.

How does 33faf64 relate to this?

nijel commented

There is no relationship. It is just a bump of a GitHub action...

Hello. I am trying to make Wammu working on Python 3 during spare time at work. It's Windows 7 PC with limited (because security) internet, and I upload many changes at once later at home. I worked with Delphi for several years and Python is new for me but it is very interesting. Hopefully there are a lot of documentation and advice over the web.

Next thing to fix: SMS and Messages export. These are the main things why I use Wammu.
Still no success in loading locale files…

Please check my Wammu fork. Looking forward to any help.

Hi! Any news regarding use of Wammu on Linux having Python 3.9? I went around one issue, but wammu expects wxPython being installed under 2.7.

I have successfully tested fork https://github.com/kamikaze-kun/wammu. The branch python3 works for me with some minor corrections.

--- Main.py.orig        2024-01-14 10:46:20.917228159 +0100
+++ Main.py     2024-01-14 10:47:56.017224259 +0100
@@ -975,7 +975,7 @@

     def OnProgress(self, evt):
         if hasattr(self, 'progress'):
-            if not self.progress.Update(evt.progress):
+            if not self.progress.Update(round(evt.progress)):
                 try:
                     evt.cancel()
                 except:

to resolve

  File "/opt/gammu/lib/python3.11/dist-packages/wammu-0.44-py3.11.egg/Wammu/Main.py", line 978, in OnProgress
    if not self.progress.Update(evt.progress):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Exception: TypeError: ProgressDialog.Update(): argument 1 has unexpected type 'float'

and I have some problems with resources/images lookup solved by

--- Paths.py.orig       2024-01-14 02:58:13.430861085 +0100
+++ Paths.py    2024-01-14 01:56:29.882999398 +0100
@@ -36,6 +37,8 @@
     os.path.join(os.path.dirname(__file__).replace('lib/python2.7/dist-packages/Wammu', ''), 'share', 'Wammu'),
      # Local directory
     os.path.join(os.path.dirname(__file__), '..'),
+    os.path.join(os.path.dirname(__file__), '../share/Wammu'),
+    #os.path.join(os.path.dirname(__file__), '/opt/gammu/lib/python3.11/dist-packages/wammu-0.44-py3.11.egg/share'),
 ]

 def CheckImagesPath(path):

My test are on Debian 12.4 (Bookworm, actual stable). The gammu, python_gammu and wammu are build into /opt/gammu prefix and hacked and symlinked to /usr/local/bin, /usr/local/lib and /usr/local/lib/python3.11/dist-packages.