kopia lustrzana https://github.com/glidernet/python-ogn-client
Added support for reference_timestamp with tzinfo (fixes #84)
rodzic
7b60095366
commit
bc3178f513
|
@ -1,5 +1,6 @@
|
|||
# CHANGELOG
|
||||
## not released
|
||||
- parser: Added support for reference_timestamp with tzinfo (fixes #84)
|
||||
- parser: Fixed textual altitude part (fixes #81)
|
||||
- parser: Skip keys where value is "None"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
FEETS_TO_METER = 0.3048 # ratio feets to meter
|
||||
FPM_TO_MS = FEETS_TO_METER / 60 # ratio fpm to m/s
|
||||
|
@ -11,7 +11,7 @@ def parseAngle(dddmmhht):
|
|||
return float(dddmmhht[:3]) + float(dddmmhht[3:]) / 60
|
||||
|
||||
|
||||
def createTimestamp(time_string, reference_timestamp=None):
|
||||
def createTimestamp(time_string, reference_timestamp):
|
||||
if time_string[-1] == "z":
|
||||
dd = int(time_string[0:2])
|
||||
hh = int(time_string[2:4])
|
||||
|
@ -20,7 +20,8 @@ def createTimestamp(time_string, reference_timestamp=None):
|
|||
result = datetime(reference_timestamp.year,
|
||||
reference_timestamp.month,
|
||||
dd,
|
||||
hh, mm, 0)
|
||||
hh, mm, 0,
|
||||
tzinfo=timezone.utc if reference_timestamp.tzinfo is not None else None)
|
||||
|
||||
if result > reference_timestamp + timedelta(days=14):
|
||||
# shift timestamp to previous month
|
||||
|
@ -36,7 +37,8 @@ def createTimestamp(time_string, reference_timestamp=None):
|
|||
result = datetime(reference_timestamp.year,
|
||||
reference_timestamp.month,
|
||||
reference_timestamp.day,
|
||||
hh, mm, ss)
|
||||
hh, mm, ss,
|
||||
tzinfo=timezone.utc if reference_timestamp.tzinfo is not None else None)
|
||||
|
||||
if result > reference_timestamp + timedelta(hours=12):
|
||||
# shift timestamp to previous day
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import unittest
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from ogn.parser.utils import parseAngle, createTimestamp
|
||||
|
||||
|
@ -33,6 +33,13 @@ class TestStringMethods(unittest.TestCase):
|
|||
|
||||
self.proceed_test_data(test_data)
|
||||
|
||||
def test_createTimestamp_tzinfo(self):
|
||||
test_data = [
|
||||
('000001h', datetime(2020, 9, 10, 0, 0, 1, tzinfo=timezone.utc), (datetime(2020, 9, 10, 0, 0, 1, tzinfo=timezone.utc)))
|
||||
]
|
||||
|
||||
self.proceed_test_data(test_data)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
Ładowanie…
Reference in New Issue