Correct timezone handling for BST

This commit is contained in:
Stephen Newey
2019-06-10 21:42:09 +01:00
parent d91deaa1e0
commit 1f0b88f9e9

View File

@@ -52,11 +52,15 @@ def store_series(connection, series, metrics, rate_data):
measurement_at = maya.parse(measurement['interval_start']) measurement_at = maya.parse(measurement['interval_start'])
low_start = maya.when( low_start = maya.when(
measurement_at.datetime().strftime(f'%Y-%m-%dT{low_start_str}'), measurement_at.datetime(to_timezone=low_zone).strftime(
f'%Y-%m-%dT{low_start_str}'
),
timezone=low_zone timezone=low_zone
) )
low_end = maya.when( low_end = maya.when(
measurement_at.datetime().strftime(f'%Y-%m-%dT{low_end_str}'), measurement_at.datetime(to_timezone=low_zone).strftime(
f'%Y-%m-%dT{low_end_str}'
),
timezone=low_zone timezone=low_zone
) )
low_period = maya.MayaInterval(low_start, low_end) low_period = maya.MayaInterval(low_start, low_end)
@@ -150,6 +154,8 @@ def cmd(config_file, from_date, to_date):
g_url = 'https://api.octopus.energy/v1/gas-meter-points/' \ g_url = 'https://api.octopus.energy/v1/gas-meter-points/' \
f'{g_mpan}/meters/{g_serial}/consumption/' f'{g_mpan}/meters/{g_serial}/consumption/'
timezone = config.get('electricity', 'unit_rate_low_zone', fallback=None)
rate_data = { rate_data = {
'electricity': { 'electricity': {
'standing_charge': config.getfloat( 'standing_charge': config.getfloat(
@@ -167,9 +173,7 @@ def cmd(config_file, from_date, to_date):
'unit_rate_low_end': config.get( 'unit_rate_low_end': config.get(
'electricity', 'unit_rate_low_end', fallback="00:00" 'electricity', 'unit_rate_low_end', fallback="00:00"
), ),
'unit_rate_low_zone': config.get( 'unit_rate_low_zone': timezone,
'electricity', 'unit_rate_low_zone', fallback=None
),
'agile_standing_charge': config.getfloat( 'agile_standing_charge': config.getfloat(
'electricity', 'agile_standing_charge', fallback=0.0 'electricity', 'agile_standing_charge', fallback=0.0
), ),
@@ -183,8 +187,8 @@ def cmd(config_file, from_date, to_date):
} }
} }
from_iso = maya.when(from_date).iso8601() from_iso = maya.when(from_date, timezone=timezone).iso8601()
to_iso = maya.when(to_date).iso8601() to_iso = maya.when(to_date, timezone=timezone).iso8601()
click.echo( click.echo(
f'Retrieving electricity data for {from_iso} until {to_iso}...', f'Retrieving electricity data for {from_iso} until {to_iso}...',