flake8 metabase
This commit is contained in:
parent
fd5d516f14
commit
d7267c0542
@ -4,13 +4,12 @@ __email__ = "info@3liz.org"
|
||||
|
||||
|
||||
from qgis.core import QgsApplication
|
||||
from qgis.PyQt.QtCore import QCoreApplication, Qt, QTranslator, QUrl
|
||||
from qgis.PyQt.QtCore import Qt, QUrl, QSettings
|
||||
from qgis.PyQt.QtGui import QDesktopServices, QIcon
|
||||
from qgis.PyQt.QtWidgets import QAction, QMessageBox
|
||||
from qgis.PyQt.QtWidgets import QAction
|
||||
from qgis.utils import iface
|
||||
import qgis
|
||||
|
||||
|
||||
# include <QSettings>
|
||||
'''
|
||||
from pg_metadata.connection_manager import (
|
||||
@ -24,8 +23,9 @@ from pg_metadata.processing.provider import PgMetadataProvider
|
||||
from pg_metadata.qgis_plugin_tools.tools.custom_logging import setup_logger
|
||||
'''
|
||||
import os
|
||||
from .about_form import MetabaseAboutDialog
|
||||
from .tools.resources import (
|
||||
plugin_path,
|
||||
# plugin_path,
|
||||
pyperclip,
|
||||
resources_path,
|
||||
maj_verif,
|
||||
@ -33,10 +33,8 @@ from .tools.resources import (
|
||||
pyperclip()
|
||||
from .dock import CenRa_Metabase
|
||||
from .editor import Metabase_Editor
|
||||
from .about_form import MetabaseAboutDialog
|
||||
#from CenRa_Metabase.issues import CenRa_Issues
|
||||
|
||||
from qgis.PyQt.QtCore import *
|
||||
# from CenRa_Metabase.issues import CenRa_Issues
|
||||
|
||||
|
||||
class PgMetadata:
|
||||
@ -100,7 +98,6 @@ class PgMetadata:
|
||||
if not self.editor:
|
||||
self.editor = Metabase_Editor()
|
||||
|
||||
|
||||
self.editor_action = QAction(icon2, 'CenRa_Metabase', None)
|
||||
self.toolBar.addAction(self.editor_action)
|
||||
self.editor_action.triggered.connect(self.open_editor)
|
||||
@ -159,6 +156,7 @@ class PgMetadata:
|
||||
"""
|
||||
dialog = MetabaseAboutDialog(iface)
|
||||
dialog.exec()
|
||||
|
||||
def open_help():
|
||||
""" Open the online help. """
|
||||
QDesktopServices.openUrl(QUrl('https://plateformesig.cenra-outils.org/'))
|
||||
@ -202,7 +200,6 @@ class PgMetadata:
|
||||
iface.pluginMenu().removeAction(self.dock_action)
|
||||
del self.dock_action
|
||||
|
||||
|
||||
@staticmethod
|
||||
def run_tests(pattern='test_*.py', package=None):
|
||||
"""Run the test inside QGIS."""
|
||||
|
||||
@ -3,7 +3,7 @@ import os.path
|
||||
from pathlib import Path
|
||||
|
||||
from qgis.PyQt import uic
|
||||
from qgis.PyQt.QtGui import QPixmap
|
||||
# from qgis.PyQt.QtGui import QPixmap
|
||||
from qgis.PyQt.QtWidgets import QDialog
|
||||
|
||||
from .tools.resources import devlog
|
||||
@ -16,6 +16,7 @@ ABOUT_FORM_CLASS, _ = uic.loadUiType(
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
class MetabaseAboutDialog(QDialog, ABOUT_FORM_CLASS):
|
||||
|
||||
""" About - Let the user display the about dialog. """
|
||||
|
||||
@ -14,48 +14,31 @@ from pathlib import Path
|
||||
from xml.dom.minidom import parseString
|
||||
|
||||
from qgis.core import (
|
||||
NULL,
|
||||
QgsApplication,
|
||||
QgsDataSourceUri,
|
||||
QgsProject,
|
||||
QgsProviderConnectionException,
|
||||
QgsProviderRegistry,
|
||||
QgsRasterLayer,
|
||||
QgsSettings,
|
||||
QgsVectorLayer,
|
||||
)
|
||||
from qgis.PyQt.QtCore import QLocale, QUrl
|
||||
from qgis.PyQt.QtGui import QDesktopServices, QIcon
|
||||
from qgis.PyQt.QtPrintSupport import QPrinter
|
||||
# from qgis.PyQt.QtWebKitWidgets import QWebPage
|
||||
from qgis.PyQt.QtWidgets import (
|
||||
QDialog,
|
||||
QAction,
|
||||
QDockWidget,
|
||||
QFileDialog,
|
||||
QInputDialog,
|
||||
QMenu,
|
||||
QToolButton,
|
||||
)
|
||||
from qgis.gui import *
|
||||
from qgis.utils import iface
|
||||
import qgis
|
||||
'''
|
||||
from pg_metadata.connection_manager import (
|
||||
check_pgmetadata_is_installed,
|
||||
connections_list,
|
||||
settings_connections_names,
|
||||
)
|
||||
'''
|
||||
try:
|
||||
from .tools.PythonSQL import login_base
|
||||
except:
|
||||
print('Pas de fichier PythonSQL')
|
||||
|
||||
from .tools.resources import (
|
||||
load_ui,
|
||||
resources_path,
|
||||
)
|
||||
try:
|
||||
from .tools.PythonSQL import login_base
|
||||
except ValueError:
|
||||
print('Pas de fichier PythonSQL')
|
||||
|
||||
DOCK_CLASS = load_ui('CenRa_Metabase_dockwidget_base.ui')
|
||||
LOGGER = logging.getLogger('CenRa_Metabase')
|
||||
@ -150,11 +133,11 @@ class CenRa_Metabase(QDockWidget, DOCK_CLASS):
|
||||
# self.default_html_content_not_installed()
|
||||
# else:
|
||||
self.default_html_content_not_pg_layer()
|
||||
|
||||
iface.layerTreeView().currentLayerChanged.connect(self.layer_changed)
|
||||
try:
|
||||
login_base()
|
||||
iface.layerTreeView().currentLayerChanged.connect(self.layer_changed)
|
||||
except:
|
||||
except ValueError:
|
||||
# qgis.utils.plugins['CenRa_METABASE'].initGui()
|
||||
qgis.utils.plugins['CenRa_METABASE'].unload()
|
||||
# self.default_html_content_not_pg_layer()
|
||||
@ -231,43 +214,15 @@ class CenRa_Metabase(QDockWidget, DOCK_CLASS):
|
||||
def save_auto_open_dock(self):
|
||||
""" Save settings about the dock. """
|
||||
self.settings.setValue("pgmetadata/auto_open_dock", self.auto_open_dock_action.isChecked())
|
||||
|
||||
def sql_to_xml(self, dataall):
|
||||
distribution = ''
|
||||
for y in dataall[1]:
|
||||
distribution = distribution + (
|
||||
'<dcat:distribution>'+
|
||||
'<dcat:Distribution>'+
|
||||
'<dct:title>{data}</dct:title>'.format(data=y[0])+
|
||||
'<dcat:downloadURL>{data}</dcat:downloadURL>'.format(data=y[1])+
|
||||
'<dcat:mediaType>{data}</dcat:mediaType>'.format(data=y[2])+
|
||||
'<dct:format>{data}</dct:format>'.format(data=y[3])+
|
||||
'<dct:bytesize>{data}</dct:bytesize>'.format(data=y[4])+
|
||||
'</dcat:Distribution>'+
|
||||
'</dcat:distribution>')
|
||||
distribution = distribution + ('<dcat:distribution>' + '<dcat:Distribution>' + '<dct:title>{data}</dct:title>'.format(data=y[0]) + '<dcat:downloadURL>{data}</dcat:downloadURL>'.format(data=y[1]) + '<dcat:mediaType>{data}</dcat:mediaType>'.format(data=y[2]) + '<dct:format>{data}</dct:format>'.format(data=y[3]) + '<dct:bytesize>{data}</dct:bytesize>'.format(data=y[4]) + '</dcat:Distribution>' + '</dcat:distribution>')
|
||||
publisher = ''
|
||||
for z in dataall[2]:
|
||||
publisher = publisher + (
|
||||
'<dct:publisher>'+
|
||||
'<foaf:Organization>'+
|
||||
'<foaf:name>{data}</foaf:name>'.format(data=z[1])+
|
||||
'<foaf:mbox>{data}</foaf:mbox>'.format(data=z[3])+
|
||||
'</foaf:Organization>'+
|
||||
'</dct:publisher>')
|
||||
data_str = [[dataall[0][26],
|
||||
'<dct:identifier>{data}</dct:identifier>'.format(data=dataall[0][1])+
|
||||
'<dct:title>{data}</dct:title>'.format(data=dataall[0][4])+
|
||||
'<dct:description>{data}</dct:description>'.format(data=dataall[0][5])+
|
||||
'<dct:language>{data}</dct:language>'.format(data=dataall[0][26])+
|
||||
'<dct:spatial>{data}</dct:spatial>'.format(data=dataall[0][28])+
|
||||
'<dct:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">{data}</dct:created>'.format(data=dataall[0][20])+
|
||||
'<dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">{data}</dct:issued>'.format(data=dataall[0][11])+
|
||||
'<dct:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">{data}</dct:modified>'.format(data=dataall[0][21])+
|
||||
'<dct:license>{data}</dct:license>'.format(data=dataall[0][13])+
|
||||
distribution+
|
||||
publisher+
|
||||
'<dcat:theme>{data}</dcat:theme>'.format(data=", ".join(str(x) for x in dataall[0][24]))+
|
||||
'<dcat:keyword>{data}</dcat:keyword>'.format(data=", ".join(str(x) for x in dataall[0][6]))+
|
||||
'<dct:accrualPeriodicity>{data}</dct:accrualPeriodicity>'.format(data=dataall[0][12])]]
|
||||
publisher = publisher + ('<dct:publisher>' + '<foaf:Organization>' + '<foaf:name>{data}</foaf:name>'.format(data=z[1]) + '<foaf:mbox>{data}</foaf:mbox>'.format(data=z[3]) + '</foaf:Organization>' + '</dct:publisher>')
|
||||
data_str = [[dataall[0][26], '<dct:identifier>{data}</dct:identifier>'.format(data=dataall[0][1]) + '<dct:title>{data}</dct:title>'.format(data=dataall[0][4]) + '<dct:description>{data}</dct:description>'.format(data=dataall[0][5]) + '<dct:language>{data}</dct:language>'.format(data=dataall[0][26]) + '<dct:spatial>{data}</dct:spatial>'.format(data=dataall[0][28]) + '<dct:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">{data}</dct:created>'.format(data=dataall[0][20]) + '<dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">{data}</dct:issued>'.format(data=dataall[0][11]) + '<dct:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">{data}</dct:modified>'.format(data=dataall[0][21]) + '<dct:license>{data}</dct:license>'.format(data=dataall[0][13]) + distribution + publisher + '<dcat:theme>{data}</dcat:theme>'.format(data=", ".join(str(x) for x in dataall[0][24])) + '<dcat:keyword>{data}</dcat:keyword>'.format(data=", ".join(str(x) for x in dataall[0][6])) + '<dct:accrualPeriodicity>{data}</dct:accrualPeriodicity>'.format(data=dataall[0][12])]]
|
||||
|
||||
return data_str
|
||||
|
||||
@ -292,7 +247,6 @@ publisher+
|
||||
self.current_connection = None
|
||||
self.ce_trouve_dans_psql(layer)
|
||||
|
||||
|
||||
def add_flatten_dataset_table(self):
|
||||
""" Add a flatten dataset table with all links and contacts. """
|
||||
'''
|
||||
@ -337,7 +291,7 @@ publisher+
|
||||
|
||||
def set_html_content(self, title=None, body=None):
|
||||
""" Set the content in the dock. """
|
||||
#link_logo=resources_path('icons', 'CEN_RA.png')
|
||||
# ink_logo=resources_path('icons', 'CEN_RA.png')
|
||||
css_file = resources_path('css', 'dock.css')
|
||||
with open(css_file, 'r', encoding='utf8') as f:
|
||||
css = f.read()
|
||||
@ -356,13 +310,13 @@ publisher+
|
||||
html += '</body></html>'
|
||||
|
||||
# It must be a file, even if it does not exist on the file system.
|
||||
base_url = QUrl.fromLocalFile(resources_path('images', 'must_be_a_file.png'))
|
||||
self.viewer.setHtml(html)#, base_url)
|
||||
# base_url = QUrl.fromLocalFile(resources_path('images', 'must_be_a_file.png'))
|
||||
self.viewer.setHtml(html)
|
||||
|
||||
def ce_trouve_dans_psql(self, layer):
|
||||
try:
|
||||
uri = layer.dataProvider().uri()
|
||||
except:
|
||||
except AttributeError:
|
||||
self.default_html_content_not_pg_layer()
|
||||
self.save_button.setEnabled(False)
|
||||
uri = ''
|
||||
@ -392,7 +346,7 @@ publisher+
|
||||
data_url = dataall[1]
|
||||
data_contact = dataall[2]
|
||||
# print(len(data_url))
|
||||
data_collonne=[field.name() for field in layer.dataProvider().fields()]
|
||||
# data_collonne = [field.name() for field in layer.dataProvider().fields()]
|
||||
|
||||
body += '<div><h3>Identification</h3><table class="table table-condensed">'
|
||||
body += '<tr><th>Titre</th><td>{data[4]}</td></tr>'.format(data=data)
|
||||
@ -457,10 +411,12 @@ publisher+
|
||||
def set_html_to_wms(self, layer):
|
||||
self.set_html_content(
|
||||
'CenRa Metadata', (layer.htmlMetadata()))
|
||||
|
||||
def default_html_content_not_pg_layer(self):
|
||||
""" When it's not a PostgreSQL layer. """
|
||||
self.set_html_content(
|
||||
'CenRa Metadata', ('Vous devez cliquer sur une couche dans la légende qui est stockée dans PostgreSQL.'))
|
||||
|
||||
def default_html_content_not_metadata(self):
|
||||
self.set_html_content(
|
||||
'CenRa Metadata', ('La couche ne contien pas de métadonnée.'))
|
||||
@ -495,4 +451,3 @@ publisher+
|
||||
data_contact = cur.fetchall()
|
||||
cur.close()
|
||||
return data_general[0], data_url, data_contact
|
||||
|
||||
|
||||
@ -1,60 +1,47 @@
|
||||
import logging
|
||||
import os
|
||||
|
||||
from collections import namedtuple
|
||||
from enum import Enum
|
||||
from functools import partial
|
||||
from pathlib import Path
|
||||
from xml.dom.minidom import parseString
|
||||
from qgis.gui import *
|
||||
# from collections import namedtuple
|
||||
# from enum import Enum
|
||||
# from functools import partial
|
||||
# from pathlib import Path
|
||||
# from xml.dom.minidom import parseString
|
||||
# from qgis.gui import *
|
||||
from qgis.core import (
|
||||
NULL,
|
||||
QgsApplication,
|
||||
QgsDataSourceUri,
|
||||
QgsProject,
|
||||
QgsProviderConnectionException,
|
||||
QgsProviderRegistry,
|
||||
QgsRasterLayer,
|
||||
QgsSettings,
|
||||
QgsVectorLayer,
|
||||
QgsGeometry,
|
||||
QgsWkbTypes,
|
||||
)
|
||||
from qgis.PyQt import QtGui
|
||||
from qgis.PyQt.QtCore import QLocale, QUrl, QDateTime
|
||||
from qgis.PyQt.QtGui import QDesktopServices, QIcon
|
||||
from qgis.PyQt.QtPrintSupport import QPrinter
|
||||
from qgis.PyQt import QtGui, QtCore
|
||||
from qgis.PyQt.QtGui import QIcon
|
||||
# from qgis.PyQt.QtPrintSupport import QPrinter
|
||||
# from qgis.PyQt.QtWebKitWidgets import QWebPage
|
||||
import psycopg2
|
||||
from qgis.PyQt.QtWidgets import (
|
||||
QDialog,
|
||||
QAction,
|
||||
QDockWidget,
|
||||
QFileDialog,
|
||||
QInputDialog,
|
||||
QMenu,
|
||||
QToolButton,
|
||||
QTableWidget,
|
||||
QTableWidgetItem,
|
||||
)
|
||||
from qgis.utils import iface
|
||||
|
||||
try:
|
||||
from .tools.PythonSQL import login_base
|
||||
except:
|
||||
except ValueError:
|
||||
print('Pas de fichier PythonSQL')
|
||||
|
||||
from .tools.resources import (
|
||||
load_ui,
|
||||
resources_path,
|
||||
send_issues,
|
||||
# send_issues,
|
||||
)
|
||||
from .issues import CenRa_Issues
|
||||
# from .issues import CenRa_Issues
|
||||
|
||||
EDITOR_CLASS = load_ui('CenRa_Metabase_editorwidget_base.ui')
|
||||
LOGGER = logging.getLogger('CenRa_Metabase')
|
||||
LOGGEr = logging.getLogger('CenRa_Metabase')
|
||||
|
||||
|
||||
class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
|
||||
def __init__(self, parent=None):
|
||||
_ = parent
|
||||
super().__init__()
|
||||
@ -74,7 +61,7 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
self.auto_adding.show()
|
||||
|
||||
self.auto_adding.clicked.connect(self.auto_run)
|
||||
self.issues_app.clicked.connect(self.issues_open)
|
||||
# self.issues_app.clicked.connect(self.issues_open)
|
||||
self.categories_select_view.itemDoubleClicked.connect(self.add_categories_view)
|
||||
self.categories_view.itemDoubleClicked.connect(self.deleter_categories_view)
|
||||
self.themes_select_view.itemDoubleClicked.connect(self.add_themes_view)
|
||||
@ -102,6 +89,7 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
self.format_box.setCurrentIndex(0)
|
||||
self.taille_line.setText('45')
|
||||
self.add_lien()
|
||||
|
||||
def add_metadata(self):
|
||||
table_name = layer.dataProvider().uri().table()
|
||||
schema_name = layer.dataProvider().uri().schema()
|
||||
@ -250,12 +238,12 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
self.new_data(layer)
|
||||
else:
|
||||
self.close()
|
||||
iface.messageBar().pushMessage("Information :", "Cette couche n'est pas stockée dans PostgreSQL", level=Qgis.Warning, duration=30)
|
||||
iface.messageBar().pushMessage("Information:", "Cette couche n'est pas stockée dans PostgreSQL", level=1, duration=30)
|
||||
|
||||
def is_in_psql(self, layer):
|
||||
try:
|
||||
uri = layer.dataProvider().uri()
|
||||
except:
|
||||
except AttributeError:
|
||||
uri = ''
|
||||
return False
|
||||
if uri != '':
|
||||
@ -324,7 +312,6 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
role_list = all_list[10]
|
||||
organisation_list = all_list[11]
|
||||
|
||||
|
||||
# langue_box
|
||||
self.langue_box.clear()
|
||||
self.langue_box.addItem('')
|
||||
@ -392,7 +379,6 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
crs_code = str(layer.crs().authid())
|
||||
self.crscode_plaintext.setPlainText(crs_code)
|
||||
|
||||
|
||||
self.frequence_box.addItem('')
|
||||
self.restriction_box.addItem('')
|
||||
self.licence_box.addItem('')
|
||||
@ -461,7 +447,7 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
try:
|
||||
in_index = sql_dataload[6].index(categorie_select_data[0])
|
||||
in_index = False
|
||||
except:
|
||||
except ValueError:
|
||||
in_index = True
|
||||
if in_index:
|
||||
self.categories_select_view.setItem(i, 0, QTableWidgetItem(categorie_select_data[0]))
|
||||
@ -471,7 +457,7 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
try:
|
||||
in_index = sql_dataload[24].index(themes_select_data[0])
|
||||
in_index = False
|
||||
except:
|
||||
except ValueError:
|
||||
in_index = True
|
||||
if in_index:
|
||||
self.themes_select_view.setItem(i, 0, QTableWidgetItem(themes_select_data[0]))
|
||||
@ -586,6 +572,7 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
self.categories_select_view.removeRow(self.categories_select_view.currentRow())
|
||||
self.categories_view.insertRow(0)
|
||||
self.categories_view.setItem(0, 0, QTableWidgetItem(values_add_categories))
|
||||
|
||||
def deleter_categories_view(self):
|
||||
values_deleter_categories = self.categories_view.selectedItems()[0].text()
|
||||
self.categories_view.removeRow(self.categories_view.currentRow())
|
||||
@ -597,6 +584,7 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
self.themes_select_view.removeRow(self.themes_select_view.currentRow())
|
||||
self.themes_view.insertRow(0)
|
||||
self.themes_view.setItem(0, 0, QTableWidgetItem(values_add_themes))
|
||||
|
||||
def deleter_themes_view(self):
|
||||
values_deleter_themes = self.themes_view.selectedItems()[0].text()
|
||||
self.themes_view.removeRow(self.themes_view.currentRow())
|
||||
@ -617,10 +605,10 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
cur.execute(sql_sizefile)
|
||||
boolean = True
|
||||
|
||||
except:
|
||||
except psycopg2.errors.UndefinedTable:
|
||||
boolean = False
|
||||
|
||||
if boolean == True:
|
||||
if boolean is True:
|
||||
size_file = (cur.fetchall())[0][0]
|
||||
else:
|
||||
size_file = ''
|
||||
@ -658,9 +646,12 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
array_contact += "('" + table + "', '" + schema + "', '" + self.role_box.currentText() + "', '" + self.nom_line.text() + "', '" + self.organisation_box.currentText() + "', '" + self.email_line.text() + "', '" + self.telephone_line.text() + "'),"
|
||||
|
||||
def delete_lien(self):
|
||||
|
||||
fin = ''
|
||||
global uid_delete_list_link, array_link
|
||||
try:
|
||||
lien_uid = self.table_lien.item(self.table_lien.currentRow(), 0).text()
|
||||
except AttributeError:
|
||||
lien_uid = True
|
||||
self.table_lien.removeRow(self.table_lien.currentRow())
|
||||
if lien_uid == 'new_value':
|
||||
position = self.table_lien.currentRow()
|
||||
@ -684,12 +675,18 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
fin += 1
|
||||
array_link = array_link[:debut - 1] + array_link[fin + 1:]
|
||||
# print('a:', array_link)
|
||||
elif lien_uid is True:
|
||||
print('Pas de ligne "Lien"')
|
||||
else:
|
||||
uid_delete_list_link += "'" + lien_uid + "',"
|
||||
|
||||
def delete_contact(self):
|
||||
fin = ''
|
||||
global uid_delete_list_contact, array_contact
|
||||
try:
|
||||
contact_uid = self.table_contact.item(self.table_contact.currentRow(), 0).text()
|
||||
except AttributeError:
|
||||
contact_uid = True
|
||||
self.table_contact.removeRow(self.table_contact.currentRow())
|
||||
if contact_uid == 'new_value':
|
||||
position = self.table_contact.currentRow()
|
||||
@ -713,10 +710,11 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
fin += 1
|
||||
array_contact = array_contact[:debut - 1] + array_contact[fin + 1:]
|
||||
# print('a:', array_contact)
|
||||
elif contact_uid is True:
|
||||
print('Pas de ligne "Contact"')
|
||||
else:
|
||||
uid_delete_list_contact += "'" + contact_uid + "',"
|
||||
|
||||
|
||||
def fletch_ref(self):
|
||||
cur = login_base()
|
||||
|
||||
@ -770,6 +768,7 @@ class Metabase_Editor(QDialog, EDITOR_CLASS):
|
||||
folder = folder[0]
|
||||
if folder[len(folder) - 4:] == '.xml':
|
||||
print('is .xml')
|
||||
def issues_open(self):
|
||||
self.issues = CenRa_Issues()
|
||||
self.issues.show()
|
||||
|
||||
# def issues_open(self):
|
||||
# self.issues = CenRa_Issues()
|
||||
# self.issues.show()
|
||||
|
||||
@ -3,9 +3,12 @@
|
||||
import configparser
|
||||
import shutil
|
||||
import tempfile
|
||||
# import base64
|
||||
# import psycopg2
|
||||
# import psycopg2.extras
|
||||
import os
|
||||
from os.path import abspath, join, pardir, dirname
|
||||
from qgis.PyQt.QtWidgets import QApplication
|
||||
|
||||
from qgis.PyQt import uic
|
||||
|
||||
__copyright__ = "Copyright 2019, 3Liz"
|
||||
@ -92,14 +95,6 @@ def resources_path(*args):
|
||||
path = abspath(join(path, item))
|
||||
return path
|
||||
|
||||
def pyperclip():
|
||||
dst = dirname(dirname(__file__))+"\\tools\\"
|
||||
if os.access('N:/',os.R_OK):
|
||||
src = 'N:/SI_Systeme d information/Z_QGIS/PLUGIN/PythonSQL.py'
|
||||
try:
|
||||
shutil.copy(src, dst)
|
||||
except:
|
||||
print('404')
|
||||
|
||||
def load_ui(*args):
|
||||
"""Get compile UI file.
|
||||
@ -113,37 +108,51 @@ def load_ui(*args):
|
||||
|
||||
return ui_class
|
||||
|
||||
|
||||
def pyperclip():
|
||||
dst = dirname(dirname(__file__)) + "\\tools\\"
|
||||
if os.access('N:/', os.R_OK):
|
||||
src = 'N:/SI_Systeme d information/Z_QGIS/PLUGIN/PythonSQL.py'
|
||||
try:
|
||||
shutil.copy(src, dst)
|
||||
except FileNotFoundError:
|
||||
print('404')
|
||||
except UnboundLocalError:
|
||||
print('404')
|
||||
|
||||
|
||||
def send_issues(url, titre, body, labels):
|
||||
import requests
|
||||
import urllib.request
|
||||
import json
|
||||
import os
|
||||
import qgis
|
||||
# import os
|
||||
# import qgis
|
||||
|
||||
usr = os.environ['USERNAME']
|
||||
# usr = os.environ['USERNAME']
|
||||
token = '9d0a4e0bea561710e0728f161f7edf4e5201e112'
|
||||
url = url + '?token=' + token
|
||||
|
||||
headers = {'Authorization': 'token ' + token, 'accept': 'application/json', 'Content-Type': 'application/json'}
|
||||
|
||||
|
||||
payload = {'title': titre, 'body': body, 'labels': labels}
|
||||
try:
|
||||
urllib.request.urlopen('https://google.com')
|
||||
binar = True
|
||||
except:
|
||||
except ValueError:
|
||||
binar = False
|
||||
r = ''
|
||||
if binar:
|
||||
r = requests.post(url, data=json.dumps(payload), headers=headers)
|
||||
return r
|
||||
|
||||
|
||||
def maj_verif(NAME):
|
||||
import qgis
|
||||
import urllib.request
|
||||
iface = qgis.utils.iface
|
||||
from qgis.core import Qgis
|
||||
|
||||
url = qgis.utils.pluginMetadata(NAME,'repository')
|
||||
# url = qgis.utils.pluginMetadata(NAME, 'repository')
|
||||
# URL = url+'/raw/branch/main/plugins.xml'
|
||||
URL = 'https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/plugins.xml'
|
||||
# print(URL)
|
||||
@ -152,7 +161,7 @@ def maj_verif(NAME):
|
||||
try:
|
||||
urllib.request.urlopen('https://google.com')
|
||||
binar = True
|
||||
except:
|
||||
except urllib.error.URLError:
|
||||
binar = False
|
||||
if binar:
|
||||
try:
|
||||
@ -162,13 +171,11 @@ def maj_verif(NAME):
|
||||
version_plugin = version_web[valeur_version_web:valeur_version_web + len_version]
|
||||
if version_plugin != version:
|
||||
iface.messageBar().pushMessage("MAJ :", "Des mise à jour de plugin sont disponibles.", level=Qgis.Info, duration=30)
|
||||
except:
|
||||
except urllib.error.URLError:
|
||||
print("error gitea version ssl")
|
||||
else:
|
||||
iface.messageBar().pushMessage("WiFi :", "Pas de connection à internet.", level=Qgis.Warning, duration=30)
|
||||
|
||||
def tr(text, context="@default"):
|
||||
return QApplication.translate(context, text)
|
||||
|
||||
def devlog(NAME):
|
||||
import qgis
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user