diff --git a/python/plugins/processing/core/ProcessingLog.py b/python/plugins/processing/core/ProcessingLog.py index a22f13fee3e..25b79077213 100644 --- a/python/plugins/processing/core/ProcessingLog.py +++ b/python/plugins/processing/core/ProcessingLog.py @@ -25,11 +25,9 @@ __copyright__ = '(C) 2012, Victor Olaya' __revision__ = '$Format:%H$' -import os import re import codecs import datetime -from PyQt4 import QtGui from processing.tools.system import * from processing.core.ProcessingConfig import ProcessingConfig diff --git a/python/plugins/processing/gui/Help2Html.py b/python/plugins/processing/gui/Help2Html.py index d1977d47dbd..a508f7f01c8 100644 --- a/python/plugins/processing/gui/Help2Html.py +++ b/python/plugins/processing/gui/Help2Html.py @@ -16,7 +16,7 @@ * * *************************************************************************** """ -import re + __author__ = 'Victor Olaya' __date__ = 'August 2012' @@ -26,10 +26,9 @@ __copyright__ = '(C) 2012, Victor Olaya' __revision__ = '$Format:%H$' -import pickle -from processing.tools.system import * import os -import codecs +import re +import json ALG_DESC = 'ALG_DESC' ALG_CREATOR = 'ALG_CREATOR' @@ -58,8 +57,8 @@ def getHtmlFromHelpFile(alg, helpFile): if not os.path.exists(helpFile): return None alg = alg - f = open(helpFile, 'rb') - descriptions = pickle.load(f) + with open(helpFile) as f: + descriptions = json.load(f) s = '

Algorithm description

\n' s += '

' + getDescription(ALG_DESC, descriptions) + '

\n' s += '

Input parameters

\n' diff --git a/python/plugins/processing/gui/HelpEditionDialog.py b/python/plugins/processing/gui/HelpEditionDialog.py index b6d14754c1e..80878e94cc9 100644 --- a/python/plugins/processing/gui/HelpEditionDialog.py +++ b/python/plugins/processing/gui/HelpEditionDialog.py @@ -17,6 +17,7 @@ *************************************************************************** """ + __author__ = 'Victor Olaya' __date__ = 'August 2012' __copyright__ = '(C) 2012, Victor Olaya' @@ -26,11 +27,12 @@ __copyright__ = '(C) 2012, Victor Olaya' __revision__ = '$Format:%H$' import os -import pickle +import json from PyQt4.QtCore import * from PyQt4.QtGui import * from qgis.core import * from processing.ui.ui_DlgHelpEdition import Ui_DlgHelpEdition +from processing.core.ProcessingLog import ProcessingLog class HelpEditionDialog(QDialog, Ui_DlgHelpEdition): @@ -49,8 +51,13 @@ class HelpEditionDialog(QDialog, Ui_DlgHelpEdition): if self.alg.descriptionFile is not None: helpfile = alg.descriptionFile + '.help' if os.path.exists(helpfile): - f = open(helpfile, 'rb') - self.descriptions = pickle.load(f) + try: + with open(helpfile) as f: + self.descriptions = json.load(f) + except Exception, e: + print e + ProcessingLog.addToLog(ProcessingLog.LOG_WARNING, "Cannot open gelp file: " + helpfile) + self.currentName = self.ALG_DESC if self.ALG_DESC in self.descriptions: self.text.setText(self.descriptions[self.ALG_DESC]) @@ -67,17 +74,15 @@ class HelpEditionDialog(QDialog, Ui_DlgHelpEdition): self.descriptions[self.currentName] = unicode(self.text.toPlainText()) if self.alg.descriptionFile is not None: try: - f = open(self.alg.descriptionFile + '.help', 'wb') - pickle.dump(self.descriptions, f) - f.close() + with open(self.alg.descriptionFile + '.help', 'w') as f: + json.dump(self.descriptions, f) except Exception, e: QMessageBox.warning(self, 'Error saving help file', - 'Help file could not be saved. Check that \ - you have permission to modify the help \ - file. You might not have permission if \ - you are editing an example model or \ - script, since they are stored on the \ - installation folder') + 'Help file could not be saved.\n' + 'Check that you have permission to modify the help\n' + 'file. You might not have permission if you are \n' + 'editing an example model or script, since they \n' + 'are stored on the installation folder') QDialog.accept(self) diff --git a/python/plugins/processing/gui/ScriptEditorDialog.py b/python/plugins/processing/gui/ScriptEditorDialog.py index f66cd42da8e..b86f073a958 100644 --- a/python/plugins/processing/gui/ScriptEditorDialog.py +++ b/python/plugins/processing/gui/ScriptEditorDialog.py @@ -25,9 +25,9 @@ __copyright__ = '(C) 2012, Alexander Bruy' __revision__ = '$Format:%H$' -import pickle import codecs import sys +import json from PyQt4.QtCore import * from PyQt4.QtGui import * @@ -166,9 +166,8 @@ class ScriptEditorDialog(QDialog, Ui_DlgScriptEditor): # If help strings were defined before saving the script for # the first time, we do it here if self.help: - f = open(self.filename + '.help', 'wb') - pickle.dump(self.help, f) - f.close() + with open(self.filename + '.help', 'w') as f: + json.dump(self.help, f) self.help = None self.setHasChanged(False) else: diff --git a/python/plugins/processing/modeler/ModelerDialog.py b/python/plugins/processing/modeler/ModelerDialog.py index 7bdca31aa54..d2021681fdb 100644 --- a/python/plugins/processing/modeler/ModelerDialog.py +++ b/python/plugins/processing/modeler/ModelerDialog.py @@ -16,6 +16,7 @@ * * *************************************************************************** """ +import json __author__ = 'Victor Olaya' __date__ = 'August 2012' @@ -26,7 +27,6 @@ __copyright__ = '(C) 2012, Victor Olaya' __revision__ = '$Format:%H$' import codecs -import pickle from PyQt4.QtCore import * from PyQt4.QtGui import * @@ -308,9 +308,8 @@ class ModelerDialog(QDialog, Ui_DlgModeler): # If help strings were defined before saving the model # for the first time, we do it here. if self.help: - f = open(self.alg.descriptionFile + '.help', 'wb') - pickle.dump(self.help, f) - f.close() + with open(self.descriptionFile + '.help', 'w') as f: + json.dump(self.help, f) self.help = None QMessageBox.information(self, self.tr('Model saved'), self.tr('Model was correctly saved.'))