Compare commits
No files matched your search
@@ -19,6 +19,8 @@ tmp
|
|||||||
*.pdf
|
*.pdf
|
||||||
*.odt
|
*.odt
|
||||||
|
|
||||||
|
!doc/**/*.pdf
|
||||||
|
|
||||||
doc/dev/images/auto_*
|
doc/dev/images/auto_*
|
||||||
doc/dev/documentation.*
|
doc/dev/documentation.*
|
||||||
!doc/dev/*.org
|
!doc/dev/*.org
|
||||||
@@ -268,6 +270,7 @@ flycheck_*.el
|
|||||||
|
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/emacs
|
# End of https://www.toptal.com/developers/gitignore/api/emacs
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/qt
|
# Created by https://www.toptal.com/developers/gitignore/api/qt
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=qt
|
# Edit at https://www.toptal.com/developers/gitignore?templates=qt
|
||||||
|
|
||||||
@@ -643,3 +646,233 @@ TSWLatexianTemp*
|
|||||||
*.glstex
|
*.glstex
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/latex
|
# End of https://www.toptal.com/developers/gitignore/api/latex
|
||||||
|
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/intellij
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=intellij
|
||||||
|
|
||||||
|
### Intellij ###
|
||||||
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||||
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
# User-specific stuff
|
||||||
|
.idea/**/workspace.xml
|
||||||
|
.idea/**/tasks.xml
|
||||||
|
.idea/**/usage.statistics.xml
|
||||||
|
.idea/**/dictionaries
|
||||||
|
.idea/**/shelf
|
||||||
|
|
||||||
|
# AWS User-specific
|
||||||
|
.idea/**/aws.xml
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
.idea/**/contentModel.xml
|
||||||
|
|
||||||
|
# Sensitive or high-churn files
|
||||||
|
.idea/**/dataSources/
|
||||||
|
.idea/**/dataSources.ids
|
||||||
|
.idea/**/dataSources.local.xml
|
||||||
|
.idea/**/sqlDataSources.xml
|
||||||
|
.idea/**/dynamic.xml
|
||||||
|
.idea/**/uiDesigner.xml
|
||||||
|
.idea/**/dbnavigator.xml
|
||||||
|
|
||||||
|
# Gradle
|
||||||
|
.idea/**/gradle.xml
|
||||||
|
.idea/**/libraries
|
||||||
|
|
||||||
|
# Gradle and Maven with auto-import
|
||||||
|
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||||
|
# since they will be recreated, and may cause churn. Uncomment if using
|
||||||
|
# auto-import.
|
||||||
|
# .idea/artifacts
|
||||||
|
# .idea/compiler.xml
|
||||||
|
# .idea/jarRepositories.xml
|
||||||
|
# .idea/modules.xml
|
||||||
|
# .idea/*.iml
|
||||||
|
# .idea/modules
|
||||||
|
# *.iml
|
||||||
|
# *.ipr
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
|
# Mongo Explorer plugin
|
||||||
|
.idea/**/mongoSettings.xml
|
||||||
|
|
||||||
|
# File-based project format
|
||||||
|
*.iws
|
||||||
|
|
||||||
|
# IntelliJ
|
||||||
|
out/
|
||||||
|
|
||||||
|
# mpeltonen/sbt-idea plugin
|
||||||
|
.idea_modules/
|
||||||
|
|
||||||
|
# JIRA plugin
|
||||||
|
atlassian-ide-plugin.xml
|
||||||
|
|
||||||
|
# Cursive Clojure plugin
|
||||||
|
.idea/replstate.xml
|
||||||
|
|
||||||
|
# SonarLint plugin
|
||||||
|
.idea/sonarlint/
|
||||||
|
|
||||||
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||||
|
com_crashlytics_export_strings.xml
|
||||||
|
crashlytics.properties
|
||||||
|
crashlytics-build.properties
|
||||||
|
fabric.properties
|
||||||
|
|
||||||
|
# Editor-based Rest Client
|
||||||
|
.idea/httpRequests
|
||||||
|
|
||||||
|
# Android studio 3.1+ serialized cache file
|
||||||
|
.idea/caches/build_file_checksums.ser
|
||||||
|
|
||||||
|
### Intellij Patch ###
|
||||||
|
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
||||||
|
|
||||||
|
# *.iml
|
||||||
|
# modules.xml
|
||||||
|
# .idea/misc.xml
|
||||||
|
# *.ipr
|
||||||
|
|
||||||
|
# Sonarlint plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7973-sonarlint
|
||||||
|
.idea/**/sonarlint/
|
||||||
|
|
||||||
|
# SonarQube Plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
|
||||||
|
.idea/**/sonarIssues.xml
|
||||||
|
|
||||||
|
# Markdown Navigator plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
|
||||||
|
.idea/**/markdown-navigator.xml
|
||||||
|
.idea/**/markdown-navigator-enh.xml
|
||||||
|
.idea/**/markdown-navigator/
|
||||||
|
|
||||||
|
# Cache file creation bug
|
||||||
|
# See https://youtrack.jetbrains.com/issue/JBR-2257
|
||||||
|
.idea/$CACHE_FILE$
|
||||||
|
|
||||||
|
# CodeStream plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/12206-codestream
|
||||||
|
.idea/codestream.xml
|
||||||
|
|
||||||
|
# Azure Toolkit for IntelliJ plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
|
||||||
|
.idea/**/azureSettings.xml
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/intellij
|
||||||
|
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode
|
||||||
|
|
||||||
|
### VisualStudioCode ###
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
!.vscode/*.code-snippets
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# Built Visual Studio Code Extensions
|
||||||
|
*.vsix
|
||||||
|
|
||||||
|
### VisualStudioCode Patch ###
|
||||||
|
# Ignore all local history of files
|
||||||
|
.history
|
||||||
|
.ionide
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode
|
||||||
|
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/linux
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=linux
|
||||||
|
|
||||||
|
### Linux ###
|
||||||
|
*~
|
||||||
|
|
||||||
|
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||||
|
.fuse_hidden*
|
||||||
|
|
||||||
|
# KDE directory preferences
|
||||||
|
.directory
|
||||||
|
|
||||||
|
# Linux trash folder which might appear on any partition or disk
|
||||||
|
.Trash-*
|
||||||
|
|
||||||
|
# .nfs files are created when an open file is removed but is still being accessed
|
||||||
|
.nfs*
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/linux
|
||||||
|
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/macos
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=macos
|
||||||
|
|
||||||
|
### macOS ###
|
||||||
|
# General
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
|
||||||
|
# Icon must end with two \r
|
||||||
|
Icon
|
||||||
|
|
||||||
|
# Thumbnails
|
||||||
|
._*
|
||||||
|
|
||||||
|
# Files that might appear in the root of a volume
|
||||||
|
.DocumentRevisions-V100
|
||||||
|
.fseventsd
|
||||||
|
.Spotlight-V100
|
||||||
|
.TemporaryItems
|
||||||
|
.Trashes
|
||||||
|
.VolumeIcon.icns
|
||||||
|
.com.apple.timemachine.donotpresent
|
||||||
|
|
||||||
|
# Directories potentially created on remote AFP share
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
||||||
|
|
||||||
|
### macOS Patch ###
|
||||||
|
# iCloud generated files
|
||||||
|
*.icloud
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/macos
|
||||||
|
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/windows
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=windows
|
||||||
|
|
||||||
|
### Windows ###
|
||||||
|
# Windows thumbnail cache files
|
||||||
|
Thumbs.db
|
||||||
|
Thumbs.db:encryptable
|
||||||
|
ehthumbs.db
|
||||||
|
ehthumbs_vista.db
|
||||||
|
|
||||||
|
# Dump file
|
||||||
|
*.stackdump
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
[Dd]esktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Windows Installer files
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msix
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# Windows shortcuts
|
||||||
|
*.lnk
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/windows
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# .gitlab-ci.yml -- Pamhyr gitlab-ci
|
# .gitlab-ci.yml -- Pamhyr gitlab-ci
|
||||||
# Copyright (C) 2023 INRAE
|
# Copyright (C) 2023-2024 INRAE
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -20,45 +20,68 @@ stages:
|
|||||||
- test
|
- test
|
||||||
- build
|
- build
|
||||||
- package
|
- package
|
||||||
|
- hash
|
||||||
|
- antivirus
|
||||||
- release
|
- release
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# DOWNLOADS #
|
# DOWNLOADS #
|
||||||
#############
|
#############
|
||||||
|
|
||||||
dl-mage-linux:
|
variables:
|
||||||
stage: downloads
|
MAGE_8_VERSION: "v8.3.6"
|
||||||
tags:
|
|
||||||
- linux
|
|
||||||
rules:
|
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
|
||||||
script:
|
|
||||||
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/v8.3.0/downloads/packages/mage_linux.tgz
|
|
||||||
- mkdir -p mage-linux
|
|
||||||
- cd mage-linux
|
|
||||||
- tar xvf ../mage.tgz
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- mage-linux/mage
|
|
||||||
- mage-linux/mage_extraire
|
|
||||||
- mage-linux/mailleurPF
|
|
||||||
|
|
||||||
dl-mage-windows:
|
dl-mage8-doc:
|
||||||
stage: downloads
|
stage: downloads
|
||||||
tags:
|
tags:
|
||||||
- linux
|
- linux
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
script:
|
script:
|
||||||
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/v8.3.0/downloads/packages/mage_windows.tgz
|
- mkdir -p doc
|
||||||
- mkdir -p mage-windows
|
- cd doc
|
||||||
- cd mage-windows
|
- curl -L -o mage8.pdf https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/documents/Mage-8_Documentation.pdf
|
||||||
- tar xvf ../mage.tgz
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- mage-windows/mage.exe
|
- doc/mage8.pdf
|
||||||
- mage-windows/mage_extraire.exe
|
|
||||||
- mage-windows/mailleurPF.exe
|
dl-mage8-linux:
|
||||||
|
stage: downloads
|
||||||
|
tags:
|
||||||
|
- linux
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- curl -L -o mage8.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/packages/mage_linux.tgz
|
||||||
|
- mkdir -p mage8-linux
|
||||||
|
- cd mage8-linux
|
||||||
|
- tar xvf ../mage8.tgz
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- mage8-linux/mage
|
||||||
|
- mage8-linux/mage_as7
|
||||||
|
- mage8-linux/mage_extraire
|
||||||
|
- mage8-linux/mailleurTT
|
||||||
|
- mage8-linux/libbief.so
|
||||||
|
|
||||||
|
dl-mage8-windows:
|
||||||
|
stage: downloads
|
||||||
|
tags:
|
||||||
|
- linux
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- curl -L -o mage8.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/packages/mage_windows.tgz
|
||||||
|
- mkdir -p mage8-windows
|
||||||
|
- cd mage8-windows
|
||||||
|
- tar xvf ../mage8.tgz
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- mage8-windows/mage.exe
|
||||||
|
- mage8-windows/mage_as7.exe
|
||||||
|
- mage8-windows/mage_extraire.exe
|
||||||
|
- mage8-windows/mailleurTT.exe
|
||||||
|
- mage8-windows/libbief.dll
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# CONFIGURE #
|
# CONFIGURE #
|
||||||
@@ -129,7 +152,24 @@ test-pep8:
|
|||||||
# BUILD #
|
# BUILD #
|
||||||
#########
|
#########
|
||||||
|
|
||||||
build-users-doc:
|
# build-users-doc:
|
||||||
|
# stage: build
|
||||||
|
# tags:
|
||||||
|
# - linux
|
||||||
|
# needs:
|
||||||
|
# - job: set-version
|
||||||
|
# artifacts: true
|
||||||
|
# script:
|
||||||
|
# - cd ./doc/users/
|
||||||
|
# - ./build.sh
|
||||||
|
# artifacts:
|
||||||
|
# paths:
|
||||||
|
# - doc/users/documentation.pdf
|
||||||
|
# - doc/users/documentation.html
|
||||||
|
# - doc/users/images/
|
||||||
|
# allow_failure: true
|
||||||
|
|
||||||
|
build-td:
|
||||||
stage: build
|
stage: build
|
||||||
tags:
|
tags:
|
||||||
- linux
|
- linux
|
||||||
@@ -137,13 +177,13 @@ build-users-doc:
|
|||||||
- job: set-version
|
- job: set-version
|
||||||
artifacts: true
|
artifacts: true
|
||||||
script:
|
script:
|
||||||
- cd ./doc/users/
|
- cd ./doc/users/Tuto1/
|
||||||
- ./build.sh
|
- ./build.sh
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- doc/users/documentation.pdf
|
- doc/users/Tuto1/step-by-step.pdf
|
||||||
- doc/users/documentation.html
|
- doc/users/Tuto1/pas-a-pas.pdf
|
||||||
- doc/users/images/
|
- doc/users/Tuto1/data/
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
build-developers-doc:
|
build-developers-doc:
|
||||||
@@ -184,7 +224,9 @@ build-linux:
|
|||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
needs:
|
needs:
|
||||||
- job: dl-mage-linux
|
- job: dl-mage8-linux
|
||||||
|
artifacts: true
|
||||||
|
- job: dl-mage8-doc
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: set-version
|
- job: set-version
|
||||||
artifacts: true
|
artifacts: true
|
||||||
@@ -192,7 +234,9 @@ build-linux:
|
|||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build-developers-doc
|
- job: build-developers-doc
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build-users-doc
|
# - job: build-users-doc
|
||||||
|
# artifacts: true
|
||||||
|
- job: build-td
|
||||||
artifacts: true
|
artifacts: true
|
||||||
script:
|
script:
|
||||||
- mkdir -p linux
|
- mkdir -p linux
|
||||||
@@ -207,28 +251,32 @@ build-linux:
|
|||||||
- pyinstaller -y --paths linux-venv/lib/python3.8/site-packages ../src/pamhyr.py
|
- pyinstaller -y --paths linux-venv/lib/python3.8/site-packages ../src/pamhyr.py
|
||||||
# Create directory
|
# Create directory
|
||||||
- mkdir -p pamhyr
|
- mkdir -p pamhyr
|
||||||
- mkdir -p pamhyr/pamhyr
|
- mkdir -p pamhyr/_internal
|
||||||
- mkdir -p pamhyr/pamhyr/_internal
|
|
||||||
# Copy Pamhyr info
|
# Copy Pamhyr info
|
||||||
- cp -v ../VERSION pamhyr/pamhyr/_internal/
|
- cp -v ../VERSION pamhyr/_internal/
|
||||||
- cp -v ../AUTHORS pamhyr/pamhyr/_internal/
|
- cp -v ../AUTHORS pamhyr/_internal/
|
||||||
- cp -v ../LICENSE pamhyr/pamhyr/_internal/
|
- cp -v ../LICENSE pamhyr/_internal/
|
||||||
- cp -v ../src/motd.txt pamhyr/pamhyr/_internal/
|
- cp -v ../src/motd.txt pamhyr/_internal/
|
||||||
# Copy mage
|
# Copy mage
|
||||||
- mkdir -p pamhyr/mage
|
- mkdir -p pamhyr/mage8
|
||||||
- cp -v ../mage-linux/* pamhyr/mage/
|
- cp -v ../mage8-linux/* pamhyr/mage8/
|
||||||
# Copy Pamhyr
|
# Copy Pamhyr
|
||||||
- cp -r dist/pamhyr pamhyr/
|
- cp -r dist/pamhyr/* pamhyr/
|
||||||
|
# Pamhyr script to force x11
|
||||||
|
- echo '#!/usr/bin/env bash' > pamhyr/pamhyr-x11
|
||||||
|
- echo "" >> pamhyr/pamhyr-x11
|
||||||
|
- echo "GDK_BACKEND=x11 ./pamhyr $@" >> pamhyr/pamhyr-x11
|
||||||
|
- chmod +x pamhyr/pamhyr-x11
|
||||||
# Copy Pamhyr resources
|
# Copy Pamhyr resources
|
||||||
- mkdir -p pamhyr/pamhyr/_internal/View
|
- mkdir -p pamhyr/_internal/View
|
||||||
- mkdir -p pamhyr/pamhyr/_internal/View/ui
|
- mkdir -p pamhyr/_internal/View/ui
|
||||||
- mkdir -p pamhyr/pamhyr/_internal/View/ui/Widgets
|
- mkdir -p pamhyr/_internal/View/ui/Widgets
|
||||||
- cp -r ../src/View/ui/*.ui pamhyr/pamhyr/_internal/View/ui/
|
- cp -r ../src/View/ui/*.ui pamhyr/_internal/View/ui/
|
||||||
- cp -r ../src/View/ui/ressources/ pamhyr/pamhyr/_internal/View/ui
|
- cp -r ../src/View/ui/ressources/ pamhyr/_internal/View/ui
|
||||||
- cp -r ../src/View/ui/Widgets/*.ui pamhyr/pamhyr/_internal/View/ui/Widgets
|
- cp -r ../src/View/ui/Widgets/*.ui pamhyr/_internal/View/ui/Widgets
|
||||||
# Copy lang
|
# Copy lang
|
||||||
- mkdir -p pamhyr/pamhyr/_internal/lang
|
- mkdir -p pamhyr/_internal/lang
|
||||||
- cp -r ../src/lang/*.qm pamhyr/pamhyr/_internal/lang
|
- cp -r ../src/lang/*.qm pamhyr/_internal/lang
|
||||||
# Copy tests cases
|
# Copy tests cases
|
||||||
- mkdir -p pamhyr/tests_cases/
|
- mkdir -p pamhyr/tests_cases/
|
||||||
- mkdir -p pamhyr/tests_cases/Saar
|
- mkdir -p pamhyr/tests_cases/Saar
|
||||||
@@ -237,17 +285,25 @@ build-linux:
|
|||||||
- mkdir -p pamhyr/doc/
|
- mkdir -p pamhyr/doc/
|
||||||
- mkdir -p pamhyr/doc/images/
|
- mkdir -p pamhyr/doc/images/
|
||||||
- mkdir -p pamhyr/doc/html/
|
- mkdir -p pamhyr/doc/html/
|
||||||
- cp ../doc/users/documentation.pdf pamhyr/doc/Pamhyr2-users.pdf
|
# - cp ../doc/users/documentation.pdf pamhyr/doc/Pamhyr2-users.pdf
|
||||||
- cp ../doc/users/documentation.html pamhyr/doc/Pamhyr2-users.html
|
# - cp ../doc/users/documentation.html pamhyr/doc/Pamhyr2-users.html
|
||||||
|
- cp ../doc/mage8.pdf pamhyr/doc/mage8.pdf
|
||||||
- cp ../doc/dev/documentation.pdf pamhyr/doc/Pamhyr2-dev.pdf
|
- cp ../doc/dev/documentation.pdf pamhyr/doc/Pamhyr2-dev.pdf
|
||||||
- cp ../doc/dev/documentation.html pamhyr/doc/Pamhyr2-dev.html
|
- cp ../doc/dev/documentation.html pamhyr/doc/Pamhyr2-dev.html
|
||||||
#- cp ../doc/users/images/* pamhyr/doc/images
|
#- cp ../doc/users/images/* pamhyr/doc/images
|
||||||
- cp ../doc/dev/images/* pamhyr/doc/images
|
- cp -r ../doc/dev/images/* pamhyr/doc/images
|
||||||
- cp ../doc/images/* pamhyr/doc/images
|
- cp -r ../doc/images/* pamhyr/doc/images
|
||||||
# Create running script
|
# Copy Tuto
|
||||||
- echo "#!/bin/sh" > pamhyr/Pamhyr2
|
- mkdir -p pamhyr/doc/Tuto1/
|
||||||
- echo "./pamhyr/pamhyr $@" >> pamhyr/Pamhyr2
|
- mkdir -p pamhyr/doc/Tuto1/data
|
||||||
- chmod u+x pamhyr/Pamhyr2
|
- cp ../doc/users/Tuto1/Hogneau_Engees2022.pdf pamhyr/doc/Tuto1/Hogneau_Engees2022.pdf
|
||||||
|
- cp ../doc/users/Tuto1/step-by-step.pdf pamhyr/doc/Tuto1/Tuto1-en.pdf
|
||||||
|
- cp ../doc/users/Tuto1/pas-a-pas.pdf pamhyr/doc/Tuto1/Tuto1-fr.pdf
|
||||||
|
- cp ../doc/users/Tuto1/*.pamhyr pamhyr/doc/Tuto1/
|
||||||
|
- cp ../doc/users/Tuto1/data/* pamhyr/doc/Tuto1/data/
|
||||||
|
# Copy TP charriage
|
||||||
|
- mkdir -p pamhyr/doc/TP_charriage/
|
||||||
|
- cp ../doc/users/TP_charriage/* pamhyr/doc/TP_charriage
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- linux/pamhyr
|
- linux/pamhyr
|
||||||
@@ -259,7 +315,9 @@ build-windows:
|
|||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
needs:
|
needs:
|
||||||
- job: dl-mage-windows
|
- job: dl-mage8-windows
|
||||||
|
artifacts: true
|
||||||
|
- job: dl-mage8-doc
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: set-version
|
- job: set-version
|
||||||
artifacts: true
|
artifacts: true
|
||||||
@@ -267,16 +325,20 @@ build-windows:
|
|||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build-developers-doc
|
- job: build-developers-doc
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build-users-doc
|
# - job: build-users-doc
|
||||||
|
# artifacts: true
|
||||||
|
- job: build-td
|
||||||
artifacts: true
|
artifacts: true
|
||||||
script:
|
script:
|
||||||
- mkdir windows
|
- mkdir windows
|
||||||
- cd windows
|
- cd windows
|
||||||
# Setup env
|
# Setup env
|
||||||
|
- python -m pip install -U pip
|
||||||
- python -m pip install -r ..\requirements.txt
|
- python -m pip install -r ..\requirements.txt
|
||||||
- python -m pip install -U -r ..\requirements.txt
|
- python -m pip install -U -r ..\requirements.txt
|
||||||
# Run Pyinstaller
|
# Run Pyinstaller
|
||||||
- pyinstaller -y ..\src\pamhyr.py
|
# - pyinstaller --noconsole -y ..\src\pamhyr.py
|
||||||
|
- pyinstaller -i ../src/View/ui/ressources/icon.ico --hide-console hide-early -y ..\src\pamhyr.py
|
||||||
# Create directory
|
# Create directory
|
||||||
- mkdir pamhyr
|
- mkdir pamhyr
|
||||||
- dir
|
- dir
|
||||||
@@ -346,6 +408,111 @@ windows-package-exe:
|
|||||||
- copy ..\packages\pamhyr.nsi pamhyr.nsi
|
- copy ..\packages\pamhyr.nsi pamhyr.nsi
|
||||||
- .\make-windows-exe.bat
|
- .\make-windows-exe.bat
|
||||||
|
|
||||||
|
########
|
||||||
|
# HASH #
|
||||||
|
########
|
||||||
|
|
||||||
|
linux-build-hash:
|
||||||
|
stage: hash
|
||||||
|
tags:
|
||||||
|
- release
|
||||||
|
- linux
|
||||||
|
needs:
|
||||||
|
- job: build-linux
|
||||||
|
artifacts: true
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- cd linux
|
||||||
|
- sha256sum -b pamhyr/pamhyr > pamhyr/pamhyr.sha256
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- linux/pamhyr/pamhyr.sha256
|
||||||
|
|
||||||
|
windows-build-hash:
|
||||||
|
stage: hash
|
||||||
|
tags:
|
||||||
|
- release
|
||||||
|
- linux
|
||||||
|
needs:
|
||||||
|
- job: build-windows
|
||||||
|
artifacts: true
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- cd windows
|
||||||
|
- sha256sum -b pamhyr/pamhyr.exe > pamhyr/pamhyr.exe.sha256
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- windows/pamhyr/pamhyr.exe.sha256
|
||||||
|
|
||||||
|
pkg-hash:
|
||||||
|
stage: hash
|
||||||
|
tags:
|
||||||
|
- release
|
||||||
|
- linux
|
||||||
|
needs:
|
||||||
|
- job: linux-package-tar
|
||||||
|
artifacts: true
|
||||||
|
- job: windows-package-zip
|
||||||
|
artifacts: true
|
||||||
|
- job: windows-package-exe
|
||||||
|
artifacts: true
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- cd windows
|
||||||
|
- sha256sum -b pamhyr-windows.exe > pamhyr-windows.exe.sha256
|
||||||
|
- sha256sum -b pamhyr-windows.zip > pamhyr-windows.zip.sha256
|
||||||
|
- cd ..
|
||||||
|
- cd linux
|
||||||
|
- sha256sum -b pamhyr-gnulinux.tar.xz > pamhyr-gnulinux.tar.xz.sha256
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- windows/pamhyr-windows.exe.sha256
|
||||||
|
- windows/pamhyr-windows.zip.sha256
|
||||||
|
- linux/pamhyr-gnulinux.tar.xz.sha256
|
||||||
|
|
||||||
|
#############
|
||||||
|
# ANTIVIRUS #
|
||||||
|
#############
|
||||||
|
|
||||||
|
build-check-clamav:
|
||||||
|
stage: antivirus
|
||||||
|
tags:
|
||||||
|
- release
|
||||||
|
- linux
|
||||||
|
needs:
|
||||||
|
- job: build-linux
|
||||||
|
artifacts: true
|
||||||
|
- job: build-windows
|
||||||
|
artifacts: true
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- cd packages
|
||||||
|
- ./clamav-scan.sh builds
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
pkg-check-clamav:
|
||||||
|
stage: antivirus
|
||||||
|
tags:
|
||||||
|
- release
|
||||||
|
- linux
|
||||||
|
needs:
|
||||||
|
- job: linux-package-tar
|
||||||
|
artifacts: true
|
||||||
|
- job: windows-package-zip
|
||||||
|
artifacts: true
|
||||||
|
- job: windows-package-exe
|
||||||
|
artifacts: true
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- cd packages
|
||||||
|
- ./clamav-scan.sh packages
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
###########
|
###########
|
||||||
# RELEASE #
|
# RELEASE #
|
||||||
###########
|
###########
|
||||||
@@ -362,10 +529,12 @@ tag-release:
|
|||||||
artifacts: true
|
artifacts: true
|
||||||
- job: windows-package-exe
|
- job: windows-package-exe
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build-users-doc
|
# - job: build-users-doc
|
||||||
artifacts: true
|
# artifacts: true
|
||||||
- job: build-developers-doc
|
- job: build-developers-doc
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
- job: pkg-hash
|
||||||
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_TAG
|
- if: $CI_COMMIT_TAG
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -373,33 +542,44 @@ tag-release:
|
|||||||
- linux/pamhyr-gnulinux.tar.xz
|
- linux/pamhyr-gnulinux.tar.xz
|
||||||
- windows/pamhyr-windows.zip
|
- windows/pamhyr-windows.zip
|
||||||
- windows/pamhyr-windows.exe
|
- windows/pamhyr-windows.exe
|
||||||
|
- linux/pamhyr-gnulinux.tar.xz.sha256
|
||||||
|
- windows/pamhyr-windows.zip.sha256
|
||||||
|
- windows/pamhyr-windows.exe.sha256
|
||||||
- doc/dev/documentation.pdf
|
- doc/dev/documentation.pdf
|
||||||
- doc/users/documentation.pdf
|
# - doc/users/documentation.pdf
|
||||||
script:
|
script:
|
||||||
- cd packages
|
- cd packages
|
||||||
release:
|
release:
|
||||||
name: '$CI_COMMIT_TAG'
|
name: '$CI_COMMIT_TAG'
|
||||||
description: 'Automatic release from tag $CI_COMMIT_TAG'
|
description: '$CI_COMMIT_TAG_MESSAGE'
|
||||||
tag_name: '$CI_COMMIT_TAG'
|
tag_name: '$CI_COMMIT_TAG'
|
||||||
ref: '$CI_COMMIT_SHA'
|
ref: '$CI_COMMIT_SHA'
|
||||||
assets:
|
assets:
|
||||||
links:
|
links:
|
||||||
|
- name: 'GNU/Linux CHECKSUM SHA256 (tar.xz)'
|
||||||
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/linux/pamhyr-gnulinux.tar.xz.sha256'
|
||||||
|
filepath: '/linux/pamhyr-gnulinux.tar.xz.sha256'
|
||||||
|
link_type: 'package'
|
||||||
- name: 'GNU/Linux (tar.xz)'
|
- name: 'GNU/Linux (tar.xz)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/linux/pamhyr-gnulinux.tar.xz'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/linux/pamhyr-gnulinux.tar.xz'
|
||||||
filepath: '/linux/pamhyr-gnulinux.tar.xz'
|
filepath: '/linux/pamhyr-gnulinux.tar.xz'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
|
- name: 'Windows CHECKSUM SHA256 (exe)'
|
||||||
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.exe.sha256'
|
||||||
|
filepath: '/windows/pamhyr-windows.exe.sha256'
|
||||||
|
link_type: 'package'
|
||||||
- name: 'Windows (exe)'
|
- name: 'Windows (exe)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.exe'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.exe'
|
||||||
filepath: '/windows/pamhyr-windows.exe'
|
filepath: '/windows/pamhyr-windows.exe'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
|
- name: 'Windows CHECKSUM SHA256 (zip)'
|
||||||
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.zip.sha256'
|
||||||
|
filepath: '/windows/pamhyr-windows.zip.sha256'
|
||||||
|
link_type: 'package'
|
||||||
- name: 'Windows (zip)'
|
- name: 'Windows (zip)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.zip'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.zip'
|
||||||
filepath: '/windows/pamhyr-windows.zip'
|
filepath: '/windows/pamhyr-windows.zip'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
- name: 'User documentations (pdf)'
|
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/doc/users/documentation.pdf'
|
|
||||||
filepath: '/doc/users/documentation.pdf'
|
|
||||||
link_type: 'other'
|
|
||||||
- name: 'Dev documentations (pdf)'
|
- name: 'Dev documentations (pdf)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/doc/dev/documentation.pdf'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/doc/dev/documentation.pdf'
|
||||||
filepath: '/doc/dev/documentation.pdf'
|
filepath: '/doc/dev/documentation.pdf'
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
Sylvain COULIBALY, INRAE, 2020 - 2022
|
Sylvain COULIBALY, INRAE, 2020 - 2022
|
||||||
Théophile TERRAZ, INRAE, 2022 - 2023
|
Théophile TERRAZ, INRAE, 2022 - 2024
|
||||||
Pierre-Antoine ROUBY, INRAE, 2023
|
Pierre-Antoine ROUBY, INRAE, 2023 - 2024
|
||||||
@@ -3,48 +3,38 @@
|
|||||||
Pamhyr is a free and open source graphical user interface for 1D hydro-sedimentary
|
Pamhyr is a free and open source graphical user interface for 1D hydro-sedimentary
|
||||||
modelling of rivers.
|
modelling of rivers.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
+ Edit a complex river hydraulics network
|
+ Define a complex river hydraulics network
|
||||||
+ Define the river geometry
|
+ Define the river geometry
|
||||||
+ Define boundary conditions
|
+ Define boundary conditions
|
||||||
+ Define lateral contribution
|
+ Define lateral contribution
|
||||||
+ Edit river friction
|
+ Define river friction
|
||||||
+ Generate initial conditions
|
+ Define reservoirs
|
||||||
+ Edit river sedimentary layers
|
+ Define hydraulic structures
|
||||||
|
+ Define or generate initial conditions
|
||||||
|
+ Define river sedimentary layers
|
||||||
+ Save the study in a unique file
|
+ Save the study in a unique file
|
||||||
+ Run Mage 8 on a study and visualize results
|
+ Run Mage 8 on a study and visualize results
|
||||||
|
|
||||||
|
Let see the
|
||||||
|
[documentation](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home)
|
||||||
|
([:fr:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home-fr),
|
||||||
|
[:gb:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home-en))
|
||||||
|
for more details.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
### GNU/Linux
|
### GNU/Linux
|
||||||
|
|
||||||
Downloads [last
|
See documentation:
|
||||||
realease](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/releases/permalink/latest)
|
- [French :fr:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home/fr/Install%20on%20GNULinux)
|
||||||
GNU/Linux binary archive.
|
- [English :gb:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home/en/Install%20on%20GNULinux)
|
||||||
|
|
||||||
```shell
|
|
||||||
tar xf pamhyr-gnulinux-amd64.tar.xz
|
|
||||||
cd pamhyr
|
|
||||||
./pamhyr
|
|
||||||
```
|
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
Downloads [last
|
See documentation:
|
||||||
realease](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/releases/permalink/latest)
|
- [French :fr:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home/fr/Install%20on%20Windows)
|
||||||
Windows installer.
|
- [English :gb:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home/en/Install%20on%20Windows)
|
||||||
|
|
||||||
### From source code
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# Get source code
|
|
||||||
git clone https://gitlab.irstea.fr/theophile.terraz/pamhyr/
|
|
||||||
cd pamhyr
|
|
||||||
|
|
||||||
# Install dependencies
|
|
||||||
pip3 install -r requirements.txt
|
|
||||||
|
|
||||||
# Run pamhyr
|
|
||||||
./src/pamhyr.py
|
|
||||||
```
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# documentation.org -- Pamhyr developers documentation
|
# documentation.org -- Pamhyr developers documentation
|
||||||
# Copyright (C) 2023 INRAE
|
# Copyright (C) 2023-2024 INRAE
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -369,6 +369,7 @@ of Bar (Listing [[sql-bar]] and [[sql-foo]]).
|
|||||||
CREATE TABLE bar (
|
CREATE TABLE bar (
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
x INTEGER NOT NULL,
|
x INTEGER NOT NULL,
|
||||||
|
y INTEGER NOT NULL,
|
||||||
foo_id INTEGER NOT NULL,
|
foo_id INTEGER NOT NULL,
|
||||||
FOREIGN KEY(foo_id) REFERENCES foo(id),
|
FOREIGN KEY(foo_id) REFERENCES foo(id),
|
||||||
)""")
|
)""")
|
||||||
@@ -455,6 +456,15 @@ of Bar (Listing [[sql-bar]] and [[sql-foo]]).
|
|||||||
bar._sql_save(execute, data=data)
|
bar._sql_save(execute, data=data)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Let see the results database scheme for Pamhyr2 at version v0.0.7 in
|
||||||
|
Figure [[sql_schema]].
|
||||||
|
|
||||||
|
#+NAME: sql_schema
|
||||||
|
#+ATTR_LATEX: :width 16cm
|
||||||
|
#+CAPTION: SQLite database scheme at Pamhyr2 version v0.0.7 (generate with [[https://gitlab.com/Screwtapello/sqlite-schema-diagram]])
|
||||||
|
[[./images/schema_v0.0.7.png]]
|
||||||
|
|
||||||
|
|
||||||
[fn:sqlite] The SQLite web site: https://www.sqlite.org/index.html
|
[fn:sqlite] The SQLite web site: https://www.sqlite.org/index.html
|
||||||
(last access 2023-09-20)
|
(last access 2023-09-20)
|
||||||
|
|
||||||
@@ -538,44 +548,44 @@ generic value from optional parameters, for examples:
|
|||||||
#+NAME: window
|
#+NAME: window
|
||||||
#+CAPTION: Example of Pamhyr2 window
|
#+CAPTION: Example of Pamhyr2 window
|
||||||
#+begin_src python :python python3 :results output :noweb yes
|
#+begin_src python :python python3 :results output :noweb yes
|
||||||
from View.Tools.PamhyrWindow import PamhyrWindow
|
from View.Tools.PamhyrWindow import PamhyrWindow
|
||||||
from View.My.Translate import MyTranslate
|
from View.My.Translate import MyTranslate
|
||||||
from View.My.Table import MyTableModel
|
from View.My.Table import MyTableModel
|
||||||
|
|
||||||
class MyWindow(PamhyrWindow):
|
class MyWindow(PamhyrWindow):
|
||||||
_pamhyr_ui = "MyUI"
|
_pamhyr_ui = "MyUI"
|
||||||
_pamhyr_name = "My window"
|
_pamhyr_name = "My window"
|
||||||
|
|
||||||
def __init__(self, my_data=None,
|
def __init__(self, study=None, config=None,
|
||||||
study=None, config=None,
|
my_data=None,
|
||||||
parent=None):
|
parent=None):
|
||||||
self._my_data = my_data
|
self._my_data = my_data
|
||||||
|
|
||||||
super(MyWindow, self).__init__(
|
super(MyWindow, self).__init__(
|
||||||
# Window title
|
# Window title
|
||||||
title = self._pamhyr_name + " - " + study.name,
|
title = self._pamhyr_name + " - " + study.name,
|
||||||
# Window standard data
|
# Window standard data
|
||||||
study = study, config = config,
|
study = study, config = config,
|
||||||
trad = MyTranslate(),
|
trad = MyTranslate(),
|
||||||
parent = parent,
|
parent = parent,
|
||||||
# Activate undo/redo and copy/paste shortcut
|
# Activate undo/redo and copy/paste shortcut
|
||||||
options = ["undo", "copy"]
|
options = ["undo", "copy"]
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add custom data to hash window computation
|
# Add custom data to hash window computation
|
||||||
self._hash_data.append(self._my_data)
|
self._hash_data.append(self._my_data)
|
||||||
|
|
||||||
# Setup custom window components
|
# Setup custom window components
|
||||||
self.setup_table()
|
self.setup_table()
|
||||||
self.setup_connections()
|
self.setup_connections()
|
||||||
|
|
||||||
def setup_table(self):
|
def setup_table(self):
|
||||||
# Init table(s)...
|
# Init table(s)...
|
||||||
|
|
||||||
def setup_connections(self):
|
def setup_connections(self):
|
||||||
# Init action connection(s)...
|
# Init action connection(s)...
|
||||||
|
|
||||||
# ...
|
# ...
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Typically we called method =setup_*=, the method to initialize some
|
Typically we called method =setup_*=, the method to initialize some
|
||||||
@@ -636,7 +646,7 @@ class AddNodeCommand(QUndoCommand):
|
|||||||
self._node = node
|
self._node = node
|
||||||
|
|
||||||
def undo(self):
|
def undo(self):
|
||||||
self._graph.remove_node(self._node.name)
|
self._graph.remove_node(self._node)
|
||||||
|
|
||||||
def redo(self):
|
def redo(self):
|
||||||
self._graph.insert_node(self._node)
|
self._graph.insert_node(self._node)
|
||||||
@@ -661,11 +671,13 @@ creation, this stack is accessible at =self._undo_stack=.
|
|||||||
|
|
||||||
*** Plot
|
*** Plot
|
||||||
|
|
||||||
To define a new plot you can create a class who inherit to APlot. The
|
To define a new plot you can create a class who inherit to
|
||||||
creator need threee argument:
|
PamhyrPlot. The creator need at leaste five argument:
|
||||||
- A =canvas= of type =MplCanvas=
|
- A =canvas= of type =MplCanvas=
|
||||||
|
- A (optional) =trad= of type =PamhyrTranslate=
|
||||||
- A =data= used in =draw= and =update= to create and update the plot
|
- A =data= used in =draw= and =update= to create and update the plot
|
||||||
- A optional =toolbar= of type =PamhyrToolbar=
|
- A optional =toolbar= of type =PamhyrToolbar=
|
||||||
|
- A =parent= window
|
||||||
This class must implement two method =draw= and =update=, the first
|
This class must implement two method =draw= and =update=, the first
|
||||||
method to draw the plot from scratch, the second to update the plot if
|
method to draw the plot from scratch, the second to update the plot if
|
||||||
data has changed.
|
data has changed.
|
||||||
@@ -673,19 +685,36 @@ data has changed.
|
|||||||
#+begin_src python :python python3 :results output :noweb yes
|
#+begin_src python :python python3 :results output :noweb yes
|
||||||
from View.Tools.PamhyrPlot import PamhyrPlot
|
from View.Tools.PamhyrPlot import PamhyrPlot
|
||||||
|
|
||||||
class MyPlot(APlot):
|
class MyPlot(PamhyrPlot):
|
||||||
def __init__(self, canvas=None, data=None, toolbar=None):
|
def __init__(self, canvas=None, trad=None, toolbar=None
|
||||||
|
data=None, parent=None):
|
||||||
super(MyPlot, self).__init__(
|
super(MyPlot, self).__init__(
|
||||||
canvas=canvas,
|
canvas=canvas,
|
||||||
|
trad=trad,
|
||||||
data=data,
|
data=data,
|
||||||
toolbar=toolbar
|
toolbar=toolbar,
|
||||||
|
parent=parent
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.label_x = self._trad["x"]
|
||||||
|
self.label_y = self._trad["y"]
|
||||||
|
|
||||||
|
# Optional configuration
|
||||||
|
self._isometric_axis = False
|
||||||
|
|
||||||
|
self._auto_relim_update = True
|
||||||
|
self._autoscale_update = True
|
||||||
|
|
||||||
def draw(self):
|
def draw(self):
|
||||||
# Draw function code...
|
# Draw function code...
|
||||||
|
|
||||||
def update(self, ind = None):
|
def update(self):
|
||||||
# Update function code...
|
# Update function code...
|
||||||
|
|
||||||
|
def clear(self):
|
||||||
|
# Clear plot values...
|
||||||
|
|
||||||
|
# ...
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Solver
|
** Solver
|
||||||
@@ -745,7 +774,7 @@ execute a code on distant computer, for example, over ssh.
|
|||||||
style=dashed;
|
style=dashed;
|
||||||
subgraph cluster021 {
|
subgraph cluster021 {
|
||||||
label="Solver Classes";
|
label="Solver Classes";
|
||||||
classSolverM7[label="Mage7", fillcolor=6];
|
//classSolverM7[label="Mage7", fillcolor=6];
|
||||||
classSolverM8[label="Mage8", fillcolor=6];
|
classSolverM8[label="Mage8", fillcolor=6];
|
||||||
classSolverR[label="RubarBE", fillcolor=6];
|
classSolverR[label="RubarBE", fillcolor=6];
|
||||||
}
|
}
|
||||||
@@ -828,7 +857,7 @@ solver and get results:
|
|||||||
- (2.1) The solver read the input file(s)
|
- (2.1) The solver read the input file(s)
|
||||||
- (2.2) The solver compute results and write it to solver output
|
- (2.2) The solver compute results and write it to solver output
|
||||||
file(s)
|
file(s)
|
||||||
- (3) Pamhyr2 create a Reuslts
|
- (3) Pamhyr2 create a =Results= object
|
||||||
- (3.1) The Pamhyr2 solver class read solver output file(s) and
|
- (3.1) The Pamhyr2 solver class read solver output file(s) and
|
||||||
complete Results with readed data
|
complete Results with readed data
|
||||||
|
|
||||||
@@ -958,8 +987,16 @@ different methods:
|
|||||||
|
|
||||||
** Unit tests
|
** Unit tests
|
||||||
|
|
||||||
The unit tests is actually not implemented in Pamhyr2, it is a *work
|
A very small part of Pamhyr2 has unit test. This part is limited to the Model.
|
||||||
in progress*.
|
|
||||||
|
#+begin_src shell
|
||||||
|
python3 -m venv test
|
||||||
|
. test test/bin/activate
|
||||||
|
pip3 install -U -r ./full-requirements.txt
|
||||||
|
|
||||||
|
cd src/
|
||||||
|
python3 -Walways -m unittest discovert -v -t .
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** The debug mode
|
** The debug mode
|
||||||
|
|
||||||
@@ -970,14 +1007,14 @@ line:
|
|||||||
./Pamhyr2 debug
|
./Pamhyr2 debug
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
This mode add some log and add two action in main window menu:
|
This mode add some log and add two action in main window menu: "About
|
||||||
"About/Debug" open a window with Python Repl in current Python
|
> Debug" open a window with Python Repl in current Python
|
||||||
environement, and "About/Debug SQLite" who open the application
|
environement, and "About > Debug SQLite" who open the application
|
||||||
SQLiteBrowser (if installed) on current Study to explore the study
|
SQLiteBrowser (if installed) on current Study to explore the study
|
||||||
data base file.
|
data base file.
|
||||||
|
|
||||||
#+NAME: debug-repl
|
#+NAME: debug-repl
|
||||||
#+ATTR_LATEX: :width 12cm
|
#+ATTR_LATEX: :width 14cm
|
||||||
#+CAPTION: Pamhyr2 debug Python REPL
|
#+CAPTION: Pamhyr2 debug Python REPL
|
||||||
[[./images/python-debug-repl.png]]
|
[[./images/python-debug-repl.png]]
|
||||||
|
|
||||||
@@ -1297,7 +1334,7 @@ https://gitlab.irstea.fr/theophile.terraz/pamhyr
|
|||||||
|
|
||||||
You can improve or add translation for the project. To contribute to
|
You can improve or add translation for the project. To contribute to
|
||||||
Pamhyr2 translate, you need to use Qt Linguist[fn:qt-linguist]. Open
|
Pamhyr2 translate, you need to use Qt Linguist[fn:qt-linguist]. Open
|
||||||
Qt-linguist and edite the translation ({{{file(.ts)}}}) file, finally,
|
Qt-linguist and edit the translation ({{{file(.ts)}}}) file, finally,
|
||||||
commit the new version of file and make a merge request.
|
commit the new version of file and make a merge request.
|
||||||
|
|
||||||
If you want add a new language, edit the script
|
If you want add a new language, edit the script
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 224 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 196 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 107 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 20 KiB |
@@ -11,7 +11,8 @@
|
|||||||
\usepackage[absolute]{textpos}
|
\usepackage[absolute]{textpos}
|
||||||
\usepackage{titlesec}
|
\usepackage{titlesec}
|
||||||
\usepackage{amssymb}
|
\usepackage{amssymb}
|
||||||
\usepackage{tcolorbox}
|
\usepackage[minted,xparse,breakable]{tcolorbox}
|
||||||
|
\usepackage{pmboxdraw}
|
||||||
|
|
||||||
\usepackage{enumitem}
|
\usepackage{enumitem}
|
||||||
\setlist[enumerate]{itemsep=-0.5em}
|
\setlist[enumerate]{itemsep=-0.5em}
|
||||||
@@ -133,6 +134,7 @@
|
|||||||
\setminted[c]{fontsize=\footnotesize,encoding=utf8,linenos}
|
\setminted[c]{fontsize=\footnotesize,encoding=utf8,linenos}
|
||||||
\setminted[c++]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
\setminted[c++]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
||||||
\setminted[python]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
\setminted[python]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
||||||
|
\setminted[sql]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
||||||
\setminted[shell]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
\setminted[shell]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
||||||
\setminted[scheme]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
\setminted[scheme]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
||||||
\setminted[commun-lisp]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
\setminted[commun-lisp]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
||||||
@@ -140,7 +142,7 @@
|
|||||||
\setminted[llvm]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
\setminted[llvm]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
||||||
|
|
||||||
%% Add box arrond of minted
|
%% Add box arrond of minted
|
||||||
\BeforeBeginEnvironment{minted}{\begin{tcolorbox}[boxsep=0pt, left=0.1cm, right=0.1cm, arc=0pt, boxrule=0.5pt, colback=white]}%
|
\BeforeBeginEnvironment{minted}{\begin{tcolorbox}[breakable, boxsep=0pt, left=0.1cm, right=0.1cm, arc=0pt, boxrule=0.5pt, colback=white]}%
|
||||||
\AfterEndEnvironment{minted}{\end{tcolorbox}}%
|
\AfterEndEnvironment{minted}{\end{tcolorbox}}%
|
||||||
|
|
||||||
\makeatletter
|
\makeatletter
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
pdflatex -no-shell-escape step-by-step.tex
|
||||||
|
pdflatex -no-shell-escape pas-a-pas.tex
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
0:00:00:00 15
|
|
||||||
0:00:01:00 15
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
**************** SINGULARITES **********************
|
|
||||||
*BieSec Nb Longueur Cote dev Cote charg Coef deb Impression
|
|
||||||
*===---===----------==========----------==========-----------------------------
|
|
||||||
*****************************************************
|
|
||||||
* Bief n° 1
|
|
||||||
*****************************************************
|
|
||||||
* Ouvrage au pk 36270.0 seuil_aval
|
|
||||||
*SeuilR type D
|
|
||||||
D 1 36270.00 18.250 15.500 0.000 0.400 99999.000 seuil palplanches
|
|
||||||
* Ouvrage au pk 31875.0 PontRS101
|
|
||||||
*OrificeR type O
|
|
||||||
O 1 31875.00 9.660 18.710 21.890 0.400 9999.000
|
|
||||||
*SeuilR type D
|
|
||||||
D 1 31875.00 14.000 22.890 0.000 0.400 99999.000
|
|
||||||
* Ouvrage au pk 34335.0 PontThivencelle
|
|
||||||
*SeuilR type D
|
|
||||||
D 1 34335.00 13.000 21.740 0.000 0.400 99999.000
|
|
||||||
*OrificeR type O
|
|
||||||
O 1 34335.00 9.070 17.280 20.740 0.400 9999.000
|
|
||||||
*****************************************************
|
|
||||||
* Bief n° 3
|
|
||||||
*****************************************************
|
|
||||||
* Ouvrage au pk 0.0 Orifice
|
|
||||||
*OrificeR type O
|
|
||||||
*O 3 0.000 6.000 19.000 19.001 0.400 20.000 Clapet_001
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
0:00:00:00 4
|
|
||||||
0:00:01:00 4
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
16,03 0
|
|
||||||
16,13 1,29
|
|
||||||
16,23 3,64
|
|
||||||
16,33 6,7
|
|
||||||
16,43 10,31
|
|
||||||
16,53 14,41
|
|
||||||
16,63 18,94
|
|
||||||
16,73 23,87
|
|
||||||
16,83 29,16
|
|
||||||
16,93 34,79
|
|
||||||
17,03 40,75
|
|
||||||
17,13 47,01
|
|
||||||
17,23 53,57
|
|
||||||
17,33 60,4
|
|
||||||
17,43 67,5
|
|
||||||
17,53 74,86
|
|
||||||
17,63 82,47
|
|
||||||
17,73 90,33
|
|
||||||
17,83 98,41
|
|
||||||
17,93 106,73
|
|
||||||
18,03 115,26
|
|
||||||
18,13 124,01
|
|
||||||
18,23 132,98
|
|
||||||
18,33 142,14
|
|
||||||
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 163 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 57 KiB |