parsifal: remove passwords from scripts

This commit is contained in:
Nicolas Roche 2023-03-28 15:01:05 +02:00
parent 08d6963ae5
commit 93c633db37
3 changed files with 21 additions and 20 deletions

View File

@ -1,4 +1,3 @@
Scripts SOAP Parsifal
=====================
@ -19,6 +18,14 @@ 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
Install
-------
Créer un fichier config.json à la racine (au même niveau que ce
fichier Readme) avec le contenu qui est donné par le lien suivant :
https://redmine.sigec.fr/projects/toulouse/wiki/Les_scripts_SOAP
Mémo
----
Référentiels
............

View File

@ -1,12 +1,10 @@
#!/usr/bin/python3
import argparse
import requests
import zeep
from zeep.helpers import serialize_object
import utils
FAMILY_ID = '322573' # NICO
PERSON_ID = '263781' # BART
ACTIVITY_ID = 'A10055227963'

View File

@ -98,31 +98,27 @@ def configure_logging(verbose):
})
def get_wsdl_url(env, service):
if env == 'dev':
env_url = 'https://demo-toulouse.sigec.fr/maelisws-toulouse-recette/'
elif env == 'test': # VPN required
env_url = 'https://pfs.integration.toulouse-metropole.fr/parsifaltest/'
elif env == 'integ': # VPN required
env_url = 'https://pfs.integration.toulouse-metropole.fr/parsifal/'
# elif env == 'prod':
# env_url = 'https://pfs.applis.toulouse-metropole.fr/parsifal/'
else:
raise Exception('Mauvais environnement: %s', env)
def load_config(env):
with open('config.json') as conf_file:
config = json.load(conf_file)
return config[env.lower()]
return env_url + 'services/' + service.title() + 'Service?wsdl'
def get_wsdl_url(env, service):
'''VPN is required to access test and integ environments'''
config = load_config(env)
return config['url'] + 'services/' + service.title() + 'Service?wsdl'
def get_client(env, service):
config = load_config(env)
settings = zeep.Settings(strict=False, xsd_ignore_sequence_order=True)
wsse = UsernameToken('maelis-webservice', 'maelis-password')
wsse = UsernameToken(config['login'], config['pasword'])
session = requests.Session()
session.verify = bool(env != 'dev')
session.verify = config['session_verify']
wsdl_url = get_wsdl_url(env, service)
print(wsdl_url)
transport = Transport(session=session)
client = zeep.Client(wsdl_url, transport=transport, wsse=wsse, settings=settings)
return client