Compare commits
No commits in common. "main" and "1.41" have entirely different histories.
@ -4,8 +4,7 @@ __email__ = "info@3liz.org"
|
|||||||
|
|
||||||
|
|
||||||
from qgis.core import QgsApplication
|
from qgis.core import QgsApplication
|
||||||
from qgis.PyQt.QtCore import QUrl
|
from qgis.PyQt.QtCore import Qt, QUrl
|
||||||
# from qgis.PyQt.QtCore import Qt
|
|
||||||
from qgis.PyQt.QtGui import QDesktopServices, QIcon
|
from qgis.PyQt.QtGui import QDesktopServices, QIcon
|
||||||
from qgis.PyQt.QtWidgets import QAction
|
from qgis.PyQt.QtWidgets import QAction
|
||||||
from qgis.utils import iface
|
from qgis.utils import iface
|
||||||
@ -37,7 +36,7 @@ pyperclip()
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
from .canvas_editor import AutoMap_Editor
|
from .canvas_editor import AutoMap_Editor
|
||||||
# from .style_invoke import AutoMap_Style
|
from .style_invoke import AutoMap_Style
|
||||||
except NameError:
|
except NameError:
|
||||||
print('404')
|
print('404')
|
||||||
|
|
||||||
@ -86,11 +85,11 @@ class PgAutoMap:
|
|||||||
self.toolBar.addAction(self.automap_action)
|
self.toolBar.addAction(self.automap_action)
|
||||||
self.automap_action.triggered.connect(self.open_editor)
|
self.automap_action.triggered.connect(self.open_editor)
|
||||||
|
|
||||||
# if not self.style_dock:
|
if not self.style_dock:
|
||||||
# self.style_dock = AutoMap_Style()
|
self.style_dock = AutoMap_Style()
|
||||||
|
|
||||||
# if os.environ['USERNAME'] == 'tlaveille' or os.environ['USERNAME'] == 'lpoulin' or os.environ['USERNAME'] == 'rclement':
|
if os.environ['USERNAME'] == 'tlaveille' or os.environ['USERNAME'] == 'lpoulin' or os.environ['USERNAME'] == 'rclement':
|
||||||
# iface.addDockWidget(Qt.DockWidgetArea(0x1), self.style_dock)
|
iface.addDockWidget(Qt.DockWidgetArea(0x1), self.style_dock)
|
||||||
|
|
||||||
def open_about_dialog(self):
|
def open_about_dialog(self):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -8,7 +8,7 @@ qgisMinimumVersion=3.0
|
|||||||
qgisMaximumVersion=4.99
|
qgisMaximumVersion=4.99
|
||||||
supportsQt6=True
|
supportsQt6=True
|
||||||
description=CenRa_AutoMap
|
description=CenRa_AutoMap
|
||||||
version=2.11
|
version=2.9
|
||||||
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
|
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
|
||||||
email=si_besoin@cen-rhonealpes.fr
|
email=si_besoin@cen-rhonealpes.fr
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ tracker=https://gitea.cenra-outils.org/api/v1/repos/CEN-RA/Plugin_QGIS/issues
|
|||||||
|
|
||||||
hasProcessingProvider=no
|
hasProcessingProvider=no
|
||||||
# Uncomment the following line and add your changelog:
|
# Uncomment the following line and add your changelog:
|
||||||
changelog=<h2>CenRa_AUTOMAP:</h2></br><p><h3>21/05/2026 - Version 2.11: </h3> - Optimisation des performances hors connexion.</br></p></br><p><h3>04/05/2026 - Version 2.10: </h3> - Suppression ancien logo n2000.</p></br><p><h3>12/03/2026 - Version 2.9: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>09/01/2026 - Version 2.8: </h3> - deplacement de l'echelle.</p></br><p><h3>18/12/2025 - Version 2.7: </h3> - fix de bug gitea.</p></br><p><h3>18/12/2025 - Version 2.6: </h3> - ajoue du logo n2000 et region.</p></br><p><h3>17/12/2025 - Version 2.5: </h3> - Carte n2000 mise a jour landscape et portrait.</p></br><p><h3>15/12/2025 - Version 2.4: </h3> - Landescape pour n2000.</p></br><p><h3>15/12/2025 - Version 2.3: </h3> - nouvelle mise en page n2000.</p></br><p><h3>12/12/2025 - Version 2.2: </h3> - nouvelle mise en page pour n2000.</p></br><p><h3>30/07/2025 - Version 2.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 2.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>11/04/2025 - Version 1.7: </h3> - Correctif d'orthographe.</p></br><p><h3>09/04/2025 - Version 1.6: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 1.5: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 1.4: </h3> - Mise a jour de securite.</p></br><p><h3>20/03/2025 - Version 1.3: </h3> - Fenêtre redimensionnable avec déplaçable avec la mollette sourit.</p></br><p><h3>25/02/2025 - Version 1.2: </h3> - DockWidget pour ouverture de couche avec theme.</p></br><p><h3>28/01/2025 - Version 1.1: </h3> - Multi-Composeur pris en charge.</p></br><p><h3>27/01/2025 - Version 1.0: </h3> - Version releases.</br> - Ajoute un message d'avertissement au moment d'écraser la mise en page.</br> - Ajoute prénom et nom dans la réalisation.</br> - Utilisation de Calibri.</p></br><p><h3>13/01/2025 - Version 0.1.10: </h3> - Correctif.</p></br><p><h3>07/01/2025 - Version 0.1.9: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>19/12/2024 - Version 0.1.8: </h3> - Nouvelle mise en page.</br> - Incrémentation automatique de nouveau modele de mise en page. </br> - Correctif de bug.</p></br><p><h3>21/10/2024 - Version 0.1.7: </h3> - Epurations du code.</p></br><p><h3>07/10/2024 - Version 0.1.6: </h3> - Option de bibliotheque de logo custome.</p></br><p><h3>03/10/2024 - Version 0.1.5: </h3> - Remonte la fênetre dans la pille.</br> - Gestion du nombre de colonne dans la légend.</br></p></br><p><h3>02/10/2024 - Version 0.1.4: </h3> - Mise en page plein écrant.</br></p></br><p><h3>01/10/2024 - Version 0.1.3: </h3> - Récupération du titre et sous-titre pour mise en page existente.</br> - Integration de bibliotheque de logo.</br> - Integration de gestionaire pour les source de donnée.</br> - Mise en place d'une bar d'echelle adaptative. </br></p></br><p><h3>30/09/2024 - Version 0.1.2: </h3> - Activation du thème. </br> - Ajouter une carte de suivie. </br><p></br><h3>27/09/2024 - Version 0.1.1: </h3> - Ajout d'une liste déroulante pour les sources de données. </br>- Bouton pour ajouter des fonts de carte customisés. </br>- Fonctionnalité de génération d'atlas. </p></br><p><h3>26/09/2024 - Version 0.1.0: </h3> - Lancement du plugin CenRa_AutoMap avec une seul mise en page. </p></br>
|
changelog=<h2>CenRa_AUTOMAP:</h2></br><p><h3>12/03/2026 - Version 2.9: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>09/01/2026 - Version 2.8: </h3> - deplacement de l'echelle.</p></br><p><h3>18/12/2025 - Version 2.7: </h3> - fix de bug gitea.</p></br><p><h3>18/12/2025 - Version 2.6: </h3> - ajoue du logo n2000 et region.</p></br><p><h3>17/12/2025 - Version 2.5: </h3> - Carte n2000 mise a jour landscape et portrait.</p></br><p><h3>15/12/2025 - Version 2.4: </h3> - Landescape pour n2000.</p></br><p><h3>15/12/2025 - Version 2.3: </h3> - nouvelle mise en page n2000.</p></br><p><h3>12/12/2025 - Version 2.2: </h3> - nouvelle mise en page pour n2000.</p></br><p><h3>30/07/2025 - Version 2.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 2.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>11/04/2025 - Version 1.7: </h3> - Correctif d'orthographe.</p></br><p><h3>09/04/2025 - Version 1.6: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 1.5: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 1.4: </h3> - Mise a jour de securite.</p></br><p><h3>20/03/2025 - Version 1.3: </h3> - Fenêtre redimensionnable avec déplaçable avec la mollette sourit.</p></br><p><h3>25/02/2025 - Version 1.2: </h3> - DockWidget pour ouverture de couche avec theme.</p></br><p><h3>28/01/2025 - Version 1.1: </h3> - Multi-Composeur pris en charge.</p></br><p><h3>27/01/2025 - Version 1.0: </h3> - Version releases.</br> - Ajoute un message d'avertissement au moment d'écraser la mise en page.</br> - Ajoute prénom et nom dans la réalisation.</br> - Utilisation de Calibri.</p></br><p><h3>13/01/2025 - Version 0.1.10: </h3> - Correctif.</p></br><p><h3>07/01/2025 - Version 0.1.9: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>19/12/2024 - Version 0.1.8: </h3> - Nouvelle mise en page.</br> - Incrémentation automatique de nouveau modele de mise en page. </br> - Correctif de bug.</p></br><p><h3>21/10/2024 - Version 0.1.7: </h3> - Epurations du code.</p></br><p><h3>07/10/2024 - Version 0.1.6: </h3> - Option de bibliotheque de logo custome.</p></br><p><h3>03/10/2024 - Version 0.1.5: </h3> - Remonte la fênetre dans la pille.</br> - Gestion du nombre de colonne dans la légend.</br></p></br><p><h3>02/10/2024 - Version 0.1.4: </h3> - Mise en page plein écrant.</br></p></br><p><h3>01/10/2024 - Version 0.1.3: </h3> - Récupération du titre et sous-titre pour mise en page existente.</br> - Integration de bibliotheque de logo.</br> - Integration de gestionaire pour les source de donnée.</br> - Mise en place d'une bar d'echelle adaptative. </br></p></br><p><h3>30/09/2024 - Version 0.1.2: </h3> - Activation du thème. </br> - Ajouter une carte de suivie. </br><p></br><h3>27/09/2024 - Version 0.1.1: </h3> - Ajout d'une liste déroulante pour les sources de données. </br>- Bouton pour ajouter des fonts de carte customisés. </br>- Fonctionnalité de génération d'atlas. </p></br><p><h3>26/09/2024 - Version 0.1.0: </h3> - Lancement du plugin CenRa_AutoMap avec une seul mise en page. </p></br>
|
||||||
|
|
||||||
# Tags are comma separated with spaces allowed
|
# Tags are comma separated with spaces allowed
|
||||||
tags=python
|
tags=python
|
||||||
|
|||||||
@ -36,10 +36,10 @@ def fletch_canvas(self):
|
|||||||
self.template_parameters['Arrow_background'] = False
|
self.template_parameters['Arrow_background'] = False
|
||||||
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
|
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
|
||||||
self.template_parameters['Echelle_size'] = QgsLayoutSize(50.0, 10, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_size'] = QgsLayoutSize(50.0, 10, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(140, 244, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(90, 244, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_rotate'] = 0
|
self.template_parameters['Echelle_rotate'] = 0
|
||||||
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_locals'] = QgsLayoutPoint(6, 241, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_locals'] = QgsLayoutPoint(6, 234, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_rotate'] = 0
|
self.template_parameters['Logo_rotate'] = 0
|
||||||
self.template_parameters['Titre_size'] = QgsLayoutSize(206.0, 10, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Titre_size'] = QgsLayoutSize(206.0, 10, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 3, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 3, QgsUnitTypes.LayoutMillimeters)
|
||||||
@ -56,9 +56,9 @@ def fletch_canvas(self):
|
|||||||
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(4, 13, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(4, 13, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Sous_titre_rotate'] = 0
|
self.template_parameters['Sous_titre_rotate'] = 0
|
||||||
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50.0, 13, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50.0, 13, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(130, 233, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(90, 233, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_2_rotate'] = 0
|
self.template_parameters['Echelle_2_rotate'] = 0
|
||||||
self.template_parameters['Logo_2_size'] = QgsLayoutSize(80.0, 35, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(48, 234, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(48, 234, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_2_rotate'] = 0
|
self.template_parameters['Logo_2_rotate'] = 0
|
||||||
if values_page == 'A3':
|
if values_page == 'A3':
|
||||||
@ -128,7 +128,7 @@ def fletch_canvas(self):
|
|||||||
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(247, 43, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(247, 43, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_rotate'] = 0
|
self.template_parameters['Echelle_rotate'] = 0
|
||||||
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_locals'] = QgsLayoutPoint(228, 149.0, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_locals'] = QgsLayoutPoint(209, 174.0, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_rotate'] = 0
|
self.template_parameters['Logo_rotate'] = 0
|
||||||
self.template_parameters['Titre_size'] = QgsLayoutSize(289.0, 11, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Titre_size'] = QgsLayoutSize(289.0, 11, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Titre_locals'] = QgsLayoutPoint(3, 1.0, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Titre_locals'] = QgsLayoutPoint(3, 1.0, QgsUnitTypes.LayoutMillimeters)
|
||||||
@ -147,8 +147,8 @@ def fletch_canvas(self):
|
|||||||
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50, 13, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50, 13, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(249, 30, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(249, 30, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_2_rotate'] = 0
|
self.template_parameters['Echelle_2_rotate'] = 0
|
||||||
self.template_parameters['Logo_2_size'] = QgsLayoutSize(80.0, 35, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(208, 172, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(252, 174, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_2_rotate'] = 0
|
self.template_parameters['Logo_2_rotate'] = 0
|
||||||
if values_page == 'A3':
|
if values_page == 'A3':
|
||||||
self.template_parameters['Carte_size'] = QgsLayoutSize(305.0, 273, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Carte_size'] = QgsLayoutSize(305.0, 273, QgsUnitTypes.LayoutMillimeters)
|
||||||
|
|||||||
@ -39,7 +39,7 @@ def fletch_canvas(self):
|
|||||||
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(154, 220, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(154, 220, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_rotate'] = 0
|
self.template_parameters['Echelle_rotate'] = 0
|
||||||
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_locals'] = QgsLayoutPoint(148, 267, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_locals'] = QgsLayoutPoint(160, 264, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_rotate'] = 0
|
self.template_parameters['Logo_rotate'] = 0
|
||||||
self.template_parameters['Titre_size'] = QgsLayoutSize(205.0, 10, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Titre_size'] = QgsLayoutSize(205.0, 10, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 1, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 1, QgsUnitTypes.LayoutMillimeters)
|
||||||
@ -58,8 +58,8 @@ def fletch_canvas(self):
|
|||||||
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50.0, 13, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50.0, 13, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(162, 208, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(162, 208, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_2_rotate'] = 0
|
self.template_parameters['Echelle_2_rotate'] = 0
|
||||||
self.template_parameters['Logo_2_size'] = QgsLayoutSize(80.0, 35, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(128, 234, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(160, 234, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_2_rotate'] = 0
|
self.template_parameters['Logo_2_rotate'] = 0
|
||||||
if values_page == 'A3':
|
if values_page == 'A3':
|
||||||
self.template_parameters['Carte_size'] = QgsLayoutSize(233.0, 192, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Carte_size'] = QgsLayoutSize(233.0, 192, QgsUnitTypes.LayoutMillimeters)
|
||||||
@ -125,7 +125,7 @@ def fletch_canvas(self):
|
|||||||
self.template_parameters['Arrow_background'] = False
|
self.template_parameters['Arrow_background'] = False
|
||||||
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
|
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
|
||||||
self.template_parameters['Echelle_size'] = QgsLayoutSize(50, 8, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_size'] = QgsLayoutSize(50, 8, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(138, 191, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(110, 191, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_rotate'] = 0
|
self.template_parameters['Echelle_rotate'] = 0
|
||||||
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_locals'] = QgsLayoutPoint(7, 175.0, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_locals'] = QgsLayoutPoint(7, 175.0, QgsUnitTypes.LayoutMillimeters)
|
||||||
@ -145,10 +145,10 @@ def fletch_canvas(self):
|
|||||||
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(3, 11.0, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(3, 11.0, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Sous_titre_rotate'] = 0
|
self.template_parameters['Sous_titre_rotate'] = 0
|
||||||
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50, 13, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50, 13, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(138, 180, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(110, 180, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Echelle_2_rotate'] = 0
|
self.template_parameters['Echelle_2_rotate'] = 0
|
||||||
self.template_parameters['Logo_2_size'] = QgsLayoutSize(80.0, 35, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(52, 172, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(52, 175, QgsUnitTypes.LayoutMillimeters)
|
||||||
self.template_parameters['Logo_2_rotate'] = 0
|
self.template_parameters['Logo_2_rotate'] = 0
|
||||||
if values_page == 'A3':
|
if values_page == 'A3':
|
||||||
self.template_parameters['Carte_size'] = QgsLayoutSize(200.0, 230, QgsUnitTypes.LayoutMillimeters)
|
self.template_parameters['Carte_size'] = QgsLayoutSize(200.0, 230, QgsUnitTypes.LayoutMillimeters)
|
||||||
|
|||||||
@ -12,7 +12,6 @@ from qgis.PyQt import QtCore, QtGui
|
|||||||
from qgis.PyQt.QtCore import QSettings
|
from qgis.PyQt.QtCore import QSettings
|
||||||
from qgis.PyQt import QtWidgets
|
from qgis.PyQt import QtWidgets
|
||||||
from qgis.PyQt.QtGui import QIcon
|
from qgis.PyQt.QtGui import QIcon
|
||||||
import os
|
|
||||||
|
|
||||||
from qgis.core import (
|
from qgis.core import (
|
||||||
QgsDataSourceUri,
|
QgsDataSourceUri,
|
||||||
@ -28,7 +27,6 @@ from qgis.core import (
|
|||||||
from qgis.PyQt.QtWidgets import (
|
from qgis.PyQt.QtWidgets import (
|
||||||
QDialog,
|
QDialog,
|
||||||
QPushButton,
|
QPushButton,
|
||||||
QInputDialog,
|
|
||||||
QTableWidgetItem,
|
QTableWidgetItem,
|
||||||
QMessageBox,
|
QMessageBox,
|
||||||
QVBoxLayout,
|
QVBoxLayout,
|
||||||
@ -39,7 +37,6 @@ from .tools.resources import (
|
|||||||
resources_path,
|
resources_path,
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
if os.path.exists('N:'):
|
|
||||||
from .tools.PythonSQL import login_base
|
from .tools.PythonSQL import login_base
|
||||||
except NameError:
|
except NameError:
|
||||||
print('Pas de fichier PythonSQL')
|
print('Pas de fichier PythonSQL')
|
||||||
@ -67,16 +64,13 @@ itemIconVecteur.setIcon(icon)
|
|||||||
try:
|
try:
|
||||||
account = login_base('account')
|
account = login_base('account')
|
||||||
user = account[0] # Nom d'utilisateur
|
user = account[0] # Nom d'utilisateur
|
||||||
user_save = account[0] # Nom d'utilisateur sauvegarde
|
|
||||||
mdp = account[1] # Mot de passe
|
mdp = account[1] # Mot de passe
|
||||||
mdp_save = account[1] # Mot de passe sauvegard
|
|
||||||
host = account[2] # Hôte de la base de données
|
host = account[2] # Hôte de la base de données
|
||||||
port = account[3] # Port de connexion
|
port = account[3] # Port de connexion
|
||||||
dbname = account[4] # Nom de la base de données
|
dbname = account[4] # Nom de la base de données
|
||||||
sigdb = account[5] # Base de données SIG
|
sigdb = account[5] # Base de données SIG
|
||||||
refdb = account[6] # Base de données REF
|
refdb = account[6] # Base de données REF
|
||||||
|
|
||||||
|
|
||||||
except NameError:
|
except NameError:
|
||||||
print('Fails to login DB for account')
|
print('Fails to login DB for account')
|
||||||
|
|
||||||
@ -94,7 +88,6 @@ class Flux_Editor(QDialog, EDITOR_CLASS):
|
|||||||
Classe principale de l'éditeur de flux
|
Classe principale de l'éditeur de flux
|
||||||
Gère l'interface de sélection et de chargement des couches depuis les bases de données
|
Gère l'interface de sélection et de chargement des couches depuis les bases de données
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
"""Initialisation de l'interface et des composants"""
|
"""Initialisation de l'interface et des composants"""
|
||||||
_ = parent
|
_ = parent
|
||||||
@ -183,10 +176,6 @@ class Flux_Editor(QDialog, EDITOR_CLASS):
|
|||||||
self.DeBUG.hide()
|
self.DeBUG.hide()
|
||||||
|
|
||||||
def bd_source(self):
|
def bd_source(self):
|
||||||
global user, mdp
|
|
||||||
if user != user_save or mdp != mdp_save:
|
|
||||||
user = user_save
|
|
||||||
mdp = mdp_save
|
|
||||||
"""Sélectionne la base de données source (SIG ou REF)"""
|
"""Sélectionne la base de données source (SIG ou REF)"""
|
||||||
self.activateWindow()
|
self.activateWindow()
|
||||||
bd_origine = self.comboBox_2.currentText()
|
bd_origine = self.comboBox_2.currentText()
|
||||||
@ -582,7 +571,6 @@ class Flux_Editor(QDialog, EDITOR_CLASS):
|
|||||||
self.chargement_flux()
|
self.chargement_flux()
|
||||||
|
|
||||||
def chargement_flux(self):
|
def chargement_flux(self):
|
||||||
global cur, con, dbtype
|
|
||||||
"""Charge les couches sélectionnées dans QGIS"""
|
"""Charge les couches sélectionnées dans QGIS"""
|
||||||
managerAU = QgsApplication.authManager()
|
managerAU = QgsApplication.authManager()
|
||||||
managerAU.availableAuthMethodConfigs().keys()
|
managerAU.availableAuthMethodConfigs().keys()
|
||||||
@ -618,36 +606,9 @@ class Flux_Editor(QDialog, EDITOR_CLASS):
|
|||||||
for row in range(0, self.tableWidget_2.rowCount()):
|
for row in range(0, self.tableWidget_2.rowCount()):
|
||||||
color_rgba_db = 855030089 # Code couleur pour couche dans autre BD
|
color_rgba_db = 855030089 # Code couleur pour couche dans autre BD
|
||||||
color_rgba_droit = 851150528 # Code couleur pour droits insuffisants
|
color_rgba_droit = 851150528 # Code couleur pour droits insuffisants
|
||||||
self.QMBquestionNoLogin = QMessageBox()
|
|
||||||
if self.tableWidget_2.item(row, 1).background().color().rgba() == color_rgba_droit:
|
if self.tableWidget_2.item(row, 1).background().color().rgba() == color_rgba_droit:
|
||||||
self.QMBquestionNoLogin.setWindowTitle(u"Attention !")
|
self.QMBquestion = QMessageBox.question(iface.mainWindow(), u"Attention !", "Vous ne disposez pas des droit pour la couche «" + str(self.tableWidget_2.item(row, 1).text()) + ' ' + str(self.tableWidget_2.item(row, 2).text()) + "» !", QMessageBox.StandardButton(0x00004000))
|
||||||
self.QMBquestionNoLogin.setIcon(QMessageBox.Icon.Warning)
|
elif self.tableWidget_2.item(row, 1).background().color().rgba() != color_rgba_db:
|
||||||
self.QMBquestionNoLogin.setText("Vous ne disposez pas des droit pour la couche «" + str(self.tableWidget_2.item(row, 1).text()) + ' ' + str(self.tableWidget_2.item(row, 2).text()) + "» !")
|
|
||||||
self.QMBquestionNoLogin.setStandardButtons(QMessageBox.StandardButton(0x00004000) | QMessageBox.StandardButton(0x00080000))
|
|
||||||
self.QMBquestionNoLogin = self.QMBquestionNoLogin.exec()
|
|
||||||
# self.QMBquestionNoLogin = QMessageBox.question(iface.mainWindow(), u"Attention !", "Vous ne disposez pas des droit pour la couche «" + str(self.tableWidget_2.item(row, 1).text()) + ' ' + str(self.tableWidget_2.item(row, 2).text()) + "» !", QMessageBox.StandardButton(0x00004000), QMessageBox.StandardButton(0x00080000))
|
|
||||||
if self.QMBquestionNoLogin != QMessageBox.StandardButton(0x00004000):
|
|
||||||
self.InputDialog = QInputDialog()
|
|
||||||
user_bypass = (self.InputDialog.getText(None, 'Foncier', 'Identifiant:'))[0]
|
|
||||||
mdp_bypass = (self.InputDialog.getText(None, 'Foncier', 'Mot de pass:'))[0]
|
|
||||||
|
|
||||||
global user, mdp
|
|
||||||
user = user_bypass
|
|
||||||
mdp = mdp_bypass
|
|
||||||
try:
|
|
||||||
con = psycopg2.connect("host=" + host + " port=" + port + " dbname=" + dbtype + " user=" + user + " password=" + mdp)
|
|
||||||
cur = con.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
|
||||||
except psycopg2.OperationalError:
|
|
||||||
print('password authentication failed')
|
|
||||||
user = user_save
|
|
||||||
mdp = mdp_save
|
|
||||||
|
|
||||||
else:
|
|
||||||
if user != user_save or mdp != mdp_save:
|
|
||||||
user = user_save
|
|
||||||
mdp = mdp_save
|
|
||||||
|
|
||||||
if (self.tableWidget_2.item(row, 1).background().color().rgba() != color_rgba_db) and (self.QMBquestionNoLogin != QMessageBox.StandardButton(0x00004000)):
|
|
||||||
# supression de la partie de l'url après le point d'interrogation
|
# supression de la partie de l'url après le point d'interrogation
|
||||||
if dbtype == sigdb:
|
if dbtype == sigdb:
|
||||||
code = self.tableWidget_2.item(row, 1).text()
|
code = self.tableWidget_2.item(row, 1).text()
|
||||||
@ -689,7 +650,6 @@ class Flux_Editor(QDialog, EDITOR_CLASS):
|
|||||||
|
|
||||||
# Détection du type de géométrie
|
# Détection du type de géométrie
|
||||||
geom_type = 'SELECT right(st_geometrytype(geom),-3) as a FROM ' + schema + '.' + table + ' GROUP BY a'
|
geom_type = 'SELECT right(st_geometrytype(geom),-3) as a FROM ' + schema + '.' + table + ' GROUP BY a'
|
||||||
try:
|
|
||||||
cur.execute(geom_type)
|
cur.execute(geom_type)
|
||||||
list_typegeom = cur.fetchall()
|
list_typegeom = cur.fetchall()
|
||||||
if len(list_typegeom) > 1:
|
if len(list_typegeom) > 1:
|
||||||
@ -715,18 +675,7 @@ class Flux_Editor(QDialog, EDITOR_CLASS):
|
|||||||
layer = QgsVectorLayer(uri.uri(), table, "postgres")
|
layer = QgsVectorLayer(uri.uri(), table, "postgres")
|
||||||
# Ajout de la couche au canevas QGIS
|
# Ajout de la couche au canevas QGIS
|
||||||
QgsProject.instance().addMapLayer(layer)
|
QgsProject.instance().addMapLayer(layer)
|
||||||
except psycopg2.errors.UndefinedTable:
|
|
||||||
print('Table not exist... RollBack !')
|
|
||||||
con.rollback()
|
|
||||||
except psycopg2.errors.InsufficientPrivilege:
|
|
||||||
print('Insufficient Privilege... RollBack !')
|
|
||||||
con.rollback()
|
|
||||||
except psycopg2.errors.UndefinedColumn:
|
|
||||||
print('Column "geom" does not exist... RollBack !')
|
|
||||||
con.rollback()
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if self.QMBquestionNoLogin != QMessageBox.StandardButton(0x00004000):
|
|
||||||
self.QMBquestion = QMessageBox.question(iface.mainWindow(), u"Attention !", "La couche «" + str(self.tableWidget_2.item(row, 1).text()) + ' ' + str(self.tableWidget_2.item(row, 2).text()) + "» ne ce trouve pas dans cette BD !", QMessageBox.StandardButton(0x00004000))
|
self.QMBquestion = QMessageBox.question(iface.mainWindow(), u"Attention !", "La couche «" + str(self.tableWidget_2.item(row, 1).text()) + ' ' + str(self.tableWidget_2.item(row, 2).text()) + "» ne ce trouve pas dans cette BD !", QMessageBox.StandardButton(0x00004000))
|
||||||
|
|
||||||
def combobox_custom(self):
|
def combobox_custom(self):
|
||||||
|
|||||||
@ -8,7 +8,7 @@ qgisMinimumVersion=3.0
|
|||||||
qgisMaximumVersion=4.99
|
qgisMaximumVersion=4.99
|
||||||
supportsQt6=True
|
supportsQt6=True
|
||||||
description=Permet d'ouvrire une table dans la base PostGis
|
description=Permet d'ouvrire une table dans la base PostGis
|
||||||
version=3.24
|
version=3.22
|
||||||
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
|
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
|
||||||
email=si_besoin@cen-rhonealpes.fr
|
email=si_besoin@cen-rhonealpes.fr
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ icon=icon.png
|
|||||||
# experimental flag
|
# experimental flag
|
||||||
experimental=False
|
experimental=False
|
||||||
|
|
||||||
changelog=<h2>CenRa_FLUX:</h2></br><p><h3>22/05/2026 - Version 3.24: </h3> - Option authentification pour table avec droits particuliers.</p></br><p><h3>21/05/2026 - Version 3.23: </h3> - Optimisation des performances hors connexion.</p></br><p><h3>23/03/2026 - Version 3.22: </h3> - Pache mineur.</p></br><p><h3>12/03/2026 - Version 3.21: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>05/03/2026 - Version 3.20: </h3> - Visualisation des metadonnees avec un tooltip au survol de la couche.</p></br><p><h3>26/02/2026 - Version 3.19: </h3> - Visualisation des droits pour les vues materialisees.</p></br><p><h3>25/02/2026 - Version 3.18: </h3> - Filtre par secteur geographique compatible avec les favoris.</p></br><p><h3>12/02/2026 - Version 3.17: </h3> - Favorit dans la BD Ref.</p></br><p><h3>11/02/2026 - Version 3.16: </h3> - Creation de favori et visualisation.</p></br><p><h3>10/02/2026 - Version 3.15: </h3> - Sauvegarde la recherche.</p></br><p><h3>08/12/2025 - Version 3.14: </h3> - message d'erreur pour les drois de couche sur la DB.</p></br><p><h3>08/12/2025 - Version 3.13: </h3> - Detection des droit utilisateur.</p></br><p><h3>25/09/2025 - Version 3.12: </h3> - version +1.</p></br><p><h3>25/09/2025 - Version 3.11: </h3> - Correctife sur les code 00.</p></br><p><h3>24/09/2025 - Version 3.10: </h3> - Erreur sur l ouverture des couche raster. </p></br><p><h3>24/09/2025 - Version 3.9: </h3> - bugfix lier aux extention pgsql.</p></br><p><h3>09/09/2025 - Version 3.8: </h3> - Bug REF fix.</p></br><p><h3>05/09/2025 - Version 3.7: </h3> - Ouverture de projet QGIS contenue dans la base de donnees.</p></br><p><h3>30/07/2025 - Version 3.6: </h3> - Correctife de bug.</p></br><p><h3>29/07/2025 - Version 3.5: </h3> - Bug fix sur les donnee raster.</p></br><p><h3>23/07/2025 - Version 3.4: </h3> - Ouverture raster dans la base SIG.</p></br><p><h3>23/07/2025 - Version 3.3: </h3> - Optimisation des chargement.</p></br><p><h3>22/07/2025 - Version 3.2: </h3> - Visualisation des format raster et vecteur dans REF.</p></br><p><h3>21/07/2025 - Version 3.1: </h3> - Bug fix pour l'ouverture de plus de 5 couches.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6.</p></br><p><h3>09/04/2025 - Version 2.9: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.8: </h3> - Optimisation pour le TT.</p></br><p><h3>07/04/2025 - Version 2.7: </h3> - mode debug.</p></br><p><h3>03/04/2025 - Version 2.6: </h3> - Mise a jour de securite.</p></br><p><h3>20/03/2025 - Version 2.5: </h3> - Visualisation distincte des couches ne se trouvant pas dans l'antenne.</p></br><p><h3>13/02/2025 - Version 2.4: </h3> - Ajoute redimensionnement et déplacement mollette.</p></br><p><h3>05/02/2025 - Version 2.3: </h3> - Bouton de visualisation des couches se trouvent uniquement dans le canva de la carte.</p></br><p><h3>07/01/2025 - Version 2.2: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>22/10/2024 - Version 2.1:</h3> - Correctif de bug.</br> - Evolution de la limit de 3 à 5. </br></p></br><p><h3>22/10/2024 - Version 2.0:</h3> - Reformatage du code.</br></p></br><p><h3>03/10/2024 - Version 1.14:</h3> - Remonte la fênetre dans la pille.</br></p><p><h3>13/09/2024 - Version 1.13:</h3>- MAJ sur le lien du changelog</br>- Bug-fix: Ouvre MultiPolygone et Polygon séparément.</p></br><p><h3>10/09/2024 - Version 1.11:</h3>- Ouverture de table contenant plusieurs géométries.</p></br><p><h3>26/08/2024 - Version 1.10:</h3>- Ajoute d'un changelog et vérification de mise à jour.</p>
|
changelog=<h2>CenRa_FLUX:</h2></br><p><h3>23/03/2026 - Version 3.22: </h3> - Pache mineur.</p></br><p><h3>12/03/2026 - Version 3.21: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>05/03/2026 - Version 3.20: </h3> - Visualisation des metadonnees avec un tooltip au survol de la couche.</p></br><p><h3>26/02/2026 - Version 3.19: </h3> - Visualisation des droits pour les vues materialisees.</p></br><p><h3>25/02/2026 - Version 3.18: </h3> - Filtre par secteur geographique compatible avec les favoris.</p></br><p><h3>12/02/2026 - Version 3.17: </h3> - Favorit dans la BD Ref.</p></br><p><h3>11/02/2026 - Version 3.16: </h3> - Creation de favori et visualisation.</p></br><p><h3>10/02/2026 - Version 3.15: </h3> - Sauvegarde la recherche.</p></br><p><h3>08/12/2025 - Version 3.14: </h3> - message d'erreur pour les drois de couche sur la DB.</p></br><p><h3>08/12/2025 - Version 3.13: </h3> - Detection des droit utilisateur.</p></br><p><h3>25/09/2025 - Version 3.12: </h3> - version +1.</p></br><p><h3>25/09/2025 - Version 3.11: </h3> - Correctife sur les code 00.</p></br><p><h3>24/09/2025 - Version 3.10: </h3> - Erreur sur l ouverture des couche raster. </p></br><p><h3>24/09/2025 - Version 3.9: </h3> - bugfix lier aux extention pgsql.</p></br><p><h3>09/09/2025 - Version 3.8: </h3> - Bug REF fix.</p></br><p><h3>05/09/2025 - Version 3.7: </h3> - Ouverture de projet QGIS contenue dans la base de donnees.</p></br><p><h3>30/07/2025 - Version 3.6: </h3> - Correctife de bug.</p></br><p><h3>29/07/2025 - Version 3.5: </h3> - Bug fix sur les donnee raster.</p></br><p><h3>23/07/2025 - Version 3.4: </h3> - Ouverture raster dans la base SIG.</p></br><p><h3>23/07/2025 - Version 3.3: </h3> - Optimisation des chargement.</p></br><p><h3>22/07/2025 - Version 3.2: </h3> - Visualisation des format raster et vecteur dans REF.</p></br><p><h3>21/07/2025 - Version 3.1: </h3> - Bug fix pour l'ouverture de plus de 5 couches.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6.</p></br><p><h3>09/04/2025 - Version 2.9: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.8: </h3> - Optimisation pour le TT.</p></br><p><h3>07/04/2025 - Version 2.7: </h3> - mode debug.</p></br><p><h3>03/04/2025 - Version 2.6: </h3> - Mise a jour de securite.</p></br><p><h3>20/03/2025 - Version 2.5: </h3> - Visualisation distincte des couches ne se trouvant pas dans l'antenne.</p></br><p><h3>13/02/2025 - Version 2.4: </h3> - Ajoute redimensionnement et déplacement mollette.</p></br><p><h3>05/02/2025 - Version 2.3: </h3> - Bouton de visualisation des couches se trouvent uniquement dans le canva de la carte.</p></br><p><h3>07/01/2025 - Version 2.2: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>22/10/2024 - Version 2.1:</h3> - Correctif de bug.</br> - Evolution de la limit de 3 à 5. </br></p></br><p><h3>22/10/2024 - Version 2.0:</h3> - Reformatage du code.</br></p></br><p><h3>03/10/2024 - Version 1.14:</h3> - Remonte la fênetre dans la pille.</br></p><p><h3>13/09/2024 - Version 1.13:</h3>- MAJ sur le lien du changelog</br>- Bug-fix: Ouvre MultiPolygone et Polygon séparément.</p></br><p><h3>10/09/2024 - Version 1.11:</h3>- Ouverture de table contenant plusieurs géométries.</p></br><p><h3>26/08/2024 - Version 1.10:</h3>- Ajoute d'un changelog et vérification de mise à jour.</p>
|
||||||
|
|
||||||
# deprecated flag (applies to the whole plugin, not just a single version)
|
# deprecated flag (applies to the whole plugin, not just a single version)
|
||||||
deprecated=False
|
deprecated=False
|
||||||
|
|||||||
@ -14,7 +14,7 @@ qgisMinimumVersion=3.0
|
|||||||
qgisMaximumVersion=4.99
|
qgisMaximumVersion=4.99
|
||||||
supportsQt6=True
|
supportsQt6=True
|
||||||
description=Permet de crée un dossier dans la base PostGis
|
description=Permet de crée un dossier dans la base PostGis
|
||||||
version=3.4
|
version=3.3
|
||||||
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
|
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
|
||||||
email=si_besoin@cen-rhonealpes.fr
|
email=si_besoin@cen-rhonealpes.fr
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ email=si_besoin@cen-rhonealpes.fr
|
|||||||
# Optional items:
|
# Optional items:
|
||||||
|
|
||||||
# Uncomment the following line and add your changelog entries:
|
# Uncomment the following line and add your changelog entries:
|
||||||
changelog=<h2>CenRa_POSTGIS:</h2></br><p><h3>21/05/2026 - Version 3.4: </h3> - Optimisation des performances hors connexion.</p></br><p><h3>23/03/2026 - Version 3.3: </h3> - Optimisation pour QGIS.</p></br><p><h3>12/03/2026 - Version 3.2: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>30/07/2025 - Version 3.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>09/04/2025 - Version 2.9: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.8: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 2.7: </h3> - Mise a jour de securite.</p></br><p><h3>12/02/2025 - Version 2.6: </h3> - InDev:renomé les schema et table.</p></br><p><h3>04/02/2025 - Version 2.5: </h3> - Correctif bug création de couche.</p></br><p><h3>23/01/2025 - Version 2.4: </h3> - Correctif sur les pkey.</p></br><p><h3>22/01/2025 - Version 2.3: </h3> - Correctif sur la creation de projet.</p></br><p><h3>21/01/2025 - Version 2.2: </h3> - Correctif sur la longeur des nom.</p></br><p><h3>07/01/2025 - Version 2.1: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>22/10/2024 - Version 2.0:</h3>- Refont du code.</p>
|
changelog=<h2>CenRa_POSTGIS:</h2></br><p><h3>23/03/2026 - Version 3.3: </h3> - Optimisation pour QGIS.</p></br><p><h3>12/03/2026 - Version 3.2: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>30/07/2025 - Version 3.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>09/04/2025 - Version 2.9: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.8: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 2.7: </h3> - Mise a jour de securite.</p></br><p><h3>12/02/2025 - Version 2.6: </h3> - InDev:renomé les schema et table.</p></br><p><h3>04/02/2025 - Version 2.5: </h3> - Correctif bug création de couche.</p></br><p><h3>23/01/2025 - Version 2.4: </h3> - Correctif sur les pkey.</p></br><p><h3>22/01/2025 - Version 2.3: </h3> - Correctif sur la creation de projet.</p></br><p><h3>21/01/2025 - Version 2.2: </h3> - Correctif sur la longeur des nom.</p></br><p><h3>07/01/2025 - Version 2.1: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>22/10/2024 - Version 2.0:</h3>- Refont du code.</p>
|
||||||
|
|
||||||
# tags are comma separated with spaces allowed
|
# tags are comma separated with spaces allowed
|
||||||
tags=cenra, postgis, database
|
tags=cenra, postgis, database
|
||||||
|
|||||||
@ -5,7 +5,7 @@ from __future__ import absolute_import
|
|||||||
# from builtins import next
|
# from builtins import next
|
||||||
# from builtins import str
|
# from builtins import str
|
||||||
# from builtins import object
|
# from builtins import object
|
||||||
import os
|
# import qgis
|
||||||
from qgis.PyQt.QtCore import QSettings
|
from qgis.PyQt.QtCore import QSettings
|
||||||
from qgis.PyQt.QtWidgets import QDialog, QMessageBox
|
from qgis.PyQt.QtWidgets import QDialog, QMessageBox
|
||||||
# from qgis.PyQt.QtGui import QIcon
|
# from qgis.PyQt.QtGui import QIcon
|
||||||
@ -18,7 +18,6 @@ from qgis.PyQt import QtGui
|
|||||||
from qgis.core import QgsSettings, Qgis
|
from qgis.core import QgsSettings, Qgis
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if os.path.exists('N:'):
|
|
||||||
from .tools.PythonSQL import login_base
|
from .tools.PythonSQL import login_base
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print('Pas de fichier PythonSQL')
|
print('Pas de fichier PythonSQL')
|
||||||
|
|||||||
@ -4,8 +4,8 @@ from __future__ import absolute_import
|
|||||||
# Import the PyQt and QGIS libraries
|
# Import the PyQt and QGIS libraries
|
||||||
from builtins import next
|
from builtins import next
|
||||||
from builtins import str
|
from builtins import str
|
||||||
import os
|
# from builtins import object
|
||||||
|
# import qgis
|
||||||
from qgis.PyQt.QtCore import QSettings
|
from qgis.PyQt.QtCore import QSettings
|
||||||
from qgis.PyQt.QtWidgets import QDialog, QMessageBox
|
from qgis.PyQt.QtWidgets import QDialog, QMessageBox
|
||||||
# from qgis.PyQt.QtGui import QIcon
|
# from qgis.PyQt.QtGui import QIcon
|
||||||
@ -16,7 +16,6 @@ from qgis.PyQt import QtGui
|
|||||||
from qgis.core import QgsSettings
|
from qgis.core import QgsSettings
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if os.path.exists('N:'):
|
|
||||||
from .tools.PythonSQL import login_base
|
from .tools.PythonSQL import login_base
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print('Pas de fichier PythonSQL')
|
print('Pas de fichier PythonSQL')
|
||||||
|
|||||||
@ -5,7 +5,7 @@ from __future__ import absolute_import
|
|||||||
# from builtins import next
|
# from builtins import next
|
||||||
from builtins import str
|
from builtins import str
|
||||||
# from builtins import object
|
# from builtins import object
|
||||||
import os
|
# import qgis
|
||||||
from qgis.PyQt.QtCore import QSettings
|
from qgis.PyQt.QtCore import QSettings
|
||||||
from qgis.PyQt.QtWidgets import QDialog, QMessageBox, QDialogButtonBox
|
from qgis.PyQt.QtWidgets import QDialog, QMessageBox, QDialogButtonBox
|
||||||
# from qgis.PyQt.QtGui import QIcon
|
# from qgis.PyQt.QtGui import QIcon
|
||||||
@ -18,7 +18,6 @@ from qgis.PyQt import QtGui
|
|||||||
from qgis.core import QgsSettings, QgsDataSourceUri, QgsProject
|
from qgis.core import QgsSettings, QgsDataSourceUri, QgsProject
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if os.path.exists('N:'):
|
|
||||||
from .tools.PythonSQL import login_base
|
from .tools.PythonSQL import login_base
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print('Pas de fichier PythonSQL')
|
print('Pas de fichier PythonSQL')
|
||||||
|
|||||||
18
plugins.xml
18
plugins.xml
@ -1,7 +1,7 @@
|
|||||||
<plugins>
|
<plugins>
|
||||||
<pyqgis_plugin name="CenRa_POSTGIS" version="3.4">
|
<pyqgis_plugin name="CenRa_POSTGIS" version="3.3">
|
||||||
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
|
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
|
||||||
<version>3.4</version>
|
<version>3.3</version>
|
||||||
<qgis_minimum_version>3.16</qgis_minimum_version>
|
<qgis_minimum_version>3.16</qgis_minimum_version>
|
||||||
<qgis_maximum_version>4.99</qgis_maximum_version>
|
<qgis_maximum_version>4.99</qgis_maximum_version>
|
||||||
<homepage>https://plateformesig.cenra-outils.org/</homepage>
|
<homepage>https://plateformesig.cenra-outils.org/</homepage>
|
||||||
@ -10,7 +10,7 @@
|
|||||||
<author_name>CEN-Rhone-Alpes</author_name>
|
<author_name>CEN-Rhone-Alpes</author_name>
|
||||||
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_POSTGIS.zip</download_url>
|
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_POSTGIS.zip</download_url>
|
||||||
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
|
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
|
||||||
<create_date>2026-05-21</create_date>
|
<create_date>2026-03-23</create_date>
|
||||||
<update_date>2026-03-12</update_date>
|
<update_date>2026-03-12</update_date>
|
||||||
<experimental>False</experimental>
|
<experimental>False</experimental>
|
||||||
<deprecated>False</deprecated>
|
<deprecated>False</deprecated>
|
||||||
@ -53,9 +53,9 @@
|
|||||||
<tags>cenra,sicen</tags>
|
<tags>cenra,sicen</tags>
|
||||||
</pyqgis_plugin>
|
</pyqgis_plugin>
|
||||||
|
|
||||||
<pyqgis_plugin name="CenRa_FLUX" version="3.24">
|
<pyqgis_plugin name="CenRa_FLUX" version="3.22">
|
||||||
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
|
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
|
||||||
<version>3.24</version>
|
<version>3.22</version>
|
||||||
<qgis_minimum_version>3.16</qgis_minimum_version>
|
<qgis_minimum_version>3.16</qgis_minimum_version>
|
||||||
<qgis_maximum_version>4.99</qgis_maximum_version>
|
<qgis_maximum_version>4.99</qgis_maximum_version>
|
||||||
<homepage>https://plateformesig.cenra-outils.org/</homepage>
|
<homepage>https://plateformesig.cenra-outils.org/</homepage>
|
||||||
@ -64,7 +64,7 @@
|
|||||||
<author_name>CEN-Rhone-Alpes</author_name>
|
<author_name>CEN-Rhone-Alpes</author_name>
|
||||||
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_FLUX.zip</download_url>
|
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_FLUX.zip</download_url>
|
||||||
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
|
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
|
||||||
<create_date>2026-05-22</create_date>
|
<create_date>2026-03-23</create_date>
|
||||||
<update_date>2026-03-12</update_date>
|
<update_date>2026-03-12</update_date>
|
||||||
<experimental>False</experimental>
|
<experimental>False</experimental>
|
||||||
<deprecated>False</deprecated>
|
<deprecated>False</deprecated>
|
||||||
@ -89,9 +89,9 @@
|
|||||||
<tags>cenra,metabase</tags>
|
<tags>cenra,metabase</tags>
|
||||||
</pyqgis_plugin>
|
</pyqgis_plugin>
|
||||||
|
|
||||||
<pyqgis_plugin name="CenRa_AUTOMAP" version="2.11">
|
<pyqgis_plugin name="CenRa_AUTOMAP" version="2.9">
|
||||||
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
|
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
|
||||||
<version>2.11</version>
|
<version>2.9</version>
|
||||||
<qgis_minimum_version>3.16</qgis_minimum_version>
|
<qgis_minimum_version>3.16</qgis_minimum_version>
|
||||||
<qgis_maximum_version>4.99</qgis_maximum_version>
|
<qgis_maximum_version>4.99</qgis_maximum_version>
|
||||||
<homepage>https://plateformesig.cenra-outils.org/</homepage>
|
<homepage>https://plateformesig.cenra-outils.org/</homepage>
|
||||||
@ -100,7 +100,7 @@
|
|||||||
<author_name>CEN-Rhone-Alpes</author_name>
|
<author_name>CEN-Rhone-Alpes</author_name>
|
||||||
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_AUTOMAP.zip</download_url>
|
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_AUTOMAP.zip</download_url>
|
||||||
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
|
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
|
||||||
<create_date>2026-05-21</create_date>
|
<create_date>2024-09-25</create_date>
|
||||||
<update_date>2026-03-12</update_date>
|
<update_date>2026-03-12</update_date>
|
||||||
<experimental>False</experimental>
|
<experimental>False</experimental>
|
||||||
<deprecated>False</deprecated>
|
<deprecated>False</deprecated>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user