Public bug reported:

After upgrading my MythTV machine to Ubuntu 25.04,
`mythtv.getRecordings()` no longer works.

$ dpkg --list | grep mythtv
ii  libmythtv-perl                                
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  all          Perl library to access 
some MythTV features
ii  mythtv                                        
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  all          Personal video recorder 
application (client and server)
ii  mythtv-backend                                
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  amd64        Personal video recorder 
application (server)
ii  mythtv-common                                 
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  amd64        Personal video recorder 
application (common data)
ii  mythtv-database                               
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  all          Personal video recorder 
application (database)
ii  mythtv-frontend                               
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  amd64        Personal video recorder 
application (client)
ii  mythtv-transcode-utils                        
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  amd64        Utilities used for 
transcoding MythTV tasks
ii  php-mythtv                                    
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  all          PHP Bindings for MythTV

$ python3 -V
Python 3.13.3

$ python3
Python 3.13.3 (main, Apr  8 2025, 19:55:40) [GCC 14.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from MythTV import MythBE
>>> mythtv = MythBE()
>>> mythtv.getRecordings()
Traceback (most recent call last):
  File "<python-input-2>", line 1, in <module>
    mythtv.getRecordings()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 776, in 
__call__
    return self.sortedrun(*args, **kwargs)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 812, in 
sortedrun
    return iter(sorted(self.run(*args, **kwargs),
                ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
                       key=lambda p: p.starttime))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 805, in run
    pg = self.handler(res[offs:offs+pgfieldcount],
                      db=self.inst.db)
  File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 880, in 
__init__
    DictData.__init__(self, raw)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 129, in __init__
    data = self._process(data)
  File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 145, in _process
    data[i] = self._trans[self._field_type[i]](v)
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 86, in <lambda>
    .astimezone(datetime.localTZ()),
     ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/MythTV/utility/dt.py", line 538, in 
astimezone
    return self.fromDatetime(super(datetime, self).astimezone(tz))
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^
TypeError: datetime.__new__() got an unexpected keyword argument 'fold'

** Affects: mythtv (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  After upgrading my MythTV machine to Ubuntu 25.04,
  `mythtv.getRecordings()` no longer works.
  
- ```
+ $ dpkg --list | grep mythtv
+ ii  libmythtv-perl                                
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  all          Perl library to access 
some MythTV features
+ ii  mythtv                                        
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  all          Personal video recorder 
application (client and server)
+ ii  mythtv-backend                                
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  amd64        Personal video recorder 
application (server)
+ ii  mythtv-common                                 
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  amd64        Personal video recorder 
application (common data)
+ ii  mythtv-database                               
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  all          Personal video recorder 
application (database)
+ ii  mythtv-frontend                               
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  amd64        Personal video recorder 
application (client)
+ ii  mythtv-transcode-utils                        
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  amd64        Utilities used for 
transcoding MythTV tasks
+ ii  php-mythtv                                    
2:35.0+fixes.20250302.f3f012aa3f-0ubuntu3  all          PHP Bindings for MythTV
+ 
  $ python3 -V
  Python 3.13.3
- ```
  
- ```
  $ python3
  Python 3.13.3 (main, Apr  8 2025, 19:55:40) [GCC 14.2.0] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  >>> from MythTV import MythBE
  >>> mythtv = MythBE()
  >>> mythtv.getRecordings()
  Traceback (most recent call last):
-   File "<python-input-2>", line 1, in <module>
-     mythtv.getRecordings()
-     ~~~~~~~~~~~~~~~~~~~~^^
-   File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 776, in 
__call__
-     return self.sortedrun(*args, **kwargs)
-            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 812, in 
sortedrun
-     return iter(sorted(self.run(*args, **kwargs),
-                 ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
-                        key=lambda p: p.starttime))
-                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 805, in run
-     pg = self.handler(res[offs:offs+pgfieldcount],
-                       db=self.inst.db)
-   File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 880, in 
__init__
-     DictData.__init__(self, raw)
-     ~~~~~~~~~~~~~~~~~^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 129, in 
__init__
-     data = self._process(data)
-   File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 145, in 
_process
-     data[i] = self._trans[self._field_type[i]](v)
-               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
-   File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 86, in 
<lambda>
-     .astimezone(datetime.localTZ()),
-      ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/MythTV/utility/dt.py", line 538, in 
astimezone
-     return self.fromDatetime(super(datetime, self).astimezone(tz))
-                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^
+   File "<python-input-2>", line 1, in <module>
+     mythtv.getRecordings()
+     ~~~~~~~~~~~~~~~~~~~~^^
+   File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 776, in 
__call__
+     return self.sortedrun(*args, **kwargs)
+            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 812, in 
sortedrun
+     return iter(sorted(self.run(*args, **kwargs),
+                 ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
+                        key=lambda p: p.starttime))
+                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 805, in run
+     pg = self.handler(res[offs:offs+pgfieldcount],
+                       db=self.inst.db)
+   File "/usr/lib/python3/dist-packages/MythTV/mythproto.py", line 880, in 
__init__
+     DictData.__init__(self, raw)
+     ~~~~~~~~~~~~~~~~~^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 129, in 
__init__
+     data = self._process(data)
+   File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 145, in 
_process
+     data[i] = self._trans[self._field_type[i]](v)
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
+   File "/usr/lib/python3/dist-packages/MythTV/altdict.py", line 86, in 
<lambda>
+     .astimezone(datetime.localTZ()),
+      ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/MythTV/utility/dt.py", line 538, in 
astimezone
+     return self.fromDatetime(super(datetime, self).astimezone(tz))
+                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^
  TypeError: datetime.__new__() got an unexpected keyword argument 'fold'
- ```

** Summary changed:

- mythtv.getRecordings() doesn't work with MythTV 0.35 / Python 3.13
+ mythtv.getRecordings() doesn't work with MythTV 35 / Python 3.13

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2109911

Title:
  mythtv.getRecordings() doesn't work with MythTV 35 / Python 3.13

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mythtv/+bug/2109911/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to