parsifal: add and correct soap scripts

This commit is contained in:
Nicolas Roche 2023-03-19 21:11:43 +01:00
parent c4e7a50aa5
commit 5e8ba49655
13 changed files with 290 additions and 32 deletions

3
parsifal/.gitignore vendored
View File

@ -1,3 +1,6 @@
*~
*.pyc
*.xml
*.wsdl*
*.txt
*.json

75
parsifal/MEMO Normal file
View File

@ -0,0 +1,75 @@
Scripts SOAP Parsifal
=====================
Scripts pour produire rapidement des trames SOAP à poster sur
https://redmine.sigec.fr/
mais aussi pour vérifier rapidement le contenus des référentiels,
qui sont mis en cache dans le connecteur,
ou sinon pour les tests.
ex:
$ ./read_referential_list.py civility
$ cat soap_sent.xml
$ cat soap_received.xml
Les srcipts appellent les WS définis sur
https://demo-toulouse.sigec.fr/maelisws-toulouse-recette/
Il y a d'autres infos sur le connecteur dans ce wiki :
https://redmine.sigec.fr/projects/toulouse/wiki/Le_connecteur_publik
Référentiels
............
$ ./read_referential_list.py -e dev civility
$ ./read_nursery_list.py -e dev
DUI
...
$ ./get_family_basket.py -e dev 322423
Catalogue des activités
.......................
$ ./read_activity_list.py -e dev
$ ./read_activity_nature_type.py -e dev
Catalogue personnalisé
......................
$ ./get_person_catalogue_activity.py -e dev -f 322423 -P 261768
$ ./grep_activity_info.py -e dev -f 322423 -P 261771 -d > to_grep_into.txt
Inscriptions
............
$ ./get_person_unit_info.py -e dev -f 322423 -P 261768 -a A10055585940 -u A10055585942 -p M10053212180
$ ./add_person_unit_basket.py -e dev -f 322423 -P 261772 -a A10055585940 -u A10055585942 -p M10053212180 -S 2023-02-07 -E 2023-07-07
Réservations
............
$ ./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
(en cours)
Paniers
.......
$ ./get_family_basket.py -e dev 322423
$ ./delete_basket.py -e dev S10055618250
$ ./delete_basket_line.py -e dev S10055618251
$ ./validate_basket.py -e dev S10055618250
(penser à noter les idIns)
$ ./delete_subscribe_activity.py -e dev --help
'idIns': 'S10055618294'
'idIns': 'S10055618298'
Factures
........
$ ./read_referential_list.py -e dev -m invoice regie
$ ./read_invoices.py -e dev --help
$ ./pay_invoices.py -e dev --help
(il y aura aussi le WS cancelInvoiceAndDeleteSubscribeList)

View File

@ -0,0 +1,45 @@
#!/usr/bin/python3
import argparse
import utils
FAMILY_ID = '322573' # NICO
PERSON_ID = '263781' # BART
ACTIVITY_ID = 'A10055227963'
UNIT_ID = 'A10055227965'
PLACE_ID = 'A10055129635'
START_DATE = '2023-02-01'
END_DATE = '2023-07-01'
def check(args):
utils.configure_logging(args.verbose)
client = utils.get_client(args.env, 'Activity')
result = client.service.addPersonUnitBasket(
addPersonUnitBasketRequestBean={
'numFamily': args.family,
'numPerson': args.person,
'idAct': args.activity,
'idUnit': args.unit,
'idPlace': args.place,
'dateStartSubscribe': args.start,
'dateEndSubscribe': args.end,
})
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('--unit', '-u', default=UNIT_ID, help='unit id')
parser.add_argument('--place', '-p', default=PLACE_ID, help='place 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)')
check(parser.parse_args())

View File

@ -22,5 +22,5 @@ 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('basket', nargs='?', help='basket id')
parser.add_argument('basket', help='basket id')
check(parser.parse_args())

View File

