Vous pouvez soumettre des demandes de modifications du code Python sur le projet HABBY https://github.com/YannIrstea/habby:
Le projet Python HABBY est hébergé sur Github accessible au lien suivant : https://github.com/YannIrstea/habby.
sudo apt-get install python3.6-dev sudo add-apt-repository ppa:ubuntugis/ppa sudo apt-get update sudo apt-get install gdal-bin ogrinfo --version sudo apt-get install libgdal-dev
pip3 install pip --upgrade pip3 install virtualenv cd ../habby_dev virtualenv --python /usr/bin/python3.6 env_virtuels/env_habby_dev_pip source env_virtuels/env_habby_dev_pip/bin/activate pip3 install gdal==X.X.X --global-option=build_ext --global-option="-I/usr/include/gdal/" pip3 install -r habby/requirements.txt python habby/habby.py
Le projet Python HABBY contient les fichiers suivants :
Dans certaines fonctions lancées en multiprocessing la fonction 'print' est modifiée pour renvoyer les warnings et erreurs au processus principale.
Pour la remettre par défaut cette fonction 'print' lors d'un débogage par exemple, utilisez le code suivant :
sys.stdout = sys.__stdout__ # import sys
RecursionError: maximum recursion depth exceeded while calling a Python object
Si vous apercevez cette erreur, c'est que vous souhaitez débogager dans un sous-process en QThread.
Pour palier à cette erreur il faut renommer temporairement le nom de la méthode “run” de la classe “MyProcessManager” du fichier “src/process_manager_mod.py” par le nom “start”.
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
git clone https://github.com/YannIrstea/habby
git clone https://<TOKEN KEY>@github.com/YannIrstea/habby.git
git status : connaitre l'état actuel du projet git checkout dev1 : changer de branche vers la branche 'dev1' du projet git checkout master : changer de branche pour revenir à la branche master du projet git pull : mettre à jour le projet local avec les dernières modifications disponible sur Github git gui : ouvrir l'interface graphique de git pour réaliser les 'commits' git push : mettre à jour le projet sur Github avec les dernières modifications du projet en local (nécessite une autorisation avec une clef TOKEN)
self.tr(‘string to translate’)
Si pas de classe ou heritage de classe qui pose problème :
from PyQt5.QtCore import QCoreApplication text = QCoreApplication.translate(‘Input’, ‘string to translate’) # ‘Input’ sera le nom de la ‘fausse’ classe dans QLinguist et ‘Neglect’ le string à traduire.
Ou
app = QApplication(sys.argv) languageTranslator = QTranslator(app) if language == 0: input_file_translation = 'Zen_EN' languageTranslator.load(input_file_translation, os.path.join(os.getcwd(), 'translation')) if language == 1: input_file_translation = 'Zen_FR' languageTranslator.load(input_file_translation, os.path.join(os.getcwd(), 'translation')) elif language == 2: input_file_translation = 'Zen_ES' languageTranslator.load(input_file_translation, os.path.join(os.getcwd(), 'translation')) app.installTranslator(languageTranslator) app.translate(‘Input’, ‘string to translate’)
python -m PyQt5.pylupdate_main habby_trans.pro
C:\habby_dev\dependence\linguist_5.13.2\lrelease.exe translation/Zen_FR.ts
pyinstaller tips/executables/habby.spec --distpath=build/pyinstaller --workpath=build/pyinstaller/temp robocopy biology build/pyinstaller/habby/biology /E > nul robocopy doc build/pyinstaller/habby/doc /E > nul robocopy model_hydro build/pyinstaller/habby/model_hydro /E > nul robocopy translation build/pyinstaller/habby/translation /E > nul robocopy file_dep build/pyinstaller/habby/file_dep /E > nul :: setup file start "" /w "C:\Program Files (x86)\Inno Script Studio\isstudio.exe" -compile tips\executables\setup_from_pyinstaller.iss
pyinstaller tips/executables/habby.spec --distpath=build/pyinstaller --workpath=build/pyinstaller/temp cp -r biology build/pyinstaller/habby/biology cp -r doc build/pyinstaller/habby/doc cp -r model_hydro build/pyinstaller/habby/model_hydro cp -r translation build/pyinstaller/habby/translation cp -r file_dep build/pyinstaller/habby/file_dep :: zip file zip -r build/pyinstaller/habby.zip build/pyinstaller/habby
La numérotation de la version du logiciel est de type versionnage sémantique X.Y.Z (ex: HABBY v1.1.1)
Par exemple HABBY v1.1.1 ⇒ HABBY v1.2.0 :