trivial: apply black
This commit is contained in:
parent
5f6d66397d
commit
0d57f0a292
|
@ -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={
|
||||||
|
|
|
@ -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',
|
||||||
|
|
|
@ -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'
|
||||||
|
),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
|
@ -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',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
|
@ -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']
|
||||||
|
|
24
setup.py
24
setup.py
|
@ -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,
|
||||||
}
|
},
|
||||||
)
|
)
|
||||||
|
|
Reference in New Issue