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.'))