Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 3 years ago

Closed 3 years ago

Last modified 2 years ago

#9937 closed Bug Report - General (fixed)

MythTV datetime class shouldn't have nested tzinfo class

Reported by: richardfearn@… Owned by: wagnerrp
Priority: minor Milestone:
Component: Bindings - Python Version: 0.24-fixes
Severity: low Keywords:
Cc: Ticket locked: no

Description

MythTV.utility.datetime has a nested class, tzinfo. This means the tzinfo attribute of datetime instances is the tzinfo type. However, this attribute is supposed to be a tzinfo instance. The datetime library gets confused by this.

It would be better to move tzinfo out of the datetime class, so that the tzinfo attribute can be an instance, or None.

For example, when MythTV creates a datetime object using a timestamp, tzinfo should be None, as there is no timestamp information. However tzinfo is the tzinfo class. A workaround is to copy the datetime object:

mythtv_time = prog.starttime    # for example
new_time = datetime.fromtimestamp(mythtv_time.timestamp())

I found this while fixing an issue in mythcal.

Attachments (0)

Change History (4)

comment:1 Changed 3 years ago by wagnerrp

  • Status changed from new to accepted

I know there was reason I had to populate the tzinfo block in that class, but I can't recall off hand what that was. Thanks for posting the ticket. I had forgotten the discussion we had about this on the mailing list.

comment:2 Changed 3 years ago by Github

  • Resolution set to fixed
  • Status changed from accepted to closed

Fix tzinfo handling in custom Python datetime class

Rename timezone class to _tzinfo to prevent conflicts with proper
timezone handling. Correct regular expression to parse timezone offsets
from ISO8601 format properly.

Fixes #9937

Branch: master
Changeset: a606e972c7c3b28811c7bbb9ce82a64f854b271a

comment:3 Changed 3 years ago by wagnerrp

  • Milestone changed from 0.24.1 to 0.24.2

Backported to 0.24-fixes in Changeset: cebd10c05ebd7484fdb5a6c9d497803e222623d9

comment:4 Changed 2 years ago by stuartm

  • Milestone 0.24.2 deleted

Milestone 0.24.2 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.