diff --git a/main.py b/main.py old mode 100755 new mode 100644 index 7d1be9d..baa1c98 --- a/main.py +++ b/main.py @@ -2,11 +2,12 @@ import requests import json import datetime -ACCESS_TOKEN = "MDk0NDEwMDYwODQxOrmFq3X448sSYfN9XaEX+OUOjb5W" # Modify +ACCESS_TOKEN = "" # Modify USERNAMES = ["kalinom6"] # Modify URL = "https://globaljira.roche.com/rest/api/2" CERT = 'Roche G3 Root CA.crt' -CHECK_WEEK_BACK = False +WEEKS_BACK = 1 +VERBOSE = True headers = { "Authorization": f"Bearer {ACCESS_TOKEN}", @@ -60,19 +61,32 @@ def get_worklogs(issues): worklogs.append(worklog) return worklogs -def get_days(): - today = datetime.date.today() - if CHECK_WEEK_BACK: - today = today - datetime.timedelta(weeks=1) - year, weeknum, day_of_week = today.isocalendar() +def get_days(day, weeks_back=WEEKS_BACK): + if WEEKS_BACK: + day = day - datetime.timedelta(weeks=weeks_back) + year, weeknum, day_of_week = day.isocalendar() days = [] - days.append(str(today)) + days.append(str(day)) while day_of_week > 1: - today = today - datetime.timedelta(days=1) + day = day - datetime.timedelta(days=1) day_of_week -= 1 - days.append(str(today)) + days.append(str(day)) return days +def get_weeks(day, worklogs, weeks=list()): + year, weeknum, day_of_week = day.isocalendar() + days = get_days(day, weeks_back=0) + tickets = get_week_tickets(worklogs, days) + weeks.append(tickets) + if weeknum != 0: + days = get_days(day, weeks_back=1) + get_weeks(days[0], worklogs, weeks) + return weeks + + + + + def get_week_tickets(worklogs, days): this_week_tickets = [] for worklog in worklogs: @@ -92,16 +106,26 @@ def get_max_month(days): return max def main(): + print('The script starts its work...') + for username in USERNAMES: issues = get_issues(username) - print('Issues:') - print(json.dumps(issues, indent=4)) worklogs = get_worklogs(issues) - days = get_days() + today = datetime.date.today() + days = get_days(today) worklogs = get_week_tickets(worklogs, days) omnimat_string = "" + for worklog in worklogs: - omnimat_string += worklog["ticket_id"] + '\n' + if worklog["ticket_id"] not in omnimat_string: + omnimat_string += worklog["ticket_id"] + '\n' + + if VERBOSE: + print('Issues of the user:') + print(json.dumps(issues, indent=4)) + print(f"Worklogs for the current week:") + print(json.dumps(worklogs, indent=4)) + print(f"Omnimat string:") print(omnimat_string) if __name__ == '__main__': main() \ No newline at end of file