Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte00:00:00 :Donc si on revient dans notre log ici, on voit que ça démarre bien, on a bien les variablesd'environnement qui sont chargées et les requêtes fonctionnent au début, donc pour récupérer tousles films. Je vois ici qu'il indique un traitement de 57 films et si on descend un petit peu, on voit
00:00:13 :qu'il ignore bien certains films, donc si je descends par là, on va voir en fait on a unephrase film ignoré parent de D qui est affichée dans notre loggeur en debug, donc par exemple icifilm ignoré parent de D et vous voyez en fait que c'est pour ça qu'il y a marqué 57 films, c'est
00:00:26 :qu'il récupère déjà tous les éléments, donc vous voyez il fait un traitement de total movies et parla suite ici il ignore certains films. Donc ce qu'on pourrait faire ici c'est déjà faire le filtre,
00:00:36 :donc ici je pourrais dire filtered movies, on va dire encore plus explicitement movies in 2D commeça et là je pense qu'il va, non il ne comprend pas, donc on va faire une compréhension de listeet on va dire movie for a movie in total movies et là vous voyez qu'il a compris la suite, donc
00:00:52 :le format est égal à 2D. Et là total movies, donc on a une erreur qui est affichée ici parcequ'effectivement total movies ici c'est le nombre de films, donc ce que je vais faire c'est créerune variable intermédiaire, vous voyez que là encore il ne fait pas du code forcément très
00:01:05 :propre parce qu'on a une répétition de variable, on a cette variable ici qui se retrouve égalementici, donc je vais extraire cette partie là pour faire par exemple total movies que je vais remettreau dessus, total movies qui sera donc égal à ça et là on va déplacer cette ligne vers le bas,
00:01:19 :on va récupérer les movies en 2D à partir de total movies qui cette fois ci sera bien laliste des films et ici on va mettre un nom plus explicite, on va dire number of movies et là onva bien récupérer la longueur des movies en 2D. Donc comme ça dans cette première ligne on récupère
00:01:34 :tous les films, ensuite on va filtrer avec une compréhension de liste pour récupérer uniquementles films qui sont en 2D, on va les récupérer dans cette variable et là on va récupérer dansune autre variable le nombre de films à traiter, donc on va dire qu'on traite ce nombre de films
00:01:47 :et ici on va pouvoir remplacer cette variable pour éviter la répétition et mettre, alors pastotal movies, on va mettre movies in 2D puisqu'on veut juste faire notre boucle sur les films en 2Det on va pouvoir de cette façon enlever cette vérification qu'on fait ici puisque on la fait
00:02:00 :maintenant directement dans la compréhension de liste. Donc je vais enlever ces trois lignes iciet on va remplacer également le nombre de movies ici donc avec number of movies à la place du totalmovies. Donc si je sauvegarde et que je relance déjà sur ce niveau, alors là on a encore pas
00:02:13 :mal d'erreurs, je vais l'arrêter avant qu'il aille trop loin, mais au moins vous voyez que là on abien le bon nombre de films à traiter, donc on est à 13 sur 33 et au début, si on revient tout audébut, il va dire qu'on va avoir traitement de 33 films. Donc ça fonctionne bien et maintenant
00:02:26 :on a un autre problème, c'est ici vous voyez par exemple sur certains films on a des erreurs,donc je vais descendre un petit peu, là on a des bugs, donc ça fonctionne, il arrive à récupérerles horaires et si je descends un petit peu, voilà j'ai vu un erreur qui passait, voilà erreur lors
00:02:40 :de la récupération des horaires pour le film et là on a le unique ID du film. Et si on revientici, on voit effectivement qu'on a des erreurs, donc on a une redirection et on a une page d'erreur500, donc ça veut bien dire qu'il y a un problème ici et en explorant un petit peu les données et
00:02:54 :qu'est ce qui causait problème, j'ai trouvé où se trouvait le problème, en fait c'est qu'il ne fautpas utiliser le unique ID, je vais retourner pour vous montrer sur le site quand on affiche toutesles données ici avec ce point d'API, on a l'identifiant unique ici qu'on récupérait, mais en
00:03:08 :fait cet identifiant unique ce n'est pas celui qu'il faut pour récupérer la page des films, c'est lemême problème qu'avec le 2D, en fait on a ici un autre identifiant qui lui est vraiment l'identifiantunique, le Aggregate Format Number, là vous voyez que dans ce cas-ci par exemple pour ce film c'est
00:03:23 :le même, mais il y a d'autres films, si on retourne voir par exemple dans notre terminal, on avait lefilm donc celui-là avec une erreur, donc je vais copier l'identifiant et si je reviens ici je vaisfaire un search pour trouver cet identifiant et là vous voyez qu'on retrouve notre Gladiator 2
00:03:36 :donc qui pose problème et là si on regarde ici on voit qu'on a cet identifiant trois fois etl'identifiant cette fois-ci est différent du Aggregate Format Number, donc ce Aggregate FormatNumber si je le cherche vous allez voir qu'on le trouve deux fois, on le trouve donc dans cette
00:03:51 :version de Gladiator, donc le Gladiator 2 Atmos et le Gladiator 2 normal en format 2D, donc on ale format 2D ici et on a le format Atmos ici, donc ça montre bien en fait que l'identifiant uniqueil est par rapport à ces formats, nous dans notre cas on ne récupère que les formats 2D parce que
00:04:06 :c'est ces formats qui sont affichés et donc l'identifiant de la page unique à partir desquelson va récupérer les horaires donc cette page unique qui va contenir tous les formats autantici le format Atmos que le format 2D et bien c'est cet identifiant qui va être utilisé dans l'URL.
00:04:21 :Donc ce que je vais faire c'est qu'à la place du unique ID je vais utiliser Aggregate FormatNumber donc je vais copier ce nom ici et je vais revenir dans mon script ici là on récupère UniqueID donc je vais laisser ce nom ici parce que c'est assez explicite d'avoir ce nom dans mes
00:04:34 :fichiers à moi mais là par contre dans Movie ce n'est plus le Unique ID que je veux mais leAggregate Format Number donc je sauvegarde et là vous allez voir que si je relance normalementça devrait être bon cette fois ci et en fait on voit qu'on a toujours une erreur et je viens de
00:04:46 :voir pourquoi parce qu'elle est juste ici je ne l'ai pas remplacé au bon endroit puisque là enfait c'est les datas qu'on récupère qu'on écrit sur le disque mais quand on fait le Get MovieSchedule c'est le Unique ID qu'on passe ici donc là encore pour éviter la répétition et les
00:04:59 :problèmes on pourrait récupérer cette information en haut par exemple on pourrait faire UUID iciet on dirait qu'il est égal à Movie Aggregate Number et là on passe le Unique ID comme çadirectement à cette fonction donc je le mets ici et je vais le mettre ici également UUID pour la
00:05:16 :valeur qu'on va écrire on n'est même pas forcément obligé de l'écrire dans le fichier elle ne va passervir à grand chose vu qu'on s'en sert ici pour récupérer les schedules et ce qu'on a besoin dela mettre à la fin ce n'est même pas forcément utile donc je pense que je vais même l'enlever
00:05:27 :du fichier ici puisque on n'a pas besoin d'afficher cette donnée après sur notre site web on avraiment juste besoin de la récupérer pour ensuite l'utiliser dans l'url pour récupérer les horairesdu film en question donc je sauvegarde normalement cette fois ci ça devrait être bon donc je relance
00:05:41 :et on va voir si on a encore des problèmes là je vois qu'on n'a pas d'erreur ça prend un petitpeu plus de temps sur certains films mais pour l'instant je ne vois pas d'erreur donc on va lelaisser tourner on va voir si ça a réussi à aller jusqu'à la fin sans problème donc ça fonctionne
00:05:55 :bien on voit que les 33 films ont été traités on va aller voir le fichier JSON résultant ça doitêtre celui là et on va vérifier si on a bien à peu près tout ce dont on a besoin donc on a bienla date d'export ici on a les movies avec l'url la metadata qui reste donc on a bien enlevé le
00:06:10 :unique ID et on va aller voir dans schedules normalement on devra voir les horaires pourtoutes les dates donc on a la date d'aujourd'hui on voit qu'on a des petits caractères spéciauxici donc ça on va le régler dans la prochaine partie c'est un problème d'encodage c'est destrucs assez facile à régler une fois qu'on sait ce qu'on fait mais ça peut causer pas mal de mal
00:06:27 :de tête si on ne sait pas ce qu'on fait à l'inverse donc on a les schedules ici ça semble bien avecla date que l'on va aussi modifier parce que là ce n'est pas très pratique c'est en portugais et çava pas être facile à afficher sur le site en frontend donc on va modifier ça aussi mais on a
00:06:41 :bien toutes les infos dont on a besoin donc ça fonctionne bien je vais modifier un petit peu leloggeur quand même parce que là on a des infos qui sont en debug que j'aimerais bien avoir eninfo donc par exemple ici film ajouté avec succès ou traitement du film le traitement du film je
00:06:54 :pense que je vais le mettre en info et le film ajouté aussi il ya juste voilà certaines chosesintermédiaires comme les horaires ici qui sont récupérés ou le debug avec le résultat de larequête que je n'ai pas forcément besoin d'avoir dans l'info donc on va faire juste le traitement
00:07:07 :du film et le film ajouté avec succès donc je vais venir ici je vais faire un search traitementdu film ça on va le mettre en info et film ajouté avec succès ça aussi on va le mettre en info commeça ça va nous permettre en relançant le script en mode info de voir si on a suffisamment
00:07:24 :d'informations donc là la place de debug je mets info je sauvegarde je relance et là vous voyezque ça fonctionne bien on a un affichage qui est assez succinct qui nous montre juste les traitementsqui sont faits pour l'instant vous voyez que ça va assez rapidement donc ça c'est pas très éthique
00:07:40 :parce qu'on risque de surcharger un petit peu le site de requête donc dans les prochaines partieson va voir comment rajouter un système qui va nous permettre d'attendre un petit peu entre chaquerequête avec un délai qu'on va spécifier dans notre fichier d'environnement et on va s'occuperaussi du traitement des dates et des caractères spéciaux qui n'étaient pas correctement affichés
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.