Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
C
cgscop_inpi
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté GitLab
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Le Filament
Confédération Générale des SCOP
cgscop_inpi
Validations
96d594fc
Valider
96d594fc
rédigé
Il y a 2 mois
par
Julien - Le Filament
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
[FIX] handle rate limit
parent
fe5f34f6
Branches
Branches contenant la validation
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
2
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
models/res_partner.py
+45
-36
45 ajouts, 36 suppressions
models/res_partner.py
wizard/inpi_update_wizard.py
+9
-4
9 ajouts, 4 suppressions
wizard/inpi_update_wizard.py
avec
54 ajouts
et
40 suppressions
models/res_partner.py
+
45
−
36
Voir le fichier @
96d594fc
...
@@ -95,6 +95,7 @@ class ResPartner(models.Model):
...
@@ -95,6 +95,7 @@ class ResPartner(models.Model):
UTILS: renvoi l objet etablissement du siege
UTILS: renvoi l objet etablissement du siege
"""
"""
# check si l etablissement principal est le siege
# check si l etablissement principal est le siege
if
inpi_data
.
formality
.
content
.
personneMorale
:
ets_prin
=
inpi_data
.
formality
.
content
.
personneMorale
.
etablissementPrincipal
ets_prin
=
inpi_data
.
formality
.
content
.
personneMorale
.
etablissementPrincipal
if
(
if
(
...
@@ -174,6 +175,9 @@ class ResPartner(models.Model):
...
@@ -174,6 +175,9 @@ class ResPartner(models.Model):
MAJ denomination
MAJ denomination
"""
"""
logger
.
info
(
_
(
f
"
Update denomination for
{
self
.
name
}
:
{
self
.
siren
}
"
))
logger
.
info
(
_
(
f
"
Update denomination for
{
self
.
name
}
:
{
self
.
siren
}
"
))
if
not
inpi_data
.
formality
.
content
.
personneMorale
:
return
self
.
_get_current_period
()
inpi_name
=
(
inpi_name
=
(
inpi_data
.
formality
.
content
.
personneMorale
.
identite
.
entreprise
.
denomination
inpi_data
.
formality
.
content
.
personneMorale
.
identite
.
entreprise
.
denomination
)
)
...
@@ -205,6 +209,8 @@ class ResPartner(models.Model):
...
@@ -205,6 +209,8 @@ class ResPartner(models.Model):
MAJ code naf
MAJ code naf
"""
"""
logger
.
info
(
_
(
f
"
Update code naf for
{
self
.
name
}
:
{
self
.
siren
}
"
))
logger
.
info
(
_
(
f
"
Update code naf for
{
self
.
name
}
:
{
self
.
siren
}
"
))
if
not
inpi_data
.
formality
.
content
.
personneMorale
:
return
self
.
_get_current_period
()
inpi_naf_id
=
self
.
_get_inpi_naf_id
(
inpi_naf_id
=
self
.
_get_inpi_naf_id
(
inpi_data
.
formality
.
content
.
personneMorale
.
identite
.
entreprise
.
codeApe
inpi_data
.
formality
.
content
.
personneMorale
.
identite
.
entreprise
.
codeApe
)
)
...
@@ -280,6 +286,7 @@ class ResPartner(models.Model):
...
@@ -280,6 +286,7 @@ class ResPartner(models.Model):
"""
"""
UTILS: get facility data from siret
UTILS: get facility data from siret
"""
"""
if
inpi_data
.
formality
.
content
.
personneMorale
:
inpi_facilities
=
(
inpi_facilities
=
(
inpi_data
.
formality
.
content
.
personneMorale
.
autresEtablissements
inpi_data
.
formality
.
content
.
personneMorale
.
autresEtablissements
)
)
...
@@ -331,6 +338,8 @@ class ResPartner(models.Model):
...
@@ -331,6 +338,8 @@ class ResPartner(models.Model):
Les nouveaux sont créées on ne fait rien pour ceux qui ne sont plus dans INPI
Les nouveaux sont créées on ne fait rien pour ceux qui ne sont plus dans INPI
"""
"""
logger
.
info
(
_
(
f
"
Update etablissement for
{
self
.
name
}
:
{
self
.
siren
}
"
))
logger
.
info
(
_
(
f
"
Update etablissement for
{
self
.
name
}
:
{
self
.
siren
}
"
))
inpi_facilities
=
None
if
inpi_data
.
formality
.
content
.
personneMorale
:
inpi_facilities
=
(
inpi_facilities
=
(
inpi_data
.
formality
.
content
.
personneMorale
.
autresEtablissements
inpi_data
.
formality
.
content
.
personneMorale
.
autresEtablissements
)
)
...
@@ -386,7 +395,7 @@ class ResPartner(models.Model):
...
@@ -386,7 +395,7 @@ class ResPartner(models.Model):
Les dirigants sont créées via le modele cgscop.inpi.director
Les dirigants sont créées via le modele cgscop.inpi.director
"""
"""
logger
.
info
(
_
(
f
"
Update dirigeants for
{
self
.
name
}
:
{
self
.
siren
}
"
))
logger
.
info
(
_
(
f
"
Update dirigeants for
{
self
.
name
}
:
{
self
.
siren
}
"
))
if
inpi_data
.
formality
.
content
.
personneMorale
.
composition
:
if
inpi_data
.
formality
.
content
.
personneMorale
and
inpi_data
.
formality
.
content
.
personneMorale
.
composition
:
inpi_pouvoirs
=
(
inpi_pouvoirs
=
(
inpi_data
.
formality
.
content
.
personneMorale
.
composition
.
pouvoirs
inpi_data
.
formality
.
content
.
personneMorale
.
composition
.
pouvoirs
)
)
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
wizard/inpi_update_wizard.py
+
9
−
4
Voir le fichier @
96d594fc
# © 2020 Le Filament (<http://www.le-filament.com>)
# © 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from
odoo
import
fields
,
models
from
odoo
import
fields
,
models
class
InpiUpdateWizard
(
models
.
TransientModel
):
class
InpiUpdateWizard
(
models
.
TransientModel
):
_name
=
"
inpi.update.wizard
"
_name
=
"
inpi.update.wizard
"
_description
=
"
Update inpi wizard
"
_description
=
"
Update inpi wizard
"
...
@@ -30,6 +28,8 @@ class InpiUpdateWizard(models.TransientModel):
...
@@ -30,6 +28,8 @@ class InpiUpdateWizard(models.TransientModel):
def
update
(
self
):
def
update
(
self
):
rate_limit_max_by_minute
=
100
if
self
.
all_scop
==
"
all
"
:
if
self
.
all_scop
==
"
all
"
:
scop_to_update
=
self
.
env
[
"
res.partner
"
].
search
(
scop_to_update
=
self
.
env
[
"
res.partner
"
].
search
(
[
[
...
@@ -42,7 +42,12 @@ class InpiUpdateWizard(models.TransientModel):
...
@@ -42,7 +42,12 @@ class InpiUpdateWizard(models.TransientModel):
else
:
else
:
scop_to_update
=
self
.
partner_ids
scop_to_update
=
self
.
partner_ids
for
scop
in
scop_to_update
:
# due to rate limit we launch batch of queue every minute
eta
=
1
for
nb_jobs
,
scop
in
enumerate
(
scop_to_update
):
if
nb_jobs
and
nb_jobs
%
rate_limit_max_by_minute
==
0
:
eta
+=
60
scop
.
sudo
().
with_delay
(
scop
.
sudo
().
with_delay
(
description
=
f
"
Mise à jours INPI:
{
scop
.
name
}
"
description
=
f
"
Mise à jours INPI:
{
scop
.
name
}
"
,
eta
=
eta
).
update_from_inpi
(
update_type
=
"
all
"
)
).
update_from_inpi
(
update_type
=
"
all
"
)
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter