trivial: apply black

This commit is contained in:
Frédéric Péters 2021-01-11 18:52:39 +01:00
parent 5f6d66397d
commit 0d57f0a292
6 changed files with 81 additions and 50 deletions

View File

@ -17,11 +17,19 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='GLCartaDSCS', name='GLCartaDSCS',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), (
'id',
models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
('title', models.CharField(max_length=50, verbose_name='Title')), ('title', models.CharField(max_length=50, verbose_name='Title')),
('description', models.TextField(verbose_name='Description')), ('description', models.TextField(verbose_name='Description')),
('slug', models.SlugField(unique=True, verbose_name='Identifier')), ('slug', models.SlugField(unique=True, verbose_name='Identifier')),
('wsdl_base_url', models.URLField(help_text='ex: https://example.net/adscs/webservices/', verbose_name='WSDL Base URL')), (
'wsdl_base_url',
models.URLField(
help_text='ex: https://example.net/adscs/webservices/', verbose_name='WSDL Base URL'
),
),
('username', models.CharField(max_length=64, verbose_name='Username')), ('username', models.CharField(max_length=64, verbose_name='Username')),
('password', models.CharField(max_length=64, verbose_name='Password')), ('password', models.CharField(max_length=64, verbose_name='Password')),
('iv', models.CharField(max_length=16, verbose_name='Initialisation Vector')), ('iv', models.CharField(max_length=16, verbose_name='Initialisation Vector')),
@ -32,7 +40,10 @@ class Migration(migrations.Migration):
('ftp_client_name', models.CharField(max_length=64, verbose_name='FTP Client Name')), ('ftp_client_name', models.CharField(max_length=64, verbose_name='FTP Client Name')),
('token_url', models.URLField(max_length=256, verbose_name='Token URL')), ('token_url', models.URLField(max_length=256, verbose_name='Token URL')),
('token_authorization', models.CharField(max_length=128, verbose_name='Token Authorization')), ('token_authorization', models.CharField(max_length=128, verbose_name='Token Authorization')),
('verify_cert', models.BooleanField(default=True, verbose_name='Check HTTPS Certificate validity')), (
'verify_cert',
models.BooleanField(default=True, verbose_name='Check HTTPS Certificate validity'),
),
('users', models.ManyToManyField(blank=True, to='base.ApiUser')), ('users', models.ManyToManyField(blank=True, to='base.ApiUser')),
], ],
options={ options={

View File

@ -15,7 +15,9 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='glcartadscs', model_name='glcartadscs',
name='sendfile_ws_dirname', name='sendfile_ws_dirname',
field=models.CharField(blank=True, max_length=256, verbose_name='Sendfile Webservice Directory Name'), field=models.CharField(
blank=True, max_length=256, verbose_name='Sendfile Webservice Directory Name'
),
), ),
migrations.AddField( migrations.AddField(
model_name='glcartadscs', model_name='glcartadscs',

View File

@ -15,11 +15,19 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='glcartadscs', model_name='glcartadscs',
name='client_name', name='client_name',
field=models.CharField(blank=True, help_text='Only useful in shared environments.', max_length=64, null=True, verbose_name='Client Name'), field=models.CharField(
blank=True,
help_text='Only useful in shared environments.',
max_length=64,
null=True,
verbose_name='Client Name',
),
), ),
migrations.AlterField( migrations.AlterField(
model_name='glcartadscs', model_name='glcartadscs',
name='users', name='users',
field=models.ManyToManyField(blank=True, related_name='_glcartadscs_users_+', related_query_name='+', to='base.ApiUser'), field=models.ManyToManyField(
blank=True, related_name='_glcartadscs_users_+', related_query_name='+', to='base.ApiUser'
),
), ),
] ]

View File

@ -15,6 +15,10 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='glcartadscs', model_name='glcartadscs',
name='cerfa_pdf_url_substitutions', name='cerfa_pdf_url_substitutions',
field=models.TextField(blank=True, help_text='On each line, published URL prefix;actual URL prefix', verbose_name='URL substitutions for CERFA downloads'), field=models.TextField(
blank=True,
help_text='On each line, published URL prefix;actual URL prefix',
verbose_name='URL substitutions for CERFA downloads',
),
), ),
] ]

