project-create generates an invalid class name when the project name starts with a digit
Évaluation
- Difficulté
- 2/5
- Temps estimé
- Moins d'une heure
- Accessibilité débutants
- 40/100
Piste de recherche
Find the code handling the project-create command in the lean-cli codebase, likely in a commands or templates directory. Look for the function that generates class names by removing non-alphanumeric characters from the project name. Add a check to prefix the result with an underscore when it starts with a digit or is empty, then add tests for project names like '2024 Momentum' and '123'.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Expected Behavior
lean project-create writes a main file that compiles, whatever the project name is.
Actual Behavior
The class name is the project name with non-alphanumeric characters removed. If the name starts with a digit, the generated class is not a valid identifier in Python or C#:
$ lean project-create --language python "2024 Momentum"
$ grep class "2024 Momentum/main.py"
class 2024Momentum(QCAlgorithm):
python -m py_compile on that file fails with SyntaxError: invalid decimal literal. A name with only digits (123) gives class 123(QCAlgorithm):. The command exits with code 0 in both cases, so the problem only shows up when the project is run.
Potential Solution
Prefix the class name with an underscore when it is empty or starts with a digit (_2024Momentum). I can open a PR with the fix and tests.
Reproducing the Problem
See the commands above.
System Information
lean-cli master at 20e58aa, Linux.
Checklist
- I have completely filled out this template
- I have confirmed that this issue exists on the current
masterbranch - I have confirmed that this is not a duplicate issue by searching issues
- Langage dominant
- Python
- Étoiles
- 327
- Forks
- 169
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de QuantConnect/lean-cli
-
lean cloud live deploy --notify-webhooks fails when the address is a URLPeut-être pris @Amadeus-22 l’a pris il y a 1 jour. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 48/100
QuantConnect/lean-cli#671 ·
-
Docker image with a registry port cannot be parsedPeut-être pris @Amadeus-22 l’a pris il y a 1 jour. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
QuantConnect/lean-cli#669 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
QuantConnect/lean-cli#661 · 1 commentaire ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
QuantConnect/lean-cli#619 ·
-
Implements AutocompletePeut-être à nouveau libre @shreejaykurhade l’a pris il y a 194 jours, et aucune pull request n’est ouverte. Ouvertefeature
QuantConnect/lean-cli#602 · 6 commentaires · 3 réactions · 1 personne assignée ·
Toutes les issues de QuantConnect/lean-cli
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
RedHatQE/mtv-api-tests#721 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
pytest-dev/pluggy#757 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
NousResearch/hermes-agent#134960 ·
Les mainteneurs répondent en général sous 1 jour
-
HTML backend: `<br>` leaks the internal sentinel U+E000 into list items, headings and captionsPeut-être pris @morten-lagabote l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
docling-project/docling#4671 ·
Les mainteneurs répondent en général sous 1 jour