@ -5,7 +5,7 @@ import argparse
import utils
FAMILY_ID = '322573' # NICO
FAMILY_ID = '322423' # NICO
def check(args):
@ -24,5 +24,5 @@ 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('family', help=FAMILY_ID, nargs='?', default=FAMILY_ID)
check(parser.parse_args())

View File

@ -56,7 +56,7 @@ def check(args):
#print(' places: %s' % len(unit['placeInfoList']))
for item in unit['placeInfoList']:
place = item['place']
print(' * %s : (x/y: %s/%s)' % (place['lib1'], place['longitude'], place['latitude']))
print(' * %s / %s: (x/y: %s/%s)' % (place['idPlace'], place['lib1'], place['longitude'], place['latitude']))
if __name__ == "__main__":
@ -64,7 +64,6 @@ if __name__ == "__main__":
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('--dump', '-d', default=False, action='store_true', help='dump')
parser.add_argument('--family', nargs='?', default=FAMILY_ID, help='family id')
parser.add_argument('--person', nargs='?', default=PERSON_ID, help='person id')
args = parser.parse_args()
check(args)
parser.add_argument('--family', '-f', default=FAMILY_ID, help='family id')
parser.add_argument('--person', '-P', default=PERSON_ID, help='person id')
check(parser.parse_args())

View File

@ -5,26 +5,48 @@ import argparse
import utils
FAMILY_ID = '322573' # NICO
PERSON_ID = '263781' # BART
ACTIVITY_ID = 'A10055227963'
YEAR = '2023'
MONTH = '4'
def check(args):
utils.configure_logging(args.verbose)
client = utils.get_client(args.env, 'Activity')
# $ curl 'https://parsifal-passerelle.dev.publik.love/toulouse-maelis/test/read-child-agenda?family_id=322426&child_id=261828&start_date=2023-01-01&end_date=2023-01-10' | json_pp
res = client.service.getPersonScheduleList(
requestBean={
# https://redmine.sigec.fr/issues/1936
'numDossier': '249548', # LAMBERT
'numPerson': '163145', # ROMAIN
'year': '2023',
'month': '3',
#'idAct': 'A10049327689',
'numDossier': args.family,
'numPerson': args.person,
'year': args.year,
'month': args.month,
'idAct': args.activity,
}
)
print(res)
if args.dump:
print(res)
return
for person in res:
for activity in person['activityScheduleList']:
print('* %s / %s' % (activity['activity']['idAct'], activity['activity']['libelle']))
for unit in activity['unitScheduleList']:
print(' * %s / %s' % (unit['unit']['idUnit'], unit['unit']['libelle']))
for day in unit['dayInfoList']:
if day['status'] in ['NO_READ', 'NO_CUSTODY']:
continue
print(day)
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')
args = parser.parse_args()
check(args)
parser.add_argument('--dump', '-d', default=False, action='store_true', help='dump')
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('--year', '-y', default=YEAR, help='year (ex: 2023)')
parser.add_argument('--month', '-m', default=YEAR, help='month (ex: 4)')
parser.add_argument('activity', nargs='?', default=None, help='activity id')
check(parser.parse_args())

View File

@ -29,7 +29,7 @@ def check(args):
'idPlace': args.place,
},
'dateRef': None, # si nulle, date du jour
'dateRef': None, # si nulle, date du jour
}
)
@ -47,13 +47,16 @@ def check(args):
results['controlResult']['message'],
))
print(' calendarGeneration: %s' % results['calendarGeneration']['code'])
print(' type: %s / %s' % (
results['activity']['activityType']['code'],
results['activity']['activityType']['natureSpec']['code'],
))
if results['activity']['activityType']:
print(' type: %s / %s' % (
results['activity']['activityType']['code'],
results['activity']['activityType']['natureSpec']['code'],
))
else:
print("' type: no activity type")
print(' weeklyCalendarActivityList: %s' %
bool('weeklyCalendarActivityList' in results))
print(' openDayList: %s' % len(results['openDayList']))
print(' unit: %s / %s' % (results['unit']['idUnit'], results['unit']['libelle']))
@ -65,9 +68,9 @@ if __name__ == "__main__":
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('--dump', '-d', default=False, action='store_true', help='dump')
parser.add_argument('--family', '-f', nargs='?', default=FAMILY_ID, help='family id')
parser.add_argument('--person', '-P', nargs='?', default=PERSON_ID, help='person id')
parser.add_argument('--activity', '-a', nargs='?', default=ACTIVITY_ID, help='activity id')
parser.add_argument('--unit', '-u', nargs='?', default=UNIT_ID, help='unit id')
parser.add_argument('--place', '-p', nargs='?', default=PLACE_ID, help='place id')
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('--unit', '-u', default=UNIT_ID, help='unit id')
parser.add_argument('--place', '-p', default=PLACE_ID, help='place id')
check(parser.parse_args())