View File

@ -28,6 +28,7 @@ from passerelle.apps.cartads_cs.models import AbstractCartaDSCS, CartaDSDossier
from passerelle.utils import SOAPTransport from passerelle.utils import SOAPTransport
from passerelle.utils.http_authenticators import HttpBearerAuth from passerelle.utils.http_authenticators import HttpBearerAuth
class Transport(SOAPTransport): class Transport(SOAPTransport):
def post(self, address, message, headers): def post(self, address, message, headers):
headers['Authorization'] = self.resource.get_api_manager_token() headers['Authorization'] = self.resource.get_api_manager_token()
@ -45,18 +46,16 @@ class GLCartaDSCS(AbstractCartaDSCS):
token_url = models.URLField(_('Token URL'), max_length=256) token_url = models.URLField(_('Token URL'), max_length=256)
token_authorization = models.CharField(_('Token Authorization'), max_length=128) token_authorization = models.CharField(_('Token Authorization'), max_length=128)
sendfile_ws_url = models.URLField( sendfile_ws_url = models.URLField(_('Sendfile Webservice URL'), max_length=256, blank=True)
_('Sendfile Webservice URL'),
max_length=256, blank=True)
sendfile_ws_dirname = models.CharField( sendfile_ws_dirname = models.CharField(
_('Sendfile Webservice Directory Name'), _('Sendfile Webservice Directory Name'), max_length=256, blank=True
max_length=256, blank=True) )
verify_cert = models.BooleanField(default=True, verify_cert = models.BooleanField(default=True, verbose_name=_('Check HTTPS Certificate validity'))
verbose_name=_('Check HTTPS Certificate validity'))
cerfa_pdf_url_substitutions = models.TextField( cerfa_pdf_url_substitutions = models.TextField(
_('URL substitutions for CERFA downloads'), _('URL substitutions for CERFA downloads'),
help_text=_('On each line, published URL prefix;actual URL prefix'), help_text=_('On each line, published URL prefix;actual URL prefix'),
blank=True) blank=True,
)
class Meta: class Meta:
verbose_name = 'Cart@DS CS (@ Grand Lyon)' verbose_name = 'Cart@DS CS (@ Grand Lyon)'
@ -84,10 +83,11 @@ class GLCartaDSCS(AbstractCartaDSCS):
return token return token
headers = {'Authorization': 'Basic %s' % self.token_authorization} headers = {'Authorization': 'Basic %s' % self.token_authorization}
resp = self.requests.post( resp = self.requests.post(
self.token_url, self.token_url,
headers=headers, headers=headers,
data={'grant_type': 'client_credentials'}, data={'grant_type': 'client_credentials'},
verify=self.verify_cert).json() verify=self.verify_cert,
).json()
token = '%s %s' % (resp.get('token_type'), resp.get('access_token')) token = '%s %s' % (resp.get('token_type'), resp.get('access_token'))
timeout = int(resp.get('expires_in')) timeout = int(resp.get('expires_in'))
cache.set(cache_key, token, timeout) cache.set(cache_key, token, timeout)
@ -103,26 +103,28 @@ class GLCartaDSCS(AbstractCartaDSCS):
# -- https://bz.apache.org/bugzilla/show_bug.cgi?id=39243 # -- https://bz.apache.org/bugzilla/show_bug.cgi?id=39243
# and that's why there's a seemingly unnecessary GET request first. # and that's why there's a seemingly unnecessary GET request first.
api_manager_token = self.get_api_manager_token() api_manager_token = self.get_api_manager_token()
response = self.requests.get(self.sendfile_ws_url, response = self.requests.get(self.sendfile_ws_url, headers={'Authorization': api_manager_token})
headers={'Authorization': api_manager_token})
if response.status_code == 401: if response.status_code == 401:
api_manager_token = self.get_api_manager_token(renew=True) api_manager_token = self.get_api_manager_token(renew=True)
b64_zip = base64.b64encode(open(zip_filename, 'rb').read()) b64_zip = base64.b64encode(open(zip_filename, 'rb').read())
# call with start=true to initialize file # call with start=true to initialize file
resp = self.requests.post(self.sendfile_ws_url, resp = self.requests.post(
data={ self.sendfile_ws_url,
'fileName': self.sendfile_ws_dirname + os.path.basename(zip_filename), data={
'start': 'true', 'fileName': self.sendfile_ws_dirname + os.path.basename(zip_filename),
}) 'start': 'true',
},
)
chunk_size = 16777216 # 16MB chunk_size = 16777216 # 16MB
for n in range(0, len(b64_zip), chunk_size): for n in range(0, len(b64_zip), chunk_size):
resp = self.requests.post(self.sendfile_ws_url, resp = self.requests.post(
data={ self.sendfile_ws_url,
'fileName': self.sendfile_ws_dirname + os.path.basename(zip_filename), data={
'b64_fileContent': b64_zip[n:n+chunk_size].decode('ascii'), 'fileName': self.sendfile_ws_dirname + os.path.basename(zip_filename),
}, 'b64_fileContent': b64_zip[n : n + chunk_size].decode('ascii'),
headers={'Authorization': api_manager_token} },
) headers={'Authorization': api_manager_token},
)
resp.raise_for_status() resp.raise_for_status()
if resp.content: if resp.content:
# error messages are put in content, valid responses are empty. # error messages are put in content, valid responses are empty.
@ -132,10 +134,13 @@ class GLCartaDSCS(AbstractCartaDSCS):
client = self.soap_client(wsdl_url=self.get_wsdl_url('ServiceRechercheDossier')) client = self.soap_client(wsdl_url=self.get_wsdl_url('ServiceRechercheDossier'))
client2 = self.soap_client(wsdl_url=self.get_wsdl_url('ServiceDossier')) client2 = self.soap_client(wsdl_url=self.get_wsdl_url('ServiceDossier'))
resp = client.service.GetDossiersSelonDerniereEtape( resp = (
client.service.GetDossiersSelonDerniereEtape(
self.client_name, self.client_name,
datetime.datetime.now() - datetime.timedelta(days=1), datetime.datetime.now() - datetime.timedelta(days=1),
datetime.datetime.now()), datetime.datetime.now(),
),
)
if resp and resp[0] is not None: if resp and resp[0] is not None:
for cartads_dossier in resp[0]: for cartads_dossier in resp[0]:
resp = client2.service.GetInfosDossier(self.get_token(), cartads_dossier['IdDossier']) resp = client2.service.GetInfosDossier(self.get_token(), cartads_dossier['IdDossier'])
@ -152,7 +157,8 @@ class GLCartaDSCS(AbstractCartaDSCS):
zip_ack_response__in=('True', '0'), zip_ack_response__in=('True', '0'),
cartads_id_dossier__isnull=True, cartads_id_dossier__isnull=True,
tracking_code=tracking_code, tracking_code=tracking_code,
id=dossier_id) id=dossier_id,
)
except CartaDSDossier.DoesNotExist: except CartaDSDossier.DoesNotExist:
continue continue
dossier.cartads_id_dossier = resp['IdDossier'] dossier.cartads_id_dossier = resp['IdDossier']

View File

@ -24,9 +24,9 @@ class eo_sdist(sdist):
def get_version(): def get_version():
'''Use the VERSION, if absent generates a version with git describe, if not """Use the VERSION, if absent generates a version with git describe, if not
tag exists, take 0.0- and add the length of the commit log. tag exists, take 0.0- and add the length of the commit log.
''' """
if os.path.exists('VERSION'): if os.path.exists('VERSION'):
with open('VERSION', 'r') as v: with open('VERSION', 'r') as v:
return v.read() return v.read()
@ -51,12 +51,12 @@ def get_version():
setup( setup(
name='passerelle-grandlyon-cartads-cs', name='passerelle-grandlyon-cartads-cs',
version=get_version(), version=get_version(),
author="Entr'ouvert", author="Entr'ouvert",
author_email="info@entrouvert.com", author_email="info@entrouvert.com",
packages=find_packages(), packages=find_packages(),
cmdclass={ cmdclass={
'sdist': eo_sdist, 'sdist': eo_sdist,
} },
) )