def days(): for i in Calendar().iterweekdays(): yield Div(text=f'<h2>{day_name[i]}</h2>') day = month_start - dt.timedelta(days=month_start.weekday()) while day.replace(day=1) <= month_start: for weekday in range(7): if day.month == month_start.month: contents = [Div(text=f'<h1>{day.strftime("%d")}</h1>')] for a in s.query(ActivityJournal). \ filter(ActivityJournal.start >= local_date_to_time(day), ActivityJournal.start < local_date_to_time(day + dt.timedelta(days=1))).all(): df = Statistics(s, activity_journal=a). \ by_name(ActivityReader, N.SPHERICAL_MERCATOR_X, N.SPHERICAL_MERCATOR_Y).df contents.append( map_thumbnail(map_size, map_size, df, title=False)) df = Statistics(s, activity_journal=a). \ by_name(ActivityCalculator, N.ACTIVE_DISTANCE, N.ACTIVE_TIME).df contents.append( Div(text= f'{format_km(df[N.ACTIVE_DISTANCE][0])} {format_seconds(df[N.ACTIVE_TIME][0])}' )) else: contents = [Spacer()] yield column(contents) day += dt.timedelta(days=1)
def days(date): return (now() - local_date_to_time(date)).days