Skip to content

Commit

Permalink
Bugfix: graph display with selecting most recent time period
Browse files Browse the repository at this point in the history
For selecting date, week, or month.
  • Loading branch information
radumas committed Jan 1, 2018
1 parent 57333d9 commit 075508f
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions app.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def filter_table_data(period, day_type, orientation='ew', daterange_type=0, date

return (pivoted, pivoted_baseline)

def get_daterange_for_date(daterange_type, date_range_id):
def graph_bounds_for_date_range(daterange_type, date_range_id):
if DATERANGE_TYPES[daterange_type] == 'Last Day':
end_range = DATERANGE[1] + relativedelta(days=1)
start_range = DATERANGE[1] - relativedelta(weeks=2)
Expand All @@ -207,15 +207,16 @@ def get_daterange_for_date(daterange_type, date_range_id):
date_picked = WEEKS[WEEKS['week_number'] == date_range_id]['week'].iloc[0]
start_of_week = date_picked - relativedelta(days=date_picked.weekday())
start_range = max(start_of_week - relativedelta(weeks=1), DATERANGE[0])
end_range = min(start_of_week + relativedelta(weeks=2), DATERANGE[1])
end_range = min(start_of_week + relativedelta(weeks=2), DATERANGE[1] + relativedelta(days=1))
elif DATERANGE_TYPES[daterange_type] == 'Select Month':
date_picked = MONTHS[MONTHS['month_number'] == date_range_id]['month'].iloc[0].date()
if date_picked == DATERANGE[1].replace(day=1):
#End of data within month picked, display last month of data
start_range = max(DATERANGE[1] - relativedelta(months=1), DATERANGE[0])
else:
start_range = max(date_picked - relativedelta(days=date_picked.day - 1), DATERANGE[0])
end_range = min(date_picked - relativedelta(days=date_picked.day - 1) + relativedelta(months=1), DATERANGE[1])
end_range = min(date_picked - relativedelta(days=date_picked.day - 1) + relativedelta(months=1),
DATERANGE[1] + relativedelta(days=1))
else:
raise ValueError('Wrong daterange_type provided: {}'.format(daterange_type))
LOGGER.debug('Filtering for %s. Date picked: %s, Start Range: %s, End Range: %s',
Expand All @@ -228,7 +229,7 @@ def filter_graph_data(street, direction, day_type='Weekday', period='AMPK',
Returns a filtered baseline, and a filtered current dataframe
'''

daterange = get_daterange_for_date(daterange_type, date_range_id)
daterange = graph_bounds_for_date_range(daterange_type, date_range_id)
filtered_daily = DATA[(DATA['street'] == street) &
(DATA['period'] == period) &
(DATA['day_type'] == day_type) &
Expand Down

1 comment on commit 075508f

@radumas
Copy link
Member Author

@radumas radumas commented on 075508f Jan 1, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#89

Please sign in to comment.