Files
jira-worklog-data/month_view.py
Michał Kalinowski 38f138d950 general refactoring
2024-10-21 15:33:30 +02:00

51 lines
1.8 KiB
Python
Executable File

import datetime
def get_days_of_month(months_back=0):
# set the current day to the first day of the current month
# and loop for the days until the month changes
current_day = datetime.datetime.today().replace(day=1)
current_month = current_day.month
days = []
while months_back:
current_day = datetime.datetime.today().replace(day=1)
current_day -= datetime.timedelta(days=1)
current_day = current_day.replace(day=1)
current_month = current_day.month
months_back -= 1
while current_day.month == current_month:
days.append(str(current_day).split(' ')[0])
current_day += datetime.timedelta(days=1)
return days
def get_month_view(worklogs):
week = datetime.datetime.strptime(
worklogs[0]["date"][0:10], '%Y-%m-%d').date()
week_number_start = week
to_monday = week_number_start.weekday()
week_number_start -= datetime.timedelta(days=to_monday)
week_number_end = week_number_start+datetime.timedelta(days=6)
week_iso = week.isocalendar().week
month_view = worklogs[0]["author"]
for worklog in worklogs:
ticket = worklog["ticket_id"]
date = worklog["date"][0:10]
timespent = worklog["time_spent"]
week_day = datetime.datetime.strptime(date, '%Y-%m-%d').date()
if (week_day.isocalendar().week == week_iso):
month_view += "\nWeek " + str(week_iso)+"\tfrom "+week_number_start.__str__() + \
"\tto "+week_number_end.__str__()+"\n\n"
week_iso += 1
week_number_start += datetime.timedelta(days=7)
week_number_end += datetime.timedelta(days=7)
month_view += ticket+'\tdate '+date+'\ttime '+timespent + '\n'
return month_view