View File

@ -61,6 +61,6 @@ if __name__ == "__main__":
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('--dump', '-d', default=False, action='store_true', help='dump')
parser.add_argument('--family', nargs='?', default=FAMILY_ID, help='family id')
parser.add_argument('--person', nargs='?', default=PERSON_ID, help='person id')
parser.add_argument('--family', '-f', default=FAMILY_ID, help='family id')
parser.add_argument('--person', '-P', default=PERSON_ID, help='person id')
check(parser.parse_args())

View File

@ -5,6 +5,9 @@ import argparse
import utils
FAMILY_ID = '322423' # NICO
def check(args):
utils.configure_logging(args.verbose)
client = utils.get_client(args.env, 'Family')
@ -24,6 +27,6 @@ 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', help='322423', nargs='?', default='322423')
parser.add_argument('family', help=FAMILY_ID, nargs='?', default=FAMILY_ID)
args = parser.parse_args()
check(args)

35
parsifal/read_invoices.py Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/python3
import argparse
import utils
FAMILY_ID = '322573' # NICO
PERSON_ID = '263781' # BART
REGIE_ID = '100' # CANTINE / CLAE
START_DATE = '1970-01-01'
END_DATE = '2222-02-22'
def check(args):
utils.configure_logging(args.verbose)
client = utils.get_client(args.env, 'Invoice')
result = client.service.readInvoices(
numDossier=args.family,
codeRegie=args.regie,
dateStart=args.start,
dateEnd=args.end,
)
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('--regie', '-r', default=REGIE_ID, help='person id')
parser.add_argument('--start', '-S', default=START_DATE, help='start date (ex: 1970-01-01)')
parser.add_argument('--end', '-E', default=START_DATE, help='end date (ex: 2222-02-22)')
check(parser.parse_args())

26
parsifal/update_basket_time.py Executable file
View File

@ -0,0 +1,26 @@
#!/usr/bin/python3
import argparse
import utils
FAMILY_ID = '322423' # NICO
def check(args):
utils.configure_logging(args.verbose)
client = utils.get_client(args.env, 'Activity')
result = client.service.updateBasketTime(
idBasket=args.basket,
)
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('basket', nargs='?', help='basket id')
check(parser.parse_args())

View File

@ -0,0 +1,47 @@
#!/usr/bin/python3
import argparse
import utils
FAMILY_ID = '322573' # NICO
PERSON_ID = '263781' # BART
ACTIVITY_ID = 'A10055227963'
UNIT_ID = 'A10055227965'
DATE = '2023-04-12'
YEAR = '2023'
ACTION = 'ADD_PRES_PREVI'
def check(args):
utils.configure_logging(args.verbose)
client = utils.get_client(args.env, 'Activity')
res = client.service.updatePersonSchedule(
requestBean={
'numDossier': args.family,
'unitPersonDayInfoList': [
{
'numPerson': args.person,
'idAct': args.activity,
'idUni': args.unit,
'date': args.date,
'action': args.action,
},
]
}
)
print(res)
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('--unit', '-u', default=UNIT_ID, help='unit id')
parser.add_argument('--date', '-D', default=DATE, help='date (ex: 2023-04-12)')
parser.add_argument('--action', '-A', default=ACTION, help='ADD_PRES_PREVI, DEL_PRES_PREVI, ...')
check(parser.parse_args())