diff --git a/parsifal/README b/parsifal/README index e401386..fdc82a1 100644 --- a/parsifal/README +++ b/parsifal/README @@ -55,11 +55,16 @@ $ ./add_person_unit_subscribe.py -e dev -f 322423 -P 264026 -a A10055585940 -u A $ ./get_person_unit_info.py -e dev -f 322423 -P 261768 -a A10055590330 -u A10055590332 -p A10053179224 $ ./add_person_unit_basket.py -e dev -f 322423 -P 261771 -a A10055590330 -u A10055590332 -p A10053179224 -S 2023-01-01 -E 2023-06-30 -Réservations -............ +Réservations (agenda) +..................... $ ./get_person_schedule_list.py -e dev -f 322423 -P 261768 A10055585940 -y 2023 -m 4 $ ./update_person_schedule_list.py -e dev -f 322423 -P 261768 -a A10055585940 -u A10055585942 -D "2023-04-12" -A ADD_PRES_PREVI +Réservations (semaine type) +........................... +$ ./get_person_schedule_list.py -e dev -f 322423 -P 261768 -y 2023 -m 4 -d A10049327682 +$ ./update_week_calendar.py -e dev -f 322423 -P 261768 -a A10049327682 -S "2023-04-01" -E "2222-05-01" -W "XB_____" + Paniers ....... $ ./get_family_basket.py -e dev 322423 diff --git a/parsifal/update_week_calendar.py b/parsifal/update_week_calendar.py new file mode 100755 index 0000000..e65bd7d --- /dev/null +++ b/parsifal/update_week_calendar.py @@ -0,0 +1,53 @@ +#!/usr/bin/python3 + +import argparse + +import utils + + +FAMILY_ID = '322573' # NICO +PERSON_ID = '263781' # BART +ACTIVITY_ID = 'A10055227963' +START_DATE = '2023-02-01' +END_DATE = '2023-07-01' +WEEK = '_XB____' + + +def check(args): + utils.configure_logging(args.verbose) + client = utils.get_client(args.env, 'Activity') + + if len(args.week) != 7: + raise Exception("week must contain 7 letters (on per week day)") + week = [] + for i, unit_letter in enumerate(args.week): + if unit_letter in ['_', ' ']: + letter = None + else: + letter = unit_letter + week.append({ + 'dayNum': i+1, + 'calendarLetter': letter, + 'isPresent': bool(letter is not None), + }) + + result = client.service.updateWeekCalendar( + numPerson=args.person, + idActivity=args.activity, + dateStart=args.start, + dateEnd=args.end, + dayWeekInfoList=week, + ) + print(result) + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('--verbose', '-v', type=int, default=2, help='display errors') + parser.add_argument('--env', '-e', default='integ', help='dev, test, integ, prod') + parser.add_argument('--family', '-f', default=FAMILY_ID, help='family id') + parser.add_argument('--person', '-P', default=PERSON_ID, help='person id') + parser.add_argument('--activity', '-a', default=ACTIVITY_ID, help='activity id') + parser.add_argument('--start', '-S', default=START_DATE, help='start date (ex: 2023-02-01)') + parser.add_argument('--end', '-E', default=START_DATE, help='end date (ex: 2023-07-01)') + parser.add_argument('--week', '-W', default=WEEK, help='7 unit lettres or "_" (ex: _XB____)') + check(parser.parse_args())