Opened 14 years ago
Closed 12 years ago
Time conversion error
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.
Change History
(6)
by Andreas Reibring <andreas@…>, 14 years ago
by Andreas Reibring <andreas@…>, 14 years ago
| Milestone: |
unknown → 0.26
|
| Status: |
new → accepted
|
| Milestone: |
0.26 → unknown
|
| Version: |
0.25-fixes → Master Head
|
| Milestone: |
unknown → 0.27
|
| Resolution: |
→ fixed
|
| Status: |
accepted → closed
|
In b393cbc969f26c470e0ae38e48d9780b67dad604/mythtv: