-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pc 33771/clean ean inside offer titles books cd vinyles only #15878
base: master
Are you sure you want to change the base?
Pc 33771/clean ean inside offer titles books cd vinyles only #15878
Conversation
Je ne sais pas s'il y a des cas avec des offres qui ont un EAN dans le titre et un EAN renseigné dans |
Visit the preview URL for this PR (updated for commit be62564): https://pc-pro-testing--pr15878-pc-33771-clean-ean-i-pykqm215.web.app (expires Sat, 25 Jan 2025 16:41:02 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 032d233ee67e1c50d6af12e29c936c7076770eb1 |
2c77634
to
c9fcac0
Compare
c9fcac0
to
f33a27f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense qu'il est important de simplifier le script pour s'assurer que tout fonctionne bien.
|
||
|
||
def parse_offers(rows: Collection[OfferEanQueryRow]) -> None: | ||
for chunk in get_chunks(rows, chunk_size=2_000): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne suis pas sûr de saisir l'intérêt de faire un get_chunks
ici. Est-ce qu'il ne vaudrait pas mieux just limité la requête SQL à 2k lignes ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C'est pour éviter de traiter les offres une par une. La requête SQL de base ne donne qu'un identifiant d'offre, j'ai donc préféré les regrouper par paquets de 2000 afin de ne pas avoir à les charger au fur et à mesure.
d3ab10a
to
4b48f6b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il y a un petit problème de linting.
97df1f1
to
6c4eccc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il faut tester en staging
Bug: if chunk_size was 0, the while loop would never stop since the len([]) can never be < 0.
First step: clean books, cds and vinyles. If the offer has its EAN inside its name, find the product and update its information from it. If the EAN is unknown or if the product is not allowed by the GCU, reject it.
32f77bf
to
be62564
Compare
But de la pull request
Ticket Jira (ou description si BSR) : https://passculture.atlassian.net/browse/PC-33771
Première étape visant à corriger les offres avec des EANs dans le titre : livres, CDs et vinyles.
Si l'offre a un EAN dans le titre et que celui-ci est correspond à un produit en base de données, alors son titre et ses
extraData
sont mis à jour avec les informations du produit.Si l'EAN est inconnu ou si le produit est incompatible avec les CGU, alors l'offre est rejetée.
Au passage
Fix pour la fonction
get_chunks
qui boucle indéfiniment sichunk_size < 1
parce quelen([])
vaut 0 et ne sera donc jamais strictement inférieure à 0.