Issue 28819: tzinfo class spacing bug (original) (raw)

Issue28819

Created on 2016-11-28 12:34 by bzliu94, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
bug.py bzliu94,2016-11-28 12:34 Example code
example.py bzliu94,2016-11-28 12:52 Example code
Messages (3)
msg281867 - (view) Author: B. Liu (bzliu94) Date: 2016-11-28 12:34
In Python 2.7, the following works: import datetime ZERO = timedelta(0) class UTC(datetime.tzinfo): """UTC""" # can be configured here def utcoffset(self, dt): return ZERO def tzname(self, dt): return "UTC" def dst(self, dt): return ZERO def extraMethod(self): return "here is an extra method" utc = UTC() epoch = datetime.datetime.utcfromtimestamp(0) print datetime.datetime.fromtimestamp(epoch, utc) But, the following does not work: import datetime ZERO = timedelta(0) class UTC(datetime.tzinfo): """UTC""" # can be configured here def utcoffset(self, dt): return ZERO def tzname(self, dt): return "UTC" def dst(self, dt): return ZERO def extraMethod(self): return "here is an extra method" utc = UTC() epoch = datetime.datetime.utcfromtimestamp(0) print datetime.datetime.fromtimestamp(epoch, utc) The difference is that there is a space after the class line. Is this an issue with grammar or some issue with the library's C code? If it is an issue with grammar, I appear to have not run into this issue with non-datetime-related code. If this not an issue, please correct me. Thanks! Brian
msg281871 - (view) Author: SilentGhost (SilentGhost) * (Python triager) Date: 2016-11-28 12:51
What do you mean by "work" and "does not work"? Both versions raise TypeError, because you're passing epoch to fromtimestamp, but once that's fixed both versions return identical output. Python is not sensitive to empty lines in class definitions, so I'd be surprised if anyone was able to reproduce your issue.
msg281873 - (view) Author: B. Liu (bzliu94) Date: 2016-11-28 12:52
Nevermind, the code I submitted was incomplete/buggy. This is embarrassing. The issue was that I was using an interpreter and a class definition that had spaces was happy to be read incompletely. Attached is working demonstration code that doesn't work as expected when entered in an interpreter. Sorry, SilentGhost. As fast as I tried to edit this, you still beat me.
History
Date User Action Args
2022-04-11 14:58:40 admin set github: 73005
2016-11-28 12:57:06 SilentGhost set stage: resolved
2016-11-28 12:52:51 bzliu94 set status: open -> closedfiles: + example.pyresolution: not a bugmessages: +
2016-11-28 12:51:21 SilentGhost set nosy: + SilentGhostmessages: +
2016-11-28 12:36:20 bzliu94 set type: behaviorversions: + Python 2.7
2016-11-28 12:34:30 bzliu94 create