Skip to content
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

Add logic for pulling profiles and parse resumes in HFW #148

Closed
wants to merge 1 commit into from

Conversation

riquelme222
Copy link
Contributor

No description provided.

Copy link
Collaborator

@the-forest-tree the-forest-tree left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci @riquelme222 pour le travail !

Il y'a quelques modifications a apporter et aussi corriger les erreurs flake8. Si tu check la pipeline tu vas les voir.

Autrement en local tu peux faire make flake8 pour les voir.
Tu peux aussi run make style normalement c'est censé corriger une partie des erreurs possibles.

Aussi si pour acceder à l'API TeamTailor il n'y a de white listing ou truc du genre. Essaye de rajouter ce qu'il faut pour tester ta nouvelle action de manière automatique.

Comment on lines +59 to +60
def get_authorization(self) -> str:
return f"Token token={self.api_token}"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ici deux remarques:

  • Mon ressenti c'est que c'est pas la peine de rajouter une méthode au objects du type XxxxParameters. Pour que ca reste focus sur leur but initial. Cad transmettre de manière simple et directe les paramètres nécéssaires. Sauf si c'est déjà utilisé dans d'autre XxxxxParameters. De mémoire dans ce que j'ai fais moi ca ne devrait pas être le cas wa Allah a3lam

  • Sinon de manière général je pense qu'une property aurait été mieux si y'avait pas la première remarque. Vu que tu donne aucun paramètre. Ca permet de faire parameters.get_authorization plutot que parameter.get_authorization() et dans ce cas encore mieux parameters.authorization

Comment on lines +238 to +239
else:
return None
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ici pas besoin de else vu que tu return dans le if

if response.ok:
    return response.content
return None 

Aussi est ce que juste return None de manière silencieuse c'est le mieux ?
Pourquoi tu raises pas une exception pour que ca remonte ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Par rapport à la deuxième question je pense qu'une solution safe au début quand on sait pas trop comment réagi l'API en face c'est de plutot raiser.

Comme ca tu es sur que si il y'a erreur et que tu arrives pas download le resume tu auras une erreur qui est plus susceptible d'être remarqué.
Si ca se produit alors la y'aura plus de savoir sur le comportement du download des resumes et eventuellement ca permet de faire une gestion plus fine des erreurs.

Comment on lines +290 to +291
# Get candidate resume using the id since each resume
# Link is signed and available for 30sec only
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 pour le commentaire information important effectivement

}

page = 1
while True:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En fait ici je pense qu'il faut rajouter un paramètre LIMIT.
Avec un LIMIT par default et qui peut être setté via XxxxParameters

Pour le mode incrémentale c'est important. Histoire de controller combien on pull à chaque itération et éviter que ca tourne plus qu'il ne faut.

Maintenant je pense que le paramètre doit être nullable aussi. Pour que par exemple l'utilisateur en local qui veut utiliser le connecteur pour tout pull d'un coup puisse aussi le faire.

if candidate_resume_url:
binary_resume_content = download_file(candidate_resume_url)

# TODO : this can be put outside in format function
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui pour le coup je pense que ca doit être faire comme tu dis dans le commentaire.

Tu peux faire comme l'action applicant_new du connecteur Talentsoft qui écrit vers la même Warehouse de destination et mettre une fonction format par default qui fait le travail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants