Coverage for python/lsst/daf/base/dateTime/dateTimeContinued.py: 53%

15 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2022-12-01 19:51 +0000

1# 

2# LSST Data Management System 

3# 

4# Copyright 2008-2017 AURA/LSST. 

5# 

6# This product includes software developed by the 

7# LSST Project (http://www.lsst.org/). 

8# 

9# This program is free software: you can redistribute it and/or modify 

10# it under the terms of the GNU General Public License as published by 

11# the Free Software Foundation, either version 3 of the License, or 

12# (at your option) any later version. 

13# 

14# This program is distributed in the hope that it will be useful, 

15# but WITHOUT ANY WARRANTY; without even the implied warranty of 

16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

17# GNU General Public License for more details. 

18# 

19# You should have received a copy of the LSST License Statement and 

20# the GNU General Public License along with this program. If not, 

21# see <http://www.lsstcorp.org/LegalNotices/>. 

22# 

23 

24 

25__all__ = [] 

26 

27from lsst.utils import continueClass 

28 

29from .dateTime import DateTime 

30 

31 

32@continueClass # noqa: F811 (FIXME: remove for py 3.8+) 

33class DateTime: # noqa: F811 

34 

35 def toPython(self, timescale=None): 

36 """Convert a DateTime to Python's datetime 

37 

38 Parameters 

39 ---------- 

40 timescale : `dateTime.DateTime.Timescale`, optional 

41 Timescale for resultant datetime. 

42 

43 Returns 

44 ------- 

45 datetime : `datetime.datetime` 

46 The resultant Python `datetime.datetime` object. 

47 """ 

48 import datetime 

49 nsecs = self.nsecs(timescale) if timescale is not None else self.nsecs() 

50 return datetime.datetime.utcfromtimestamp(nsecs/10**9) 

51 

52 def __repr__(self): 

53 if self.isValid(): 

54 return "DateTime(\"{}\", TAI)".format(self.toString(DateTime.TAI)) 

55 else: 

56 return "DateTime()" 

57 

58 def __reduce__(self): 

59 return (DateTime, (self.nsecs(), ))