Opened 12 years ago
Closed 11 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)
Changed 12 years ago by Andreas Reibring <andreas@…>
Changed 12 years ago by Andreas Reibring <andreas@…>
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:
(The changeset message doesn't reference this ticket)