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

[01] solve somes ruff exception in code quality #87

Merged
merged 13 commits into from
Mar 7, 2024

Conversation

rv2931
Copy link
Collaborator

@rv2931 rv2931 commented Feb 29, 2024

Ruff analyse has been configured recently and several errors are raised in code quality and make the action fail
The idea is to solve a maximum of simple to solve exceptions

@rv2931
Copy link
Collaborator Author

rv2931 commented Mar 1, 2024

J'aurais des questions sur quelques erreurs restantes :

  • app.py:37:22: F821 Undefined name marine_traffic_usecase``

j'imagine que c'est pour éviter des soit un UserCase qui fail et on le sait déjà mais alors il faudrait commenter aussi son utilisation, ou bien il faudrait décommenter et c'est censé pouvoir fonctionner ?

  • bloom/domain/vessels/vessel_trajectory.py:89:9: ANN202 Missing return type annotation for private function mpas
    bloom/domain/vessels/vessel_trajectory.py:89:20: ANN001 Missing type annotation for function argument value

Ce n'est pas bien clair le type attendu pour mpas. ça a l'air d'être une liste de géométries parfois convertie "gdf". Actuellement pour résoudre ça j'avoue ne pas savoir trop quoi mettre

  • bloom/infra/repositories/repository_alert.py : Line too long ( XXX > 96 characters)

Ce sont des requêtes SQL en dur dans le code. Au delà du fait des requêtes e ndur en elle-mêmes qui ont surement leur justification, doit-on/peut-on modifier le format pour se conformer au 96 chars de largeur ou laisse-t-on ça comme ça pour garder une éventuelle lisibilité de type requête SQL ?

@rv2931 rv2931 marked this pull request as ready for review March 1, 2024 13:58
@RonanMorgan
Copy link
Collaborator

  • ah oui c'est quand j'ai enlevé la partie scrapping de Marine Traffic. Faut que je vois avec Marthe ce qui a été décidé mais franchement cette partie la mériterait d'être refaite donc pour moi tu peux supprimer tous les appels à la partie scrapping

  • pour les mpas j'ai l'impression que c'est créé dans le fichier mpa.py

def get_closest_marine_protected_areas(
    coord: tuple[float, float] = (58.373683, -8.080092),
    radius: int = 100,
) -> (list[MPA], gpd.GeoDataFrame):
  • oui dsl la requête était tellement complexe que j'ai perdu espoir de le faire avec l'ORM ... pour moi il vaut mieux privilégier la lisibilité quite à modifier les contraintes de ruff

@rv2931
Copy link
Collaborator Author

rv2931 commented Mar 2, 2024

Ok. Tu sais s'il y a moyen de dire a Ruff d'inhiber ce type d'erreur pour un bloc de code ?

@RonanMorgan
Copy link
Collaborator

RonanMorgan commented Mar 3, 2024

juste changer dans le pyproject.toml :
line-length = 96 ça irait ou tu trouves ça trop violent juste pour les requêtes sql ?

@rv2931
Copy link
Collaborator Author

rv2931 commented Mar 5, 2024

juste changer dans le pyproject.toml : line-length = 96 ça irait ou tu trouves ça trop violent juste pour les requêtes sql ?

A priori il y a des sortes de macro ruff qu'on peut ajouter pour ignore certaines erreurs à sur certaines lignes, voir dans un fichier complet
je vais revert le reformatage des requêtes SQL et tenter des les ignorer
astral-sh/ruff#3442

rv2931 and others added 11 commits March 5, 2024 21:22
…Line too long (107 > 96 characters)

alembic/versions/961cee5426d6_create_amp_table.py:30:97: E501 Line too long (107 > 96 characters)
alembic/versions/961cee5426d6_create_amp_table.py:37:17: F821 Undefined name `Inspector`
bloom/domain/vessels/vessel_trajectory.py:125:13: SLF001 Private member accessed: `_mpas`
bloom/infra/repositories/repository_alert.py:26:1: E101 Indentation contains mixed spaces and tabs
…s. Why is commented ?

app.py:37:22: F821 Undefined name `marine_traffic_usecase`
bloom/domain/vessels/vessel_trajectory.py:89:9: ANN202 Missing return type annotation for private function `mpas`
bloom/domain/vessels/vessel_trajectory.py:89:20: ANN001 Missing type annotation for function argument `value`
…ested

 bloom/infra/repositories/repository_alert.py:24:97: E501 Line too long (288 > 96 characters)
Trawlwatcher.py:15:11: TRY003 Avoid specifying long messages outside the exception class
@rv2931 rv2931 force-pushed the ruff_fix_quality branch 2 times, most recently from 94a343f to 95b32db Compare March 5, 2024 20:27
@rv2931
Copy link
Collaborator Author

rv2931 commented Mar 5, 2024

J'ai rebase cette PR sur le main actuel, et corrigé les erreurs de qualité de code que ruff remontait
A priori tout est corrigé. Il reste des erreurs tox au niveau du build mais je ne comprends pas, je ne connais pas tox je n'arrive pas à interpréter ce qu'il remonte
Et pour le pré-commit, j'ai l'impression que c'est bon. Il met des trucs en rouge, mais j'ai l'impression que c'est parce qu'il y en avait avant et qu'elles ont été corrigées.
Je pense qu'on peut merger. @RonanMorgan tu voulais qu'on le fasse nous même le merge ?
Je ne sais pas trop avec qui coordonner ça ? quel process ?

@rv2931 rv2931 changed the title solve somes ruff exception in code quality [01] solve somes ruff exception in code quality Mar 6, 2024
@RonanMorgan RonanMorgan merged commit bc8bd68 into dataforgoodfr:main Mar 7, 2024
0 of 2 checks passed
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