import datetime #code of month branch def get_days_of_month(previous_month=False): today = datetime.date.today() start_of_month = today.replace(day=1) end_of_month = today.replace(day=28)+datetime.timedelta(days=4) end_of_month -= datetime.timedelta(days=end_of_month.day) days = [] # minus one month if previous_month == True: start_of_month -= datetime.timedelta(days=1) start_of_month = start_of_month.replace(day=1) end_of_month = start_of_month end_of_month = today.replace(day=28)+datetime.timedelta(days=4) end_of_month -= datetime.timedelta(days=end_of_month.day) days.append(str(start_of_month)) while start_of_month != end_of_month: start_of_month += datetime.timedelta(days=1) days.append(str(start_of_month)) # returns all days of current month return days def get_month_tickets(worklogs, days, previous_month=False): this_month_tickets = [] for worklog in worklogs: worklog_date = datetime.datetime.strptime( worklog["date"].split('T')[0], '%Y-%m-%d').date() current_month = datetime.date.today().month # minus one month if previous_month == True: current_month -= 1 worklog_month = str(worklog_date).split('-')[1] if str(worklog_date) in days and int(worklog_month) == current_month: this_month_tickets.append(worklog) return this_month_tickets 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 omnimat_string = 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): omnimat_string += "\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) omnimat_string += ticket+'\tdate '+date+'\ttime '+timespent + '\n' return omnimat_string #end of code month branch