Ticket #10847 (accepted Bug Report - General)
Opened 11 months ago
Last modified 9 months ago
Time conversion error
| Reported by: | Andreas Reibring <andreas@…> | Owned by: | wagnerrp |
|---|---|---|---|
| Priority: | minor | Milestone: | unknown |
| Component: | Bindings - Python | Version: | Master Head |
| Severity: | medium | Keywords: | |
| Cc: | Ticket locked: | no |
Description
After upgrading to 0.25 my old scripts using MythTV.MythXML.getProgramDetails() stopped working, giving either urllib2.HTTPError or httplib.BadStatusLine errors. (Traceback from the Python interpreter attached.) The reason seems to be that getProgramDetails() now expects the starttime argument in UTC. However, when passed a UTC starttime argument, the method returns a Program object with an incorrect starttime attribute that is neither UTC nor local time.
Example: The news program 'Rapport' starts at 19:30 local Swedish time (17:30 UTC).
>>> prog = MythTV.MythXML().getProgramDetails(u'6011', u'2012-06-20 17:30:00') >>> print prog.title, prog.starttime Rapport 2012-06-20 18:30:00
I believe that the problem is the time representation conversion in MythTV.utility.datetime.timestamp(). This method is calling time.mktime(), which expects a struct_time in local time as argument, with a struct_time in UTC. The problem can be resolved by calling calendar.timegm() instead. (See table on http://docs.python.org/library/time.html) Patch is attached.
Attachments
Change History
Changed 11 months ago by Andreas Reibring <andreas@…>
- Attachment utility.py_timeconversion.patch added
comment:1 Changed 9 months ago by wagnerrp
- Status changed from new to accepted
- Milestone changed from unknown to 0.26
comment:2 Changed 9 months ago by wagnerrp
- Version changed from 0.25-fixes to Master Head
- Milestone changed from 0.26 to unknown
In b393cbc969f26c470e0ae38e48d9780b67dad604/mythtv:
(The changeset message doesn't reference this ticket)
