diff --git a/CenRa_AUTOMAP/CenRa_AutoMap.py b/CenRa_AUTOMAP/CenRa_AutoMap.py index 88362d93..021370da 100644 --- a/CenRa_AUTOMAP/CenRa_AutoMap.py +++ b/CenRa_AUTOMAP/CenRa_AutoMap.py @@ -11,7 +11,7 @@ from qgis.utils import iface import qgis -#include +# include ''' from pg_metadata.connection_manager import ( store_connections, @@ -24,8 +24,9 @@ from pg_metadata.processing.provider import PgMetadataProvider from pg_metadata.qgis_plugin_tools.tools.custom_logging import setup_logger ''' import os +from qgis.PyQt.QtCore import QSettings from .tools.resources import ( - plugin_path, + # plugin_path, resources_path, pyperclip, maj_verif, @@ -37,9 +38,6 @@ from .style_invoke import AutoMap_Style from .about_form import AboutDialog -from qgis.PyQt.QtCore import * - - class PgAutoMap: def __init__(self): """ Constructor. """ @@ -51,18 +49,18 @@ class PgAutoMap: self.dock_action = None self.help_action = None plugin_dir = os.path.dirname(__file__) - end_find = plugin_dir.rfind('\\')+1 + end_find = plugin_dir.rfind('\\') + 1 global NAME NAME = plugin_dir[end_find:] maj_verif(NAME) # Display About window on first use - version = qgis.utils.pluginMetadata('CenRa_AUTOMAP','version') + version = qgis.utils.pluginMetadata('CenRa_AUTOMAP', 'version') s = QSettings() versionUse = s.value("automap/version", 1, type=str) - if str(versionUse) != str(version) : + if str(versionUse) != str(version): s.setValue("automap/version", str(version)) - print(versionUse,version) + print(versionUse, version) self.open_about_dialog() def initGui(self): @@ -80,7 +78,7 @@ class PgAutoMap: if not self.canvas_editor: self.canvas_editor = AutoMap_Editor() - self.automap_action = QAction(icon, 'CenRa_AutoMap',None) + self.automap_action = QAction(icon, 'CenRa_AutoMap', None) self.toolBar.addAction(self.automap_action) self.automap_action.triggered.connect(self.open_editor) @@ -129,6 +127,7 @@ class PgAutoMap: """ dialog = AboutDialog(iface) dialog.exec() + def open_help(): """ Open the online help. """ QDesktopServices.openUrl(QUrl('https://plateformesig.cenra-outils.org/')) @@ -140,7 +139,7 @@ class PgAutoMap: def unload(self): """ Unload the plugin. """ if self.canvas_editor: - iface.removePluginMenu('CenRa_AutoMap',self.automap_action) + iface.removePluginMenu('CenRa_AutoMap', self.automap_action) if self.provider: QgsApplication.processingRegistry().removeProvider(self.provider) diff --git a/CenRa_AUTOMAP/canvas_editor.py b/CenRa_AUTOMAP/canvas_editor.py index 4a1005d2..59cd00a8 100644 --- a/CenRa_AUTOMAP/canvas_editor.py +++ b/CenRa_AUTOMAP/canvas_editor.py @@ -44,7 +44,7 @@ from qgis.core import ( from qgis.PyQt.QtCore import QLocale, QUrl, QDateTime, Qt from qgis.PyQt.QtGui import QDesktopServices, QIcon, QColor, QFont, QMovie from qgis.PyQt.QtPrintSupport import QPrinter -#from qgis.PyQt.QtWebKitWidgets import QWebPage +# from qgis.PyQt.QtWebKitWidgets import QWebPage from qgis.PyQt.QtWidgets import ( QDialog, QAction, @@ -55,14 +55,13 @@ from qgis.PyQt.QtWidgets import ( QInputDialog, QMenu, QToolButton, - QTableWidget, + QTableWidget, QTableWidgetItem, QVBoxLayout, ) from qgis.PyQt.QtCore import QSettings -from qgis.PyQt import QtGui -from qgis.PyQt import QtWidgets +from qgis.PyQt import QtGui, QtWidgets from qgis.PyQt.QtXml import QDomDocument @@ -71,7 +70,7 @@ import glob from .tools.resources import ( load_ui, resources_path, - send_issues, + # send_issues, ) from .issues import CenRa_Issues @@ -84,48 +83,48 @@ url_ortho = 'http://tiles.craig.fr/ortho/service/?crs=EPSG:2154&featureCount=10& url_mnt = 'http://tiles.craig.fr/mnt/crs=EPSG:2154&featureCount=10&format=image/png&layers=relief&maxHeight=256&maxWidth=256&styles=&url=http://tiles.craig.fr/mnt' url_pente = 'http://tiles.craig.fr/mnt/crs=EPSG:2154&featureCount=10&format=image/png&layers=pente&maxHeight=256&maxWidth=256&styles=&url=http://tiles.craig.fr/mnt' data_source = [ -'CENRA', -'IGN', -'CRAIG', -'OpenStreetMap', -'Sandre', -'BRGM', -'MUSÉUM NATIONAL D’HISTOIRE NATURELLE', -"Muséum national d'Histoire naturelle", -'ONF', -'20xx LPO', -'ofb.gouv.fr', -'Stamen Design', -'MTES', -'MTES', -'FEDER', -'DREAL Auvergne-Rhône-Alpes', -'INSEE', -'DGFiP', -'Fédération des Conservatoires d’espaces naturels', -'Plan cadastral informatisé - Etalab - juillet 202X', -'Parcellaire Express - IGN - 202X', + 'CENRA', + 'IGN', + 'CRAIG', + 'OpenStreetMap', + 'Sandre', + 'BRGM', + 'MUSÉUM NATIONAL D’HISTOIRE NATURELLE', + "Muséum national d'Histoire naturelle", + 'ONF', + '20xx LPO', + 'ofb.gouv.fr', + 'Stamen Design', + 'MTES', + 'MTES', + 'FEDER', + 'DREAL Auvergne-Rhône-Alpes', + 'INSEE', + 'DGFiP', + 'Fédération des Conservatoires d’espaces naturels', + 'Plan cadastral informatisé - Etalab - juillet 202X', + 'Parcellaire Express - IGN - 202X', ] -A4_size = {'Portrait':{'RIGHT':210,'LEFT':0,'TOP':0,'BOTTOM':297},'Landscape':{'RIGHT':297,'LEFT':0,'TOP':0,'BOTTOM':210}} -A3_size = {'Portrait':{'RIGHT':298,'LEFT':0,'TOP':0,'BOTTOM':420},'Landscape':{'RIGHT':420,'LEFT':0,'TOP':0,'BOTTOM':298}} +A4_size = {'Portrait': {'RIGHT': 210, 'LEFT': 0, 'TOP': 0, 'BOTTOM': 297}, 'Landscape': {'RIGHT': 297, 'LEFT': 0, 'TOP': 0, 'BOTTOM': 210}} +A3_size = {'Portrait': {'RIGHT': 298, 'LEFT': 0, 'TOP': 0, 'BOTTOM': 420}, 'Landscape': {'RIGHT': 420, 'LEFT': 0, 'TOP': 0, 'BOTTOM': 298}} + class AutoMap_Editor(QDialog, EDITOR_CLASS): - def __init__(self, parent=None): _ = parent super().__init__() self.setupUi(self) self.settings = QgsSettings() self.s = QSettings() - self.setWindowIcon(QtGui.QIcon(resources_path('icons','icon.png'))) + self.setWindowIcon(QtGui.QIcon(resources_path('icons', 'icon.png'))) path = '' ix = 0 plugin_dir = str(os.path.dirname(os.path.abspath(__file__))).split(os.sep) for i in plugin_dir[1:]: - ix = ix+1 - path = path+'/'+i - #self.tabWidget.setStyleSheet('background-image: url('+path+'/tools/bg/Capture.png);') + ix = ix + 1 + path = path + '/' + i + # self.tabWidget.setStyleSheet('background-image: url('+path+'/tools/bg/Capture.png);') self.verticalScrollBar.hide() self.commandLinkButton.clicked.connect(self.chargement_qpt) @@ -140,13 +139,12 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.CustomeLogo.clicked.connect(self.deflogoteck) self.verticalScrollBar.valueChanged.connect(self.moveFrame) - ## On ajoute le nom des templates à la liste déroulante de l'onglet "mises en page" : + # On ajoute le nom des templates à la liste déroulante de l'onglet "mises en page" : mises_en_page = [] - for filename in glob.glob(resources_path("mises_en_pages","*.py")): + for filename in glob.glob(resources_path("mises_en_pages", "*.py")): mises_en_page.append(filename) - for i, filename in enumerate(mises_en_page): nom_fichier = os.path.basename(filename) self.comboBox.addItem(nom_fichier) @@ -154,35 +152,35 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.template_parameters = { 'Carte_size': None, - 'Carte_locals' : None, - 'Carte_rotate':None, - 'Carte_2_size' : None, - 'Carte_2_locals' : None, - 'Carte_2_rotate':None, + 'Carte_locals': None, + 'Carte_rotate': None, + 'Carte_2_size': None, + 'Carte_2_locals': None, + 'Carte_2_rotate': None, 'Legande_size': None, 'Legande_locals': None, - 'Legande_rotate':None, + 'Legande_rotate': None, 'Arrow_size': None, 'Arrow_locals': None, - 'Arrow_rotate':None, + 'Arrow_rotate': None, 'Echelle_size': None, 'Echelle_locals': None, - 'Echelle_rotate':None, + 'Echelle_rotate': None, 'Logo_size': None, 'Logo_locals': None, - 'Logo_rotate':None, - 'Titre_size':None, - 'Titre_locals':None, - 'Titre_rotate':None, - 'Sous_titre_size':None, - 'Sous_titre_locals':None, - 'Sous_titre_rotate':None, + 'Logo_rotate': None, + 'Titre_size': None, + 'Titre_locals': None, + 'Titre_rotate': None, + 'Sous_titre_size': None, + 'Sous_titre_locals': None, + 'Sous_titre_rotate': None, 'Credit_size': None, 'Credit_locals': None, - 'Credit_rotate':None, + 'Credit_rotate': None, 'Source_size': None, 'Source_locals': None, - 'Source_rotate':None, + 'Source_rotate': None, 'Logo_2_size': None, 'Logo_2_locals': None, 'Logo_2_rotate': None, @@ -198,23 +196,25 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.hide_source() self.hide_atlas() - def wheelEvent(self,event): + def wheelEvent(self, event): if (event.angleDelta().y() >= 1): - vsb = self.verticalScrollBar.value()+20 + vsb = self.verticalScrollBar.value() + 20 else: - vsb = self.verticalScrollBar.value()-20 + vsb = self.verticalScrollBar.value() - 20 self.verticalScrollBar.setValue(vsb) + def moveFrame(self): - self.frame.move(self.frame.x(),self.verticalScrollBar.value()) + self.frame.move(self.frame.x(), self.verticalScrollBar.value()) + def update_logo_library(self): self.mComboBox_4.clear() logo_library = [] - custome_bibliotech = glob.glob(self.s.value("automap/logoteck", 1, type=str)+'*.*') - for l,logo_x in enumerate(custome_bibliotech): - logo_library.append(' '+os.path.basename(logo_x)) + custome_bibliotech = glob.glob(self.s.value("automap/logoteck", 1, type=str) + '*.*') + for l, logo_x in enumerate(custome_bibliotech): + logo_library.append(' ' + os.path.basename(logo_x)) - bibliotech = glob.glob(resources_path("logo_library","*.png")) - for l,logo_x in enumerate(bibliotech): + bibliotech = glob.glob(resources_path("logo_library", "*.png")) + for l, logo_x in enumerate(bibliotech): logo_library.append(os.path.basename(logo_x)) self.mComboBox_4.addItems(sorted(logo_library)) @@ -222,7 +222,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): options = QFileDialog.Options() options |= QFileDialog.ShowDirsOnly folder = QFileDialog.getExistingDirectory(self, "Sélection du dossier parent", options=options) - return folder+'/' + return folder + '/' def deflogoteck(self): folder = self.select_file() @@ -237,16 +237,20 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): try: layout_subtitle = project_subtitle.layoutManager().layoutByName(self.comboBox_7.currentText()) self.lineEdit_3.setText(layout_subtitle.itemById("SubTitle").text()) - except: + except NameError: print("") def load_ortho(self): - global myGroup,last_group + global myGroup, last_group runing = False - try: myGroup - except NameError: runing = True - try: last_group - except NameError: last_group = '' + try: + myGroup + except NameError: + runing = True + try: + last_group + except NameError: + last_group = '' if runing or (last_group != '' and last_group != 'ortho'): layername = False layerAll = QgsProject.instance().layerTreeRoot().children() @@ -255,7 +259,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): if layeritem.name() == 'SuperFont': myGroup = layerAll[xl] layername = True - xl = xl+1 + xl = xl + 1 if layername: (QgsProject.instance().layerTreeRoot()).removeChildNode(myGroup) runing = True @@ -265,32 +269,36 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): myGroup = (QgsProject.instance().layerTreeRoot()).addGroup("SuperFont") last_group = 'ortho' - #OSM_RASTER = QgsRasterLayer(url_osm, 'OpenStreetMap Backgound', 'wms') + # OSM_RASTER = QgsRasterLayer(url_osm, 'OpenStreetMap Backgound', 'wms') ORTHO_RASTER = QgsRasterLayer(url_ortho, 'Orthophoto AURA', 'wms') MNT_RASTER = QgsRasterLayer(url_mnt, 'MNT RGE Alti (<= 1:100000)', 'wms') PENTE_RASTER = QgsRasterLayer(url_pente, 'Pente RGE Alti 0 à 90°(<= 1:100000)', 'wms') - #OSM_RASTER.loadNamedStyle(resources_path("font","osm_background.qml")) - ORTHO_RASTER.loadNamedStyle(resources_path("font","ortho_aura.qml")) - MNT_RASTER.loadNamedStyle(resources_path("font","mnt_alti.qml")) + # OSM_RASTER.loadNamedStyle(resources_path("font", "osm_background.qml")) + ORTHO_RASTER.loadNamedStyle(resources_path("font", "ortho_aura.qml")) + MNT_RASTER.loadNamedStyle(resources_path("font", "mnt_alti.qml")) - #QgsProject.instance().addMapLayer(OSM_RASTER,False) - QgsProject.instance().addMapLayer(ORTHO_RASTER,False) - QgsProject.instance().addMapLayer(MNT_RASTER,False) - QgsProject.instance().addMapLayer(PENTE_RASTER,False) + # QgsProject.instance().addMapLayer(OSM_RASTER,False) + QgsProject.instance().addMapLayer(ORTHO_RASTER, False) + QgsProject.instance().addMapLayer(MNT_RASTER, False) + QgsProject.instance().addMapLayer(PENTE_RASTER, False) - #myGroup.addLayer(OSM_RASTER) + # myGroup.addLayer(OSM_RASTER) myGroup.addLayer(ORTHO_RASTER) myGroup.addLayer(MNT_RASTER) myGroup.addLayer(PENTE_RASTER) def load_osm(self): - global myGroup,last_group + global myGroup, last_group runing = False - try: myGroup - except NameError: runing = True - try: last_group - except NameError: last_group = '' + try: + myGroup + except NameError: + runing = True + try: + last_group + except NameError: + last_group = '' if runing or (last_group != '' and last_group != 'osm'): layername = False layerAll = QgsProject.instance().layerTreeRoot().children() @@ -299,7 +307,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): if layeritem.name() == 'SuperFont': myGroup = layerAll[xl] layername = True - xl = xl+1 + xl = xl + 1 if layername: (QgsProject.instance().layerTreeRoot()).removeChildNode(myGroup) runing = True @@ -309,21 +317,21 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): last_group = 'osm' OSM_RASTER = QgsRasterLayer(url_osm, 'OpenStreetMap Backgound', 'wms') - #ORTHO_RASTER = QgsRasterLayer(url_ortho, 'Orthophoto AURA', 'wms') + # ORTHO_RASTER = QgsRasterLayer(url_ortho, 'Orthophoto AURA', 'wms') MNT_RASTER = QgsRasterLayer(url_mnt, 'MNT RGE Alti (<= 1:100000)', 'wms') PENTE_RASTER = QgsRasterLayer(url_pente, 'Pente RGE Alti 0 à 90°(<= 1:100000)', 'wms') - OSM_RASTER.loadNamedStyle(resources_path("font","osm_background.qml")) - #ORTHO_RASTER.loadNamedStyle(resources_path("font","ortho_aura.qml")) - MNT_RASTER.loadNamedStyle(resources_path("font","mnt_alti.qml")) + OSM_RASTER.loadNamedStyle(resources_path("font", "osm_background.qml")) + # ORTHO_RASTER.loadNamedStyle(resources_path("font","ortho_aura.qml")) + MNT_RASTER.loadNamedStyle(resources_path("font", "mnt_alti.qml")) - QgsProject.instance().addMapLayer(OSM_RASTER,False) - #QgsProject.instance().addMapLayer(ORTHO_RASTER,False) - QgsProject.instance().addMapLayer(MNT_RASTER,False) - QgsProject.instance().addMapLayer(PENTE_RASTER,False) + QgsProject.instance().addMapLayer(OSM_RASTER, False) + # QgsProject.instance().addMapLayer(ORTHO_RASTER,False) + QgsProject.instance().addMapLayer(MNT_RASTER, False) + QgsProject.instance().addMapLayer(PENTE_RASTER, False) myGroup.addLayer(OSM_RASTER) - #myGroup.addLayer(ORTHO_RASTER) + # myGroup.addLayer(ORTHO_RASTER) myGroup.addLayer(MNT_RASTER) myGroup.addLayer(PENTE_RASTER) @@ -365,6 +373,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.show_map() else: self.hide_map() + def show_map(self): self.groupBox_3.setEnabled(True) self.groupBox_3.show() @@ -378,6 +387,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.show_titre() else: self.hide_titre() + def show_titre(self): self.lineEdit_2.setEnabled(False) self.lineEdit_2.hide() @@ -395,6 +405,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.show_source() else: self.hide_source() + def show_source(self): self.lineEdit_4.setEnabled(False) self.lineEdit_4.hide() @@ -427,7 +438,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.comboBox_4.clear() if self.comboBox_2.currentText() != '': layer = QgsProject.instance().mapLayersByName(self.comboBox_2.currentText())[0] - #BUG sur layer.fields() pas défini sur ce qui est pas vecteur + # BUG sur layer.fields() pas défini sur ce qui est pas vecteur for vfields in layer.fields(): fields.append(vfields.name()) self.comboBox_3.addItems(sorted(fields)) @@ -443,11 +454,11 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): layout_name = self.lineEdit_2.text() layouts_list = self.manager.printLayouts() - for filename in glob.glob(resources_path("mises_en_pages","*.qpt")): + for filename in glob.glob(resources_path("mises_en_pages", "*.qpt")): with open(os.path.join(os.getcwd(), filename), 'r') as f: self.layout = QgsPrintLayout(project) self.layout.initializeDefaults() - myAtlas=self.layout.atlas() + myAtlas = self.layout.atlas() template_content = f.read() doc = QDomDocument() doc.setContent(template_content) @@ -455,12 +466,12 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): try: cutLayout = layout_name.index("¶") - except: + except NameError: cutLayout = 0 - + if cutLayout >= 1: self.layout.setName(layout_name) - titre_layout_name=layout_name[:cutLayout] + titre_layout_name = layout_name[:cutLayout] else: self.layout.setName(layout_name) titre_layout_name = layout_name @@ -473,11 +484,12 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): logo_div = A3_size['Portrait']['RIGHT'] if self.radioButton_5.isChecked() and self.radioButton_8.isChecked(): logo_div = A3_size['Portrait']['BOTTOM'] - if True:#os.path.basename(filename) == "1. Modèle carto standard (consolidé).qpt": + # os.path.basename(filename) == "1. Modèle carto standard (consolidé).qpt": + if True: self.actualisation_mise_en_page() - ## Add map to layout + # Add map to layout self.map_modele_test = QgsLayoutItemMap(self.layout) # Charger une carte vide self.map_modele_test.setRect(20, 20, 20, 20) @@ -499,18 +511,18 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): if self.radioButton_12.isChecked() == 1: self.position_map = QgsLayoutItemMap(self.layout) self.position_map.setRect(20, 20, 20, 20) - self.position_map.setExtent(QgsRectangle(641552,6647386, 995856,6331104)) + self.position_map.setExtent(QgsRectangle(641552, 6647386, 995856, 6331104)) self.position_map.setFollowVisibilityPreset(True) self.position_map.setFollowVisibilityPresetName(self.comboBox_6.currentText()) self.position_map.setItemRotation(self.template_parameters['Carte_2_rotate']) self.position_map.attemptResize(self.template_parameters['Carte_2_size']) self.position_map.attemptMove(self.template_parameters['Carte_2_locals']) self.position_map.overview().setLinkedMap(self.map_modele_test) - #overviewitem = QgsLayoutItemMapOverviewStack(self.position_map) - #map_overview = self.position_map.overview() - #map_overview.setLinkedMap(self.map_modele_test) - #map_overview.setCentered(True) - #overviewitem.addOverview(map_overview) + # overviewitem = QgsLayoutItemMapOverviewStack(self.position_map) + # map_overview = self.position_map.overview() + # map_overview.setLinkedMap(self.map_modele_test) + # map_overview.setCentered(True) + # overviewitem.addOverview(map_overview) self.position_map.refresh() self.map_modele_test.setFrameEnabled(True) @@ -525,7 +537,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.layout.addLayoutItem(self.map_modele_test) self.map_modele_test.setId("carte_principale") - ## Ajout d'un titre à la mise en page + # Ajout d'un titre à la mise en page title = QgsLayoutItemLabel(self.layout) self.layout.addLayoutItem(title) titre = titre_layout_name @@ -542,8 +554,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): title.setHAlign(Qt.AlignmentFlag(0x0004)) title.setVAlign(Qt.AlignmentFlag(0x0080)) - - ## Ajout d'un sous titre à la mise en page + # Ajout d'un sous titre à la mise en page subtitle = QgsLayoutItemLabel(self.layout) self.layout.addLayoutItem(subtitle) titre = self.lineEdit_3.text() @@ -561,20 +572,18 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): subtitle.setHAlign(Qt.AlignmentFlag(0x0004)) subtitle.setVAlign(Qt.AlignmentFlag(0x0080)) - - ## Ajout du logo CEN NA en haut à gauche de la page + # Ajout du logo CEN NA en haut à gauche de la page logo = QgsLayoutItemPicture(self.layout) logo.setResizeMode(QgsLayoutItemPicture.Zoom) logo.setMode(QgsLayoutItemPicture.FormatRaster) logo.setItemRotation(self.template_parameters['Logo_rotate']) logo.setFixedSize(self.template_parameters['Logo_size']) logo.attemptMove(self.template_parameters['Logo_locals']) - logo.setPicturePath(resources_path("icons","CEN_RA.png")) + logo.setPicturePath(resources_path("icons", "CEN_RA.png")) logo.setId('logo') self.layout.addLayoutItem(logo) - - ## Ajout de la legende : + # Ajout de la legende : legend = QgsLayoutItemLegend(self.layout) legend.setId('legende_model1') @@ -619,7 +628,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): layertreelayer = root.findLayer(layer.id()) # get the parent of the layer tree layer (layer tree root, or group) - if layertreelayer != None: + if layertreelayer is not None: parent = layertreelayer.parent() # if the parent is a group and has a name, find it and remove the layer @@ -630,7 +639,6 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): else: root_group.removeLayer(layer) - legend.setEqualColumnWidth(True) legend.setSplitLayer(True) legend.setColumnSpace(5) @@ -647,7 +655,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): legend.updateLegend() legend.attemptMove(self.template_parameters['Legande_locals']) - ## Ajout de l'échelle numeric à la mise en page + # Ajout de l'échelle numeric à la mise en page self.scalebarnumeric_qpt = QgsLayoutItemScaleBar(self.layout) self.scalebarnumeric_qpt.setStyle('Numeric') self.scalebarnumeric_qpt.setLinkedMap(self.map_modele_test) @@ -667,7 +675,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.layout.addLayoutItem(self.scalebarnumeric_qpt) - ## Ajout de l'échelle à la mise en page + # Ajout de l'échelle à la mise en page self.scalebar_qpt = QgsLayoutItemScaleBar(self.layout) self.scalebar_qpt.setStyle('Single Box') self.scalebar_qpt.setLinkedMap(self.map_modele_test) @@ -690,7 +698,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): # ajout de la fleche du Nord north = QgsLayoutItemPicture(self.layout) - north.setPicturePath(resources_path("mises_en_pages","NorthArrow_02.svg")) + north.setPicturePath(resources_path("mises_en_pages", "NorthArrow_02.svg")) self.layout.addLayoutItem(north) north.attemptMove(self.template_parameters['Arrow_locals']) north.attemptResize(self.template_parameters['Arrow_size']) @@ -701,16 +709,16 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): if self.radioButton_10.isChecked() == 1: text_source = ' ' for Item_mComboBox_3 in self.mComboBox_3.checkedItems(): - text_source = text_source+Item_mComboBox_3+',' + text_source = text_source + Item_mComboBox_3 + ',' text_source = text_source[:-1] info_text = ["Source :" + text_source][0] else: info_text = ["Source : " + self.lineEdit_4.text()][0] # ajout note info: if self.radioButton_14.isChecked() == 1: - self.s.setValue("automap/prenom_nom",self.lineEdit_5.text()) + self.s.setValue("automap/prenom_nom", self.lineEdit_5.text()) prenom_nom = self.s.value("automap/prenom_nom", 1, type=str) - info = ["Réalisation : " + "CEN Rhône-Alpes (" + date.today().strftime("%d/%m/%Y") + ") par "+prenom_nom] + info = ["Réalisation : " + "CEN Rhône-Alpes (" + date.today().strftime("%d/%m/%Y") + ") par " + prenom_nom] else: info = ["Réalisation : " + "CEN Rhône-Alpes (" + date.today().strftime("%d/%m/%Y") + ")"] credit_text = QgsLayoutItemLabel(self.layout) @@ -736,7 +744,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.layout.addLayoutItem(credit_text) self.layout.addLayoutItem(credit_text2) - ## Ajout du logo credit en bas à droit de la page + # Ajout du logo credit en bas à droit de la page len_item = (len(self.mComboBox_4.checkedItems())) for logo_run in self.mComboBox_4.checkedItems(): logo_credit = QgsLayoutItemPicture(self.layout) @@ -745,14 +753,14 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): cur_x = self.template_parameters['Logo_2_locals'].x() logo_credit.attemptMove(self.template_parameters['Logo_2_locals']) print(logo_credit.pictureAnchor()) - #logo_credit.setPictureAnchor(4) - self.template_parameters['Logo_2_locals'].setX(cur_x+(logo_div/len_item)) + # logo_credit.setPictureAnchor(4) + self.template_parameters['Logo_2_locals'].setX(cur_x + (logo_div / len_item)) logo_credit.setFixedSize(self.template_parameters['Logo_2_size']) if logo_run[0] == ' ': - logo_credit.setPicturePath(self.s.value("automap/logoteck", 1, type=str)+logo_run[1:]) + logo_credit.setPicturePath(self.s.value("automap/logoteck", 1, type=str) + logo_run[1:]) else: - logo_credit.setPicturePath(resources_path("logo_library",logo_run)) - logo_credit.setId('logo_'+logo_run) + logo_credit.setPicturePath(resources_path("logo_library", logo_run)) + logo_credit.setId('logo_' + logo_run) logo_credit.setBackgroundEnabled(True) logo_credit.setBackgroundColor(QColor(255, 255, 255, 130)) self.layout.addLayoutItem(logo_credit) @@ -767,33 +775,31 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): self.QMBquestion.setWindowTitle(u"Attention !") self.QMBquestion.setIcon(QMessageBox.Icon.Warning) self.QMBquestion.setText("Mise en page existante, la mise en page va être écrasée !") - self.QMBquestion.setStandardButtons(QMessageBox.StandardButton(0x00004000)|QMessageBox.StandardButton(0x00010000)) + self.QMBquestion.setStandardButtons(QMessageBox.StandardButton(0x00004000) | QMessageBox.StandardButton(0x00010000)) self.QMBquestion.addButton(QPushButton('Autre mise en page'),QMessageBox.ButtonRole(0)) self.QMBquestion = self.QMBquestion.exec() - #if self.radioButton_12.isChecked() != 1: + # if self.radioButton_12.isChecked() != 1: if self.QMBquestion == QMessageBox.StandardButton(0x00004000): project.layoutManager().removeLayout(existing_layout) result = project.layoutManager().addLayout(self.layout) elif self.QMBquestion != QMessageBox.StandardButton(0x00010000): - LayoutCOUNT=0 + LayoutCOUNT = 0 arrayManager = [] for AddArrayManager in project.layoutManager().layouts(): arrayManager.append(AddArrayManager.name()) arrayManager.sort() for LayoutNAME in arrayManager: if LayoutNAME == layout_name: - LayoutCOUNT = LayoutCOUNT+1 - if LayoutNAME == layout_name+"¶"+str(LayoutCOUNT): - LayoutCOUNT=LayoutCOUNT+1 - layout_name = (layout_name+"¶"+str(LayoutCOUNT)) + LayoutCOUNT = LayoutCOUNT + 1 + if LayoutNAME == layout_name + "¶" + str(LayoutCOUNT): + LayoutCOUNT = LayoutCOUNT + 1 + layout_name = (layout_name + "¶" + str(LayoutCOUNT)) self.layout.setName(layout_name) else: existing_layout = True - - self.manager.addLayout(self.layout) if self.radioButton_9.isChecked() == 1: self.layout.atlas().setEnabled(True) @@ -811,10 +817,10 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): else: TryMessage = False del self.QMBquestion - except: + except NameError: TryMessage = True - if TryMessage == True: + if TryMessage is True: iface.openLayoutDesigner(layout_modifie) self.close() else: @@ -844,15 +850,14 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): eval("exec('self.template_parameters = '+ values_page_import + '.fletch_canvas(self)')") def bar_echelle_auto(self, echelle, bar_echelle): - if True: if echelle.scale() >= 40000: bar_echelle.setUnits(QgsUnitTypes.DistanceKilometers) bar_echelle.setUnitLabel("km") - bar_echelle.setUnitsPerSegment(round((echelle.scale()*0.04)/1000)) + bar_echelle.setUnitsPerSegment(round((echelle.scale() * 0.04) / 1000)) else: bar_echelle.setUnits(QgsUnitTypes.DistanceMeters) bar_echelle.setUnitLabel("m") - bar_echelle.setUnitsPerSegment(round(echelle.scale()*0.04)) + bar_echelle.setUnitsPerSegment(round(echelle.scale() * 0.04)) bar_echelle.update() diff --git a/CenRa_AUTOMAP/issues.py b/CenRa_AUTOMAP/issues.py index 92a4176c..999a4f74 100644 --- a/CenRa_AUTOMAP/issues.py +++ b/CenRa_AUTOMAP/issues.py @@ -1,10 +1,4 @@ import os -plugin_dir = os.path.dirname(__file__) -end_find = plugin_dir.rfind('\\')+1 - -NAME = plugin_dir[end_find:] -#print(NAME) - from qgis.gui import * from qgis.core import ( @@ -27,7 +21,7 @@ from qgis.PyQt.QtWidgets import ( QInputDialog, QMenu, QToolButton, - QTableWidget, + QTableWidget, QTableWidgetItem, ) from qgis.utils import iface @@ -35,21 +29,27 @@ from qgis.utils import iface from .tools.resources import ( load_ui, - resources_path, + # resources_path, send_issues, ) +plugin_dir = os.path.dirname(__file__) +end_find = plugin_dir.rfind('\\') + 1 + +NAME = plugin_dir[end_find:] +# print(NAME) + EDITOR_CLASS = load_ui('CenRa_IssuesSend.ui') -class CenRa_Issues(QDialog, EDITOR_CLASS): +class CenRa_Issues(QDialog, EDITOR_CLASS): def __init__(self, parent=None): _ = parent super().__init__() self.setupUi(self) self.settings = QgsSettings() - #place connect here + # place connect here self.annuler_button.clicked.connect(self.close) self.ok_button.clicked.connect(self.run_sendissues) @@ -63,17 +63,22 @@ class CenRa_Issues(QDialog, EDITOR_CLASS): statu_autre = self.check_autre.isChecked() statu = [] - if statu_bug == True : statu = statu + [1] - if statu_aide == True : statu = statu + [3] - if statu_question == True : statu = statu + [5] - if statu_amelioration == True : statu = statu + [2] - if statu_autre == True : statu = statu + [6] + if statu_bug is True: + statu = statu + [1] + if statu_aide is True: + statu = statu + [3] + if statu_question is True: + statu = statu + [5] + if statu_amelioration is True: + statu = statu + [2] + if statu_autre is True: + statu = statu + [6] if len(statu) >= 1: import qgis - url = qgis.utils.pluginMetadata(NAME,'tracker') + url = qgis.utils.pluginMetadata(NAME, 'tracker') print(text_message) - send_info = send_issues(url,text_titre,text_message,statu) + send_info = send_issues(url, text_titre, text_message, statu) code = send_info.status_code print(code) else: