Ported the zipfile related code.

Mon, 11 Jan 2010 18:05:51 +0000

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 11 Jan 2010 18:05:51 +0000
changeset 48
f4274afeba82
parent 47
884e62c0b9cb
child 49
f991944e859c

Ported the zipfile related code.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.E4XML.XMLHandlerBase.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Project.Project.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.QScintilla.Editor.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.QScintilla.MiniEditor.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.UI.EmailDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Utilities.__init__.html file | annotate | diff | comparison | revisions
PluginManager/PluginInstallDialog.py file | annotate | diff | comparison | revisions
PluginManager/PluginRepositoryDialog.py file | annotate | diff | comparison | revisions
Project/Project.py file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Mon Jan 11 17:42:24 2010 +0000
+++ b/APIs/Python3/eric5.api	Mon Jan 11 18:05:51 2010 +0000
@@ -1461,7 +1461,6 @@
 eric5.E4XML.XMLHandlerBase.XMLHandlerBase.startSet?4(attrs)
 eric5.E4XML.XMLHandlerBase.XMLHandlerBase.startTuple?4(attrs)
 eric5.E4XML.XMLHandlerBase.XMLHandlerBase.unescape?4(text, attribute = False)
-eric5.E4XML.XMLHandlerBase.XMLHandlerBase.utf8_to_code?4(text)
 eric5.E4XML.XMLHandlerBase.XMLHandlerBase?1()
 eric5.E4XML.XMLMessageDialog.XMLMessageDialog?1(msgs, parent = None)
 eric5.E4XML.XMLUtilities.make_parser?4(validating)
@@ -4183,7 +4182,6 @@
 eric5.QScintilla.Editor.Editor.printPreviewFile?4()
 eric5.QScintilla.Editor.Editor.projectLexerAssociationsChanged?4()
 eric5.QScintilla.Editor.Editor.readFile?4(fn, createIt = False)
-eric5.QScintilla.Editor.Editor.readLine0?4(fn, createIt = False)
 eric5.QScintilla.Editor.Editor.readSettings?4()
 eric5.QScintilla.Editor.Editor.redo?4()
 eric5.QScintilla.Editor.Editor.refresh?4()
@@ -4459,7 +4457,6 @@
 eric5.QScintilla.MiniEditor.MiniEditor.getFileName?4()
 eric5.QScintilla.MiniEditor.MiniEditor.getLanguage?4()
 eric5.QScintilla.MiniEditor.MiniEditor.getSRHistory?4(key)
-eric5.QScintilla.MiniEditor.MiniEditor.readLine0?4(fn, createIt = False)
 eric5.QScintilla.MiniEditor.MiniEditor.setLanguage?4(filename, initTextDisplay = True, pyname = "")
 eric5.QScintilla.MiniEditor.MiniEditor.setSearchIndicator?4(startPos, indicLength)
 eric5.QScintilla.MiniEditor.MiniEditor.setText?4(txt, filetype = None)
@@ -5118,6 +5115,7 @@
 eric5.Utilities.ClassBrowsers.rbclbr._modules?8
 eric5.Utilities.ClassBrowsers.rbclbr.readmodule_ex?4(module, path=[])
 eric5.Utilities.ClassBrowsers.readmodule?4(module, path=[], isPyFile = False)
+eric5.Utilities.CodingError?1(coding)
 eric5.Utilities.ModuleParser.Attribute?1(module, name, file, lineno)
 eric5.Utilities.ModuleParser.Class.addAttribute?4(name, attr)
 eric5.Utilities.ModuleParser.Class.addDescription?4(description)
@@ -5186,11 +5184,15 @@
 eric5.Utilities._escape_map?8
 eric5.Utilities._percentReplacementFunc?5(matchobj)
 eric5.Utilities._uescape?8
+eric5.Utilities.codingBytes_regexps?7
+eric5.Utilities.coding_regexps?7
 eric5.Utilities.compactPath?4(path, width, measure = len)
 eric5.Utilities.compile?4(file, codestring = "")
 eric5.Utilities.configDir?7
 eric5.Utilities.convertLineEnds?4(text, eol)
+eric5.Utilities.decode?4(text)
 eric5.Utilities.direntries?4(path, filesonly=False, pattern=None, followsymlinks=True, checkStop=None)
+eric5.Utilities.encode?4(text, orig_coding)
 eric5.Utilities.escape_entities?4(m, map=_escape_map)
 eric5.Utilities.escape_uentities?4(m)
 eric5.Utilities.fromNativeSeparators?4(path)
@@ -5210,6 +5212,8 @@
 eric5.Utilities.getPythonVersion?4()
 eric5.Utilities.getTestFileName?4(fn)
 eric5.Utilities.getUserName?4()
+eric5.Utilities.get_coding?4(text)
+eric5.Utilities.get_codingBytes?4(text)
 eric5.Utilities.hasEnvironmentEntry?4(key)
 eric5.Utilities.html_encode?4(text, pattern=_escape)
 eric5.Utilities.html_uencode?4(text, pattern=_uescape)
@@ -5229,6 +5233,7 @@
 eric5.Utilities.prepareQtMacBundle?4(toolname, version, args)
 eric5.Utilities.pwDecode?4(epw)
 eric5.Utilities.pwEncode?4(pw)
+eric5.Utilities.readEncodedFile?4(filename)
 eric5.Utilities.relpath?4(path, start = os.path.curdir)
 eric5.Utilities.samepath?4(f1, f2)
 eric5.Utilities.setConfigDir?4(d)
@@ -5241,6 +5246,7 @@
 eric5.Utilities.uic.pyName?4(py_dir, py_file)
 eric5.Utilities.win32_GetUserName?4()
 eric5.Utilities.win32_Kill?4(pid)
+eric5.Utilities.writeEncodedFile?4(filename, text, orig_coding)
 eric5.VCS.CommandOptionsDialog.vcsCommandOptionsDialog.getOptions?4()
 eric5.VCS.CommandOptionsDialog.vcsCommandOptionsDialog?1(vcs, parent=None)
 eric5.VCS.ProjectBrowserHelper.VcsProjectBrowserHelper._VCSAdd?5()
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Mon Jan 11 17:42:24 2010 +0000
+++ b/Documentation/Help/source.qhp	Mon Jan 11 18:05:51 2010 +0000
@@ -2048,11 +2048,14 @@
       <keyword name="TemplatePropertiesDialog.on_helpButton_clicked" id="TemplatePropertiesDialog.on_helpButton_clicked" ref="eric5.Templates.TemplatePropertiesDialog.html#TemplatePropertiesDialog.on_helpButton_clicked" />
       <keyword name="TemplatePropertiesDialog.setSelectedGroup" id="TemplatePropertiesDialog.setSelectedGroup" ref="eric5.Templates.TemplatePropertiesDialog.html#TemplatePropertiesDialog.setSelectedGroup" />
       <keyword name="Utilities (Package)" id="Utilities (Package)" ref="index-eric5.Utilities.html" />
+      <keyword name="CodingError" id="CodingError" ref="eric5.Utilities.__init__.html#CodingError" />
       <keyword name="_percentReplacementFunc" id="_percentReplacementFunc" ref="eric5.Utilities.__init__.html#_percentReplacementFunc" />
       <keyword name="compactPath" id="compactPath" ref="eric5.Utilities.__init__.html#compactPath" />
       <keyword name="compile" id="compile" ref="eric5.Utilities.__init__.html#compile" />
       <keyword name="convertLineEnds" id="convertLineEnds" ref="eric5.Utilities.__init__.html#convertLineEnds" />
+      <keyword name="decode" id="decode" ref="eric5.Utilities.__init__.html#decode" />
       <keyword name="direntries" id="direntries" ref="eric5.Utilities.__init__.html#direntries" />
+      <keyword name="encode" id="encode" ref="eric5.Utilities.__init__.html#encode" />
       <keyword name="escape_entities" id="escape_entities" ref="eric5.Utilities.__init__.html#escape_entities" />
       <keyword name="escape_uentities" id="escape_uentities" ref="eric5.Utilities.__init__.html#escape_uentities" />
       <keyword name="fromNativeSeparators" id="fromNativeSeparators" ref="eric5.Utilities.__init__.html#fromNativeSeparators" />
@@ -2072,6 +2075,8 @@
       <keyword name="getPythonVersion" id="getPythonVersion" ref="eric5.Utilities.__init__.html#getPythonVersion" />
       <keyword name="getTestFileName" id="getTestFileName" ref="eric5.Utilities.__init__.html#getTestFileName" />
       <keyword name="getUserName" id="getUserName" ref="eric5.Utilities.__init__.html#getUserName" />
+      <keyword name="get_coding" id="get_coding" ref="eric5.Utilities.__init__.html#get_coding" />
+      <keyword name="get_codingBytes" id="get_codingBytes" ref="eric5.Utilities.__init__.html#get_codingBytes" />
       <keyword name="hasEnvironmentEntry" id="hasEnvironmentEntry" ref="eric5.Utilities.__init__.html#hasEnvironmentEntry" />
       <keyword name="html_encode" id="html_encode" ref="eric5.Utilities.__init__.html#html_encode" />
       <keyword name="html_uencode" id="html_uencode" ref="eric5.Utilities.__init__.html#html_uencode" />
@@ -2091,6 +2096,7 @@
       <keyword name="prepareQtMacBundle" id="prepareQtMacBundle" ref="eric5.Utilities.__init__.html#prepareQtMacBundle" />
       <keyword name="pwDecode" id="pwDecode" ref="eric5.Utilities.__init__.html#pwDecode" />
       <keyword name="pwEncode" id="pwEncode" ref="eric5.Utilities.__init__.html#pwEncode" />
+      <keyword name="readEncodedFile" id="readEncodedFile" ref="eric5.Utilities.__init__.html#readEncodedFile" />
       <keyword name="relpath" id="relpath" ref="eric5.Utilities.__init__.html#relpath" />
       <keyword name="samepath" id="samepath" ref="eric5.Utilities.__init__.html#samepath" />
       <keyword name="setConfigDir" id="setConfigDir" ref="eric5.Utilities.__init__.html#setConfigDir" />
@@ -2098,6 +2104,10 @@
       <keyword name="toNativeSeparators" id="toNativeSeparators" ref="eric5.Utilities.__init__.html#toNativeSeparators" />
       <keyword name="win32_GetUserName" id="win32_GetUserName" ref="eric5.Utilities.__init__.html#win32_GetUserName" />
       <keyword name="win32_Kill" id="win32_Kill" ref="eric5.Utilities.__init__.html#win32_Kill" />
+      <keyword name="writeEncodedFile" id="writeEncodedFile" ref="eric5.Utilities.__init__.html#writeEncodedFile" />
+      <keyword name="CodingError (Constructor)" id="CodingError (Constructor)" ref="eric5.Utilities.__init__.html#CodingError.__init__" />
+      <keyword name="CodingError.__repr__" id="CodingError.__repr__" ref="eric5.Utilities.__init__.html#CodingError.__repr__" />
+      <keyword name="CodingError.__str__" id="CodingError.__str__" ref="eric5.Utilities.__init__.html#CodingError.__str__" />
       <keyword name="Startup (Module)" id="Startup (Module)" ref="eric5.Utilities.Startup.html" />
       <keyword name="handleArgs" id="handleArgs" ref="eric5.Utilities.Startup.html#handleArgs" />
       <keyword name="initializeResourceSearchPath" id="initializeResourceSearchPath" ref="eric5.Utilities.Startup.html#initializeResourceSearchPath" />
@@ -2983,7 +2993,6 @@
       <keyword name="XMLHandlerBase.startSet" id="XMLHandlerBase.startSet" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.startSet" />
       <keyword name="XMLHandlerBase.startTuple" id="XMLHandlerBase.startTuple" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.startTuple" />
       <keyword name="XMLHandlerBase.unescape" id="XMLHandlerBase.unescape" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.unescape" />
-      <keyword name="XMLHandlerBase.utf8_to_code" id="XMLHandlerBase.utf8_to_code" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.utf8_to_code" />
       <keyword name="MultiProjectWriter (Module)" id="MultiProjectWriter (Module)" ref="eric5.E4XML.MultiProjectWriter.html" />
       <keyword name="MultiProjectWriter" id="MultiProjectWriter" ref="eric5.E4XML.MultiProjectWriter.html#MultiProjectWriter" />
       <keyword name="MultiProjectWriter (Constructor)" id="MultiProjectWriter (Constructor)" ref="eric5.E4XML.MultiProjectWriter.html#MultiProjectWriter.__init__" />
@@ -5259,7 +5268,6 @@
       <keyword name="MiniEditor.getFileName" id="MiniEditor.getFileName" ref="eric5.QScintilla.MiniEditor.html#MiniEditor.getFileName" />
       <keyword name="MiniEditor.getLanguage" id="MiniEditor.getLanguage" ref="eric5.QScintilla.MiniEditor.html#MiniEditor.getLanguage" />
       <keyword name="MiniEditor.getSRHistory" id="MiniEditor.getSRHistory" ref="eric5.QScintilla.MiniEditor.html#MiniEditor.getSRHistory" />
-      <keyword name="MiniEditor.readLine0" id="MiniEditor.readLine0" ref="eric5.QScintilla.MiniEditor.html#MiniEditor.readLine0" />
       <keyword name="MiniEditor.setLanguage" id="MiniEditor.setLanguage" ref="eric5.QScintilla.MiniEditor.html#MiniEditor.setLanguage" />
       <keyword name="MiniEditor.setSearchIndicator" id="MiniEditor.setSearchIndicator" ref="eric5.QScintilla.MiniEditor.html#MiniEditor.setSearchIndicator" />
       <keyword name="MiniEditor.setText" id="MiniEditor.setText" ref="eric5.QScintilla.MiniEditor.html#MiniEditor.setText" />
@@ -5568,7 +5576,6 @@
       <keyword name="Editor.printPreviewFile" id="Editor.printPreviewFile" ref="eric5.QScintilla.Editor.html#Editor.printPreviewFile" />
       <keyword name="Editor.projectLexerAssociationsChanged" id="Editor.projectLexerAssociationsChanged" ref="eric5.QScintilla.Editor.html#Editor.projectLexerAssociationsChanged" />
       <keyword name="Editor.readFile" id="Editor.readFile" ref="eric5.QScintilla.Editor.html#Editor.readFile" />
-      <keyword name="Editor.readLine0" id="Editor.readLine0" ref="eric5.QScintilla.Editor.html#Editor.readLine0" />
       <keyword name="Editor.readSettings" id="Editor.readSettings" ref="eric5.QScintilla.Editor.html#Editor.readSettings" />
       <keyword name="Editor.redo" id="Editor.redo" ref="eric5.QScintilla.Editor.html#Editor.redo" />
       <keyword name="Editor.refresh" id="Editor.refresh" ref="eric5.QScintilla.Editor.html#Editor.refresh" />
--- a/Documentation/Source/eric5.E4XML.XMLHandlerBase.html	Mon Jan 11 17:42:24 2010 +0000
+++ b/Documentation/Source/eric5.E4XML.XMLHandlerBase.html	Mon Jan 11 18:05:51 2010 +0000
@@ -143,9 +143,6 @@
 </tr><tr>
 <td><a href="#XMLHandlerBase.unescape">unescape</a></td>
 <td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#117;&#115;&#101;&#100; &#116;&#111; &#117;&#110;&#101;&#115;&#99;&#97;&#112;&#101; &#99;&#101;&#114;&#116;&#97;&#105;&#110; &#99;&#104;&#97;&#114;&#97;&#99;&#116;&#101;&#114;&#115;.</td>
-</tr><tr>
-<td><a href="#XMLHandlerBase.utf8_to_code">utf8_to_code</a></td>
-<td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#111;&#110;v&#101;&#114;&#116; &#97; &#115;&#116;&#114;&#105;&#110;&#103; &#116;&#111; &#117;&#110;&#105;&#99;&#111;&#100;&#101; &#97;&#110;&#100; &#101;&#110;&#99;&#111;&#100;&#101; &#105;&#116; &#102;&#111;&#114; &#88;&#77;&#76;.</td>
 </tr>
 </table>
 <a NAME="XMLHandlerBase.__init__" ID="XMLHandlerBase.__init__"></a>
@@ -364,16 +361,6 @@
 <dd>
 &#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#117;&#110;&#101;&#115;&#99;&#97;&#112;&#105;&#110;&#103; &#105;&#115; &#100;&#111;&#110;&#101; &#102;&#111;&#114; &#97;&#110; &#97;&#116;&#116;&#114;&#105;&#98;&#117;&#116;&#101;
 </dd>
-</dl><a NAME="XMLHandlerBase.utf8_to_code" ID="XMLHandlerBase.utf8_to_code"></a>
-<h4>XMLHandlerBase.utf8_to_code</h4>
-<b>utf8_to_code</b>(<i>text</i>)
-<p>
-        &#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#111;&#110;v&#101;&#114;&#116; &#97; &#115;&#116;&#114;&#105;&#110;&#103; &#116;&#111; &#117;&#110;&#105;&#99;&#111;&#100;&#101; &#97;&#110;&#100; &#101;&#110;&#99;&#111;&#100;&#101; &#105;&#116; &#102;&#111;&#114; &#88;&#77;&#76;.
-</p><dl>
-<dt><i>text</i></dt>
-<dd>
-&#116;&#104;&#101; &#116;&#101;x&#116; &#116;&#111; &#101;&#110;&#99;&#111;&#100;&#101; (&#115;&#116;&#114;&#105;&#110;&#103;)
-</dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
--- a/Documentation/Source/eric5.Project.Project.html	Mon Jan 11 17:42:24 2010 +0000
+++ b/Documentation/Source/eric5.Project.Project.html	Mon Jan 11 18:05:51 2010 +0000
@@ -708,7 +708,7 @@
 </dl><dl>
 <dt>Returns:</dt>
 <dd>
-&#109;&#111;&#100;&#105;&#102;&#105;&#101;&#100; &#115;&#111;&#117;&#114;&#99;&#101; (&#115;&#116;&#114;&#105;&#110;&#103;), &#115;&#110;&#97;&#112;&#115;&#104;&#111;&#116; v&#101;&#114;&#115;&#105;&#111;&#110; &#115;&#116;&#114;&#105;&#110;&#103; (&#115;&#116;&#114;&#105;&#110;&#103;)
+&#109;&#111;&#100;&#105;&#102;&#105;&#101;&#100; &#115;&#111;&#117;&#114;&#99;&#101; (&#98;y&#116;&#101;&#115;), &#115;&#110;&#97;&#112;&#115;&#104;&#111;&#116; v&#101;&#114;&#115;&#105;&#111;&#110; &#115;&#116;&#114;&#105;&#110;&#103; (&#115;&#116;&#114;&#105;&#110;&#103;)
 </dd>
 </dl><a NAME="Project.__createZipDirEntries" ID="Project.__createZipDirEntries"></a>
 <h4>Project.__createZipDirEntries</h4>
@@ -811,7 +811,7 @@
 </p><dl>
 <dt><i>filename</i></dt>
 <dd>
-&#110;&#97;&#109;&#101; &#111;&#102; &#116;&#104;&#101; &#112;&#108;&#117;&#103;&#105;&#110; &#102;&#105;&#108;&#101; &#116;&#111; &#109;&#111;&#100;&#105;&#102;y (&#115;&#116;&#114;&#105;&#110;&#103;)
+&#110;&#97;&#109;&#101; &#111;&#102; &#116;&#104;&#101; &#112;&#108;&#117;&#103;&#105;&#110; &#102;&#105;&#108;&#101; (&#115;&#116;&#114;&#105;&#110;&#103;)
 </dd>
 </dl><dl>
 <dt>Returns:</dt>
--- a/Documentation/Source/eric5.QScintilla.Editor.html	Mon Jan 11 17:42:24 2010 +0000
+++ b/Documentation/Source/eric5.QScintilla.Editor.html	Mon Jan 11 18:05:51 2010 +0000
@@ -770,9 +770,6 @@
 <td><a href="#Editor.readFile">readFile</a></td>
 <td>&#80;&#117;&#98;&#108;&#105;&#99; &#115;&#108;&#111;&#116; &#116;&#111; &#114;&#101;&#97;&#100; &#116;&#104;&#101; &#116;&#101;x&#116; &#102;&#114;&#111;&#109; &#97; &#102;&#105;&#108;&#101;.</td>
 </tr><tr>
-<td><a href="#Editor.readLine0">readLine0</a></td>
-<td>&#80;&#117;&#98;&#108;&#105;&#99; &#115;&#108;&#111;&#116; &#116;&#111; &#114;&#101;&#97;&#100; &#116;&#104;&#101; &#102;&#105;&#114;&#115;&#116; &#108;&#105;&#110;&#101; &#102;&#114;&#111;&#109; &#97; &#102;&#105;&#108;&#101;.</td>
-</tr><tr>
 <td><a href="#Editor.readSettings">readSettings</a></td>
 <td>&#80;&#117;&#98;&#108;&#105;&#99; &#115;&#108;&#111;&#116; &#116;&#111; &#114;&#101;&#97;&#100; &#116;&#104;&#101; &#115;&#101;&#116;&#116;&#105;&#110;&#103;&#115; &#105;&#110;&#116;&#111; &#111;&#117;&#114; &#108;&#101;x&#101;&#114;.</td>
 </tr><tr>
@@ -2660,25 +2657,6 @@
 &#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#99;&#114;&#101;&#97;&#116;&#105;&#111;&#110; &#111;&#102; &#97; &#110;&#101;w &#102;&#105;&#108;&#101;, &#105;&#102; &#116;&#104;&#101; &#103;&#105;v&#101;&#110;
             &#111;&#110;&#101; &#100;&#111;&#101;&#115;&#110;'&#116; &#101;x&#105;&#115;&#116; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;)
 </dd>
-</dl><a NAME="Editor.readLine0" ID="Editor.readLine0"></a>
-<h4>Editor.readLine0</h4>
-<b>readLine0</b>(<i>fn, createIt = False</i>)
-<p>
-        &#80;&#117;&#98;&#108;&#105;&#99; &#115;&#108;&#111;&#116; &#116;&#111; &#114;&#101;&#97;&#100; &#116;&#104;&#101; &#102;&#105;&#114;&#115;&#116; &#108;&#105;&#110;&#101; &#102;&#114;&#111;&#109; &#97; &#102;&#105;&#108;&#101;.
-</p><dl>
-<dt><i>fn</i></dt>
-<dd>
-&#102;&#105;&#108;&#101;&#110;&#97;&#109;&#101; &#116;&#111; &#114;&#101;&#97;&#100; &#102;&#114;&#111;&#109; (&#115;&#116;&#114;&#105;&#110;&#103;)
-</dd><dt><i>createIt</i></dt>
-<dd>
-&#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#99;&#114;&#101;&#97;&#116;&#105;&#111;&#110; &#111;&#102; &#97; &#110;&#101;w &#102;&#105;&#108;&#101;, &#105;&#102; &#116;&#104;&#101; &#103;&#105;v&#101;&#110;
-            &#111;&#110;&#101; &#100;&#111;&#101;&#115;&#110;'&#116; &#101;x&#105;&#115;&#116; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-&#102;&#105;&#114;&#115;&#116; &#108;&#105;&#110;&#101; &#111;&#102; &#116;&#104;&#101; &#102;&#105;&#108;&#101; (&#115;&#116;&#114;&#105;&#110;&#103;)
-</dd>
 </dl><a NAME="Editor.readSettings" ID="Editor.readSettings"></a>
 <h4>Editor.readSettings</h4>
 <b>readSettings</b>(<i></i>)
@@ -2982,7 +2960,7 @@
 </dl><dl>
 <dt>Returns:</dt>
 <dd>
-&#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#115;&#117;&#99;&#99;&#101;&#115;&#115;
+&#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#115;&#117;&#99;&#99;&#101;&#115;&#115; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric5.QScintilla.MiniEditor.html	Mon Jan 11 17:42:24 2010 +0000
+++ b/Documentation/Source/eric5.QScintilla.MiniEditor.html	Mon Jan 11 18:05:51 2010 +0000
@@ -252,9 +252,6 @@
 <td><a href="#MiniEditor.getSRHistory">getSRHistory</a></td>
 <td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#103;&#101;&#116; &#116;&#104;&#101; &#115;&#101;&#97;&#114;&#99;&#104; &#111;&#114; &#114;&#101;&#112;&#108;&#97;&#99;&#101; &#104;&#105;&#115;&#116;&#111;&#114;y &#108;&#105;&#115;&#116;.</td>
 </tr><tr>
-<td><a href="#MiniEditor.readLine0">readLine0</a></td>
-<td>&#80;&#117;&#98;&#108;&#105;&#99; &#115;&#108;&#111;&#116; &#116;&#111; &#114;&#101;&#97;&#100; &#116;&#104;&#101; &#102;&#105;&#114;&#115;&#116; &#108;&#105;&#110;&#101; &#102;&#114;&#111;&#109; &#97; &#102;&#105;&#108;&#101;.</td>
-</tr><tr>
 <td><a href="#MiniEditor.setLanguage">setLanguage</a></td>
 <td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#115;&#101;&#116; &#97; &#108;&#101;x&#101;&#114; &#108;&#97;&#110;&#103;&#117;&#97;&#103;&#101;.</td>
 </tr><tr>
@@ -764,25 +761,6 @@
 <dd>
 &#116;&#104;&#101; &#114;&#101;&#113;&#117;&#101;&#115;&#116;&#101;&#100; &#104;&#105;&#115;&#116;&#111;&#114;y &#108;&#105;&#115;&#116; (&#108;&#105;&#115;&#116; &#111;&#102; &#115;&#116;&#114;&#105;&#110;&#103;&#115;)
 </dd>
-</dl><a NAME="MiniEditor.readLine0" ID="MiniEditor.readLine0"></a>
-<h4>MiniEditor.readLine0</h4>
-<b>readLine0</b>(<i>fn, createIt = False</i>)
-<p>
-        &#80;&#117;&#98;&#108;&#105;&#99; &#115;&#108;&#111;&#116; &#116;&#111; &#114;&#101;&#97;&#100; &#116;&#104;&#101; &#102;&#105;&#114;&#115;&#116; &#108;&#105;&#110;&#101; &#102;&#114;&#111;&#109; &#97; &#102;&#105;&#108;&#101;.
-</p><dl>
-<dt><i>fn</i></dt>
-<dd>
-&#102;&#105;&#108;&#101;&#110;&#97;&#109;&#101; &#116;&#111; &#114;&#101;&#97;&#100; &#102;&#114;&#111;&#109; (&#115;&#116;&#114;&#105;&#110;&#103;)
-</dd><dt><i>createIt</i></dt>
-<dd>
-&#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#99;&#114;&#101;&#97;&#116;&#105;&#111;&#110; &#111;&#102; &#97; &#110;&#101;w &#102;&#105;&#108;&#101;, &#105;&#102; &#116;&#104;&#101; &#103;&#105;v&#101;&#110;
-            &#111;&#110;&#101; &#100;&#111;&#101;&#115;&#110;'&#116; &#101;x&#105;&#115;&#116; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-&#102;&#105;&#114;&#115;&#116; &#108;&#105;&#110;&#101; &#111;&#102; &#116;&#104;&#101; &#102;&#105;&#108;&#101; (&#115;&#116;&#114;&#105;&#110;&#103;)
-</dd>
 </dl><a NAME="MiniEditor.setLanguage" ID="MiniEditor.setLanguage"></a>
 <h4>MiniEditor.setLanguage</h4>
 <b>setLanguage</b>(<i>filename, initTextDisplay = True, pyname = ""</i>)
--- a/Documentation/Source/eric5.UI.EmailDialog.html	Mon Jan 11 17:42:24 2010 +0000
+++ b/Documentation/Source/eric5.UI.EmailDialog.html	Mon Jan 11 18:05:51 2010 +0000
@@ -39,7 +39,7 @@
 <table>
 <tr>
 <td><a href="#_encode_base64">_encode_base64</a></td>
-<td>&#69;&#110;&#99;&#111;&#100;&#101; &#116;&#104;&#101; &#109;&#101;&#115;&#115;&#97;&#103;&#101;'&#115; &#112;&#97;y&#108;&#111;&#97;&#100; &#105;&#110; &#66;&#97;&#115;&#101;&#54;&#52;.</td>
+<td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#101;&#110;&#99;&#111;&#100;&#101; &#116;&#104;&#101; &#109;&#101;&#115;&#115;&#97;&#103;&#101;'&#115; &#112;&#97;y&#108;&#111;&#97;&#100; &#105;&#110; &#66;&#97;&#115;&#101;&#54;&#52;.</td>
 </tr>
 </table>
 <hr /><hr />
@@ -226,10 +226,15 @@
 <h2>_encode_base64</h2>
 <b>_encode_base64</b>(<i>msg</i>)
 <p>
-&#69;&#110;&#99;&#111;&#100;&#101; &#116;&#104;&#101; &#109;&#101;&#115;&#115;&#97;&#103;&#101;'&#115; &#112;&#97;y&#108;&#111;&#97;&#100; &#105;&#110; &#66;&#97;&#115;&#101;&#54;&#52;.
+    &#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#101;&#110;&#99;&#111;&#100;&#101; &#116;&#104;&#101; &#109;&#101;&#115;&#115;&#97;&#103;&#101;'&#115; &#112;&#97;y&#108;&#111;&#97;&#100; &#105;&#110; &#66;&#97;&#115;&#101;&#54;&#52;.
 </p><p>
-    &#65;&#108;&#115;&#111;, &#97;&#100;&#100; &#97;&#110; &#97;&#112;&#112;&#114;&#111;&#112;&#114;&#105;&#97;&#116;&#101; &#67;&#111;&#110;&#116;&#101;&#110;&#116;-&#84;&#114;&#97;&#110;&#115;&#102;&#101;&#114;-&#69;&#110;&#99;&#111;&#100;&#105;&#110;&#103; &#104;&#101;&#97;&#100;&#101;&#114;.
-</p>
+    &#78;&#111;&#116;&#101;&#58; &#73;&#116; &#97;&#100;&#100;&#115; &#97;&#110; &#97;&#112;&#112;&#114;&#111;&#112;&#114;&#105;&#97;&#116;&#101; &#67;&#111;&#110;&#116;&#101;&#110;&#116;-&#84;&#114;&#97;&#110;&#115;&#102;&#101;&#114;-&#69;&#110;&#99;&#111;&#100;&#105;&#110;&#103; &#104;&#101;&#97;&#100;&#101;&#114;.
+</p><dl>
+<dt><i>msg</i></dt>
+<dd>
+&#114;&#101;&#102;&#101;&#114;&#101;&#110;&#99;&#101; &#116;&#111; &#116;&#104;&#101; &#109;&#101;&#115;&#115;&#97;&#103;&#101; &#111;&#98;&#106;&#101;&#99;&#116; (&#101;&#109;&#97;&#105;&#108;.&#77;&#101;&#115;&#115;&#97;&#103;&#101;)
+</dd>
+</dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 </body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.Utilities.__init__.html	Mon Jan 11 17:42:24 2010 +0000
+++ b/Documentation/Source/eric5.Utilities.__init__.html	Mon Jan 11 18:05:51 2010 +0000
@@ -26,11 +26,14 @@
 </p>
 <h3>Global Attributes</h3>
 <table>
-<tr><td>_escape</td></tr><tr><td>_escape_map</td></tr><tr><td>_uescape</td></tr><tr><td>configDir</td></tr><tr><td>supportedCodecs</td></tr>
+<tr><td>_escape</td></tr><tr><td>_escape_map</td></tr><tr><td>_uescape</td></tr><tr><td>codingBytes_regexps</td></tr><tr><td>coding_regexps</td></tr><tr><td>configDir</td></tr><tr><td>supportedCodecs</td></tr>
 </table>
 <h3>Classes</h3>
 <table>
-<tr><td>None</td></tr>
+<tr>
+<td><a href="#CodingError">CodingError</a></td>
+<td>&#67;&#108;&#97;&#115;&#115; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#97;&#110; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;, w&#104;&#105;&#99;&#104; &#105;&#115; &#114;&#97;&#105;&#115;&#101;&#100;, &#105;&#102; &#97; &#103;&#105;v&#101;&#110; &#99;&#111;&#100;&#105;&#110;&#103; &#105;&#115; &#105;&#110;&#99;&#111;&#114;&#114;&#101;&#99;&#116;.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 <table>
@@ -47,9 +50,15 @@
 <td><a href="#convertLineEnds">convertLineEnds</a></td>
 <td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#99;&#111;&#110;v&#101;&#114;&#116; &#116;&#104;&#101; &#101;&#110;&#100; &#111;&#102; &#108;&#105;&#110;&#101; &#99;&#104;&#97;&#114;&#97;&#99;&#116;&#101;&#114;&#115;.</td>
 </tr><tr>
+<td><a href="#decode">decode</a></td>
+<td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#100;&#101;&#99;&#111;&#100;&#101; &#115;&#111;&#109;&#101; &#98;y&#116;&#101; &#116;&#101;x&#116; &#105;&#110;&#116;&#111; &#97; &#115;&#116;&#114;&#105;&#110;&#103;.</td>
+</tr><tr>
 <td><a href="#direntries">direntries</a></td>
 <td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#114;&#101;&#116;&#117;&#114;&#110;&#105;&#110;&#103; &#97; &#108;&#105;&#115;&#116; &#111;&#102; &#97;&#108;&#108; &#102;&#105;&#108;&#101;&#115; &#97;&#110;&#100; &#100;&#105;&#114;&#101;&#99;&#116;&#111;&#114;&#105;&#101;&#115;.</td>
 </tr><tr>
+<td><a href="#encode">encode</a></td>
+<td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#101;&#110;&#99;&#111;&#100;&#101; &#116;&#101;x&#116; &#105;&#110;&#116;&#111; &#97; &#98;y&#116;&#101; &#116;&#101;x&#116;.</td>
+</tr><tr>
 <td><a href="#escape_entities">escape_entities</a></td>
 <td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#101;&#110;&#99;&#111;&#100;&#101; &#104;&#116;&#109;&#108; &#101;&#110;&#116;&#105;&#116;&#105;&#101;&#115;.</td>
 </tr><tr>
@@ -107,6 +116,12 @@
 <td><a href="#getUserName">getUserName</a></td>
 <td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#103;&#101;&#116; &#116;&#104;&#101; &#117;&#115;&#101;&#114; &#110;&#97;&#109;&#101;.</td>
 </tr><tr>
+<td><a href="#get_coding">get_coding</a></td>
+<td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#103;&#101;&#116; &#116;&#104;&#101; &#99;&#111;&#100;&#105;&#110;&#103; &#111;&#102; &#97; &#116;&#101;x&#116;.</td>
+</tr><tr>
+<td><a href="#get_codingBytes">get_codingBytes</a></td>
+<td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#103;&#101;&#116; &#116;&#104;&#101; &#99;&#111;&#100;&#105;&#110;&#103; &#111;&#102; &#97; &#98;y&#116;&#101;&#115; &#116;&#101;x&#116;.</td>
+</tr><tr>
 <td><a href="#hasEnvironmentEntry">hasEnvironmentEntry</a></td>
 <td>&#77;&#111;&#100;&#117;&#108;&#101; &#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#99;&#104;&#101;&#99;&#107;, &#105;&#102; &#116;&#104;&#101; &#101;&#110;v&#105;&#114;&#111;&#110;&#109;&#101;&#110;&#116; &#99;&#111;&#110;&#116;&#97;&#105;&#110;&#115; &#97;&#110; &#101;&#110;&#116;&#114;y.</td>
 </tr><tr>
@@ -164,6 +179,9 @@
 <td><a href="#pwEncode">pwEncode</a></td>
 <td>&#77;&#111;&#100;&#117;&#108;&#101; &#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#101;&#110;&#99;&#111;&#100;&#101; &#97; &#112;&#97;&#115;&#115;w&#111;&#114;&#100;.</td>
 </tr><tr>
+<td><a href="#readEncodedFile">readEncodedFile</a></td>
+<td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#114;&#101;&#97;&#100; &#97; &#102;&#105;&#108;&#101; &#97;&#110;&#100; &#100;&#101;&#99;&#111;&#100;&#101; &#105;&#116;'&#115; &#99;&#111;&#110;&#116;&#101;&#110;&#116;&#115; &#105;&#110;&#116;&#111; &#112;&#114;&#111;&#112;&#101;&#114; &#116;&#101;x&#116;.</td>
+</tr><tr>
 <td><a href="#relpath">relpath</a></td>
 <td>&#82;&#101;&#116;&#117;&#114;&#110; &#97; &#114;&#101;&#108;&#97;&#116;&#105;v&#101; v&#101;&#114;&#115;&#105;&#111;&#110; &#111;&#102; &#97; &#112;&#97;&#116;&#104;.</td>
 </tr><tr>
@@ -184,9 +202,64 @@
 </tr><tr>
 <td><a href="#win32_Kill">win32_Kill</a></td>
 <td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#112;&#114;&#111;v&#105;&#100;&#101; &#97;&#110; &#111;&#115;.&#107;&#105;&#108;&#108; &#101;&#113;&#117;&#105;v&#97;&#108;&#101;&#110;&#116; &#102;&#111;&#114; &#87;&#105;&#110;&#51;&#50;.</td>
+</tr><tr>
+<td><a href="#writeEncodedFile">writeEncodedFile</a></td>
+<td>&#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; w&#114;&#105;&#116;&#101; &#97; &#102;&#105;&#108;&#101; w&#105;&#116;&#104; &#112;&#114;&#111;&#112;&#101;&#114;&#108;y &#101;&#110;&#99;&#111;&#100;&#101;&#100; &#116;&#101;x&#116;.</td>
 </tr>
 </table>
 <hr /><hr />
+<a NAME="CodingError" ID="CodingError"></a>
+<h2>CodingError</h2>
+<p>
+    &#67;&#108;&#97;&#115;&#115; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#97;&#110; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;, w&#104;&#105;&#99;&#104; &#105;&#115; &#114;&#97;&#105;&#115;&#101;&#100;, &#105;&#102; &#97; &#103;&#105;v&#101;&#110; &#99;&#111;&#100;&#105;&#110;&#103; &#105;&#115; &#105;&#110;&#99;&#111;&#114;&#114;&#101;&#99;&#116;.
+</p>
+<h3>Derived from</h3>
+Exception
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#CodingError.__init__">CodingError</a></td>
+<td>&#67;&#111;&#110;&#115;&#116;&#114;&#117;&#99;&#116;&#111;&#114;</td>
+</tr><tr>
+<td><a href="#CodingError.__repr__">__repr__</a></td>
+<td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#114;&#101;&#116;&#117;&#114;&#110;&#105;&#110;&#103; &#97; &#114;&#101;&#112;&#114;&#101;&#115;&#101;&#110;&#116;&#97;&#116;&#105;&#111;&#110; &#111;&#102; &#116;&#104;&#101; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;.</td>
+</tr><tr>
+<td><a href="#CodingError.__str__">__str__</a></td>
+<td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#114;&#101;&#116;&#117;&#114;&#110;&#105;&#110;&#103; &#97; &#115;&#116;&#114;&#105;&#110;&#103; &#114;&#101;&#112;&#114;&#101;&#115;&#101;&#110;&#116;&#97;&#116;&#105;&#111;&#110; &#111;&#102; &#116;&#104;&#101; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;.</td>
+</tr>
+</table>
+<a NAME="CodingError.__init__" ID="CodingError.__init__"></a>
+<h4>CodingError (Constructor)</h4>
+<b>CodingError</b>(<i>coding</i>)
+<p>
+        &#67;&#111;&#110;&#115;&#116;&#114;&#117;&#99;&#116;&#111;&#114;
+</p><a NAME="CodingError.__repr__" ID="CodingError.__repr__"></a>
+<h4>CodingError.__repr__</h4>
+<b>__repr__</b>(<i></i>)
+<p>
+        &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#114;&#101;&#116;&#117;&#114;&#110;&#105;&#110;&#103; &#97; &#114;&#101;&#112;&#114;&#101;&#115;&#101;&#110;&#116;&#97;&#116;&#105;&#111;&#110; &#111;&#102; &#116;&#104;&#101; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+&#115;&#116;&#114;&#105;&#110;&#103; &#114;&#101;&#112;&#114;&#101;&#115;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#101;&#114;&#114;&#111;&#114; &#109;&#101;&#115;&#115;&#97;&#103;&#101;
+</dd>
+</dl><a NAME="CodingError.__str__" ID="CodingError.__str__"></a>
+<h4>CodingError.__str__</h4>
+<b>__str__</b>(<i></i>)
+<p>
+        &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#114;&#101;&#116;&#117;&#114;&#110;&#105;&#110;&#103; &#97; &#115;&#116;&#114;&#105;&#110;&#103; &#114;&#101;&#112;&#114;&#101;&#115;&#101;&#110;&#116;&#97;&#116;&#105;&#111;&#110; &#111;&#102; &#116;&#104;&#101; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+&#115;&#116;&#114;&#105;&#110;&#103; &#114;&#101;&#112;&#114;&#101;&#115;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#101;&#114;&#114;&#111;&#114; &#109;&#101;&#115;&#115;&#97;&#103;&#101;
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="_percentReplacementFunc" ID="_percentReplacementFunc"></a>
 <h2>_percentReplacementFunc</h2>
 <b>_percentReplacementFunc</b>(<i>matchobj</i>)
@@ -274,6 +347,24 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="decode" ID="decode"></a>
+<h2>decode</h2>
+<b>decode</b>(<i>text</i>)
+<p>
+    &#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#100;&#101;&#99;&#111;&#100;&#101; &#115;&#111;&#109;&#101; &#98;y&#116;&#101; &#116;&#101;x&#116; &#105;&#110;&#116;&#111; &#97; &#115;&#116;&#114;&#105;&#110;&#103;.
+</p><dl>
+<dt><i>text</i></dt>
+<dd>
+&#98;y&#116;&#101; &#116;&#101;x&#116; &#116;&#111; &#100;&#101;&#99;&#111;&#100;&#101; (&#98;y&#116;&#101;&#115;)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+&#116;&#117;&#112;&#108;&#101; &#111;&#102; &#100;&#101;&#99;&#111;&#100;&#101;&#100; &#116;&#101;x&#116; &#97;&#110;&#100; &#101;&#110;&#99;&#111;&#100;&#105;&#110;&#103; (&#115;&#116;&#114;&#105;&#110;&#103;, &#115;&#116;&#114;&#105;&#110;&#103;)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="direntries" ID="direntries"></a>
 <h2>direntries</h2>
 <b>direntries</b>(<i>path, filesonly=False, pattern=None, followsymlinks=True, checkStop=None</i>)
@@ -306,6 +397,27 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="encode" ID="encode"></a>
+<h2>encode</h2>
+<b>encode</b>(<i>text, orig_coding</i>)
+<p>
+    &#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#101;&#110;&#99;&#111;&#100;&#101; &#116;&#101;x&#116; &#105;&#110;&#116;&#111; &#97; &#98;y&#116;&#101; &#116;&#101;x&#116;.
+</p><dl>
+<dt><i>text</i></dt>
+<dd>
+&#116;&#101;x&#116; &#116;&#111; &#98;&#101; &#101;&#110;&#99;&#111;&#100;&#101;&#100; (&#115;&#116;&#114;&#105;&#110;&#103;)
+</dd><dt><i>orig_coding</i></dt>
+<dd>
+&#116;y&#112;&#101; &#111;&#102; &#116;&#104;&#101; &#111;&#114;&#105;&#103;&#105;&#110;&#97;&#108; &#101;&#110;&#99;&#111;&#100;&#105;&#110;&#103; (&#115;&#116;&#114;&#105;&#110;&#103;)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+&#116;&#117;&#112;&#108;&#101; &#111;&#102; &#101;&#110;&#99;&#111;&#100;&#101;&#100; &#116;&#101;x&#116; &#97;&#110;&#100; &#101;&#110;&#99;&#111;&#100;&#105;&#110;&#103; &#117;&#115;&#101;&#100; (&#98;y&#116;&#101;&#115;, &#115;&#116;&#114;&#105;&#110;&#103;)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="escape_entities" ID="escape_entities"></a>
 <h2>escape_entities</h2>
 <b>escape_entities</b>(<i>m, map=_escape_map</i>)
@@ -629,6 +741,42 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="get_coding" ID="get_coding"></a>
+<h2>get_coding</h2>
+<b>get_coding</b>(<i>text</i>)
+<p>
+    &#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#103;&#101;&#116; &#116;&#104;&#101; &#99;&#111;&#100;&#105;&#110;&#103; &#111;&#102; &#97; &#116;&#101;x&#116;.
+</p><dl>
+<dt><i>text</i></dt>
+<dd>
+&#116;&#101;x&#116; &#116;&#111; &#105;&#110;&#115;&#112;&#101;&#99;&#116; (&#115;&#116;&#114;&#105;&#110;&#103;)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+&#99;&#111;&#100;&#105;&#110;&#103; &#115;&#116;&#114;&#105;&#110;&#103;
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="get_codingBytes" ID="get_codingBytes"></a>
+<h2>get_codingBytes</h2>
+<b>get_codingBytes</b>(<i>text</i>)
+<p>
+    &#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#103;&#101;&#116; &#116;&#104;&#101; &#99;&#111;&#100;&#105;&#110;&#103; &#111;&#102; &#97; &#98;y&#116;&#101;&#115; &#116;&#101;x&#116;.
+</p><dl>
+<dt><i>text</i></dt>
+<dd>
+&#98;y&#116;&#101;&#115; &#116;&#101;x&#116; &#116;&#111; &#105;&#110;&#115;&#112;&#101;&#99;&#116; (&#98;y&#116;&#101;&#115;)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+&#99;&#111;&#100;&#105;&#110;&#103; &#115;&#116;&#114;&#105;&#110;&#103;
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="hasEnvironmentEntry" ID="hasEnvironmentEntry"></a>
 <h2>hasEnvironmentEntry</h2>
 <b>hasEnvironmentEntry</b>(<i>key</i>)
@@ -990,6 +1138,24 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="readEncodedFile" ID="readEncodedFile"></a>
+<h2>readEncodedFile</h2>
+<b>readEncodedFile</b>(<i>filename</i>)
+<p>
+    &#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#114;&#101;&#97;&#100; &#97; &#102;&#105;&#108;&#101; &#97;&#110;&#100; &#100;&#101;&#99;&#111;&#100;&#101; &#105;&#116;'&#115; &#99;&#111;&#110;&#116;&#101;&#110;&#116;&#115; &#105;&#110;&#116;&#111; &#112;&#114;&#111;&#112;&#101;&#114; &#116;&#101;x&#116;.
+</p><dl>
+<dt><i>filename</i></dt>
+<dd>
+&#110;&#97;&#109;&#101; &#111;&#102; &#116;&#104;&#101; &#102;&#105;&#108;&#101; &#116;&#111; &#114;&#101;&#97;&#100; (&#115;&#116;&#114;&#105;&#110;&#103;)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+&#116;&#117;&#112;&#108;&#101; &#111;&#102; &#100;&#101;&#99;&#111;&#100;&#101;&#100; &#116;&#101;x&#116; &#97;&#110;&#100; &#101;&#110;&#99;&#111;&#100;&#105;&#110;&#103; (&#115;&#116;&#114;&#105;&#110;&#103;, &#115;&#116;&#114;&#105;&#110;&#103;)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="relpath" ID="relpath"></a>
 <h2>relpath</h2>
 <b>relpath</b>(<i>path, start = os.path.curdir</i>)
@@ -1102,5 +1268,29 @@
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="writeEncodedFile" ID="writeEncodedFile"></a>
+<h2>writeEncodedFile</h2>
+<b>writeEncodedFile</b>(<i>filename, text, orig_coding</i>)
+<p>
+    &#70;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#116;&#111; w&#114;&#105;&#116;&#101; &#97; &#102;&#105;&#108;&#101; w&#105;&#116;&#104; &#112;&#114;&#111;&#112;&#101;&#114;&#108;y &#101;&#110;&#99;&#111;&#100;&#101;&#100; &#116;&#101;x&#116;.
+</p><dl>
+<dt><i>filename</i></dt>
+<dd>
+&#110;&#97;&#109;&#101; &#111;&#102; &#116;&#104;&#101; &#102;&#105;&#108;&#101; &#116;&#111; &#114;&#101;&#97;&#100; (&#115;&#116;&#114;&#105;&#110;&#103;)
+</dd><dt><i>text</i></dt>
+<dd>
+&#116;&#101;x&#116; &#116;&#111; &#98;&#101; w&#114;&#105;&#116;&#116;&#101;&#110; (&#115;&#116;&#114;&#105;&#110;&#103;)
+</dd><dt><i>orig_coding</i></dt>
+<dd>
+&#116;y&#112;&#101; &#111;&#102; &#116;&#104;&#101; &#111;&#114;&#105;&#103;&#105;&#110;&#97;&#108; &#101;&#110;&#99;&#111;&#100;&#105;&#110;&#103; (&#115;&#116;&#114;&#105;&#110;&#103;)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+&#101;&#110;&#99;&#111;&#100;&#105;&#110;&#103; &#117;&#115;&#101;&#100; &#102;&#111;&#114; w&#114;&#105;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#102;&#105;&#108;&#101; (&#115;&#116;&#114;&#105;&#110;&#103;)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
 <hr />
 </body></html>
\ No newline at end of file
--- a/PluginManager/PluginInstallDialog.py	Mon Jan 11 17:42:24 2010 +0000
+++ b/PluginManager/PluginInstallDialog.py	Mon Jan 11 18:05:51 2010 +0000
@@ -268,7 +268,7 @@
                             """writeable. Aborting...</p>""").format(destination), \
                 False
         
-        zip = zipfile.ZipFile(archive, "r")
+        zip = zipfile.ZipFile(archive, "rb")
         
         # check, if the archive contains a valid plugin
         pluginFound = False
@@ -287,7 +287,7 @@
                 False
         
         # parse the plugin module's plugin header
-        pluginSource = zip.read(pluginFileName).decode("utf-8")
+        pluginSource = Utilities.decode(zip.read(pluginFileName))[0]
         packageName = ""
         internalPackages = []
         needsRestart = False
--- a/PluginManager/PluginRepositoryDialog.py	Mon Jan 11 17:42:24 2010 +0000
+++ b/PluginManager/PluginRepositoryDialog.py	Mon Jan 11 18:05:51 2010 +0000
@@ -502,9 +502,9 @@
         if not zipfile.is_zipfile(archive):
             return False
         
-        zip = zipfile.ZipFile(archive, "r")
+        zip = zipfile.ZipFile(archive, "rb")
         try:
-            aversion = zip.read("VERSION")
+            aversion = zip.read("VERSION").decode("utf-8")
         except KeyError:
             aversion = ""
         zip.close()
--- a/Project/Project.py	Mon Jan 11 17:42:24 2010 +0000
+++ b/Project/Project.py	Mon Jan 11 18:05:51 2010 +0000
@@ -4443,9 +4443,9 @@
             os.path.join(self.ppath, self.pdata["MAINSCRIPT"][0].replace(".py", ".zip"))
         try:
             try:
-                archiveFile = zipfile.ZipFile(archive, "w", zipfile.ZIP_DEFLATED)
+                archiveFile = zipfile.ZipFile(archive, "wb", zipfile.ZIP_DEFLATED)
             except RuntimeError:
-                archiveFile = zipfile.ZipFile(archive, "w")
+                archiveFile = zipfile.ZipFile(archive, "wb")
         except IOError as why:
             QMessageBox.critical(None,
                 self.trUtf8("Create Plugin Archive"),
@@ -4477,7 +4477,7 @@
                                 .format(os.path.join(self.ppath, name), str(why)),
                     QMessageBox.StandardButtons(\
                         QMessageBox.Ok))
-        archiveFile.writestr("VERSION", version)
+        archiveFile.writestr("VERSION", version.encode("utf-8"))
         archiveFile.close()
         
         if not archive in self.pdata["OTHERS"]:
@@ -4511,7 +4511,7 @@
         
         if not path in zipFile.namelist():
             self.__createZipDirEntries(os.path.split(path[:-1])[0], zipFile)
-            zipFile.writestr(path, "")
+            zipFile.writestr(path, b"")
     
     def __createSnapshotSource(self, filename):
         """
@@ -4522,13 +4522,12 @@
         and date indicator to the version string.
         
         @param filename name of the plugin file to modify (string)
-        @return modified source (string), snapshot version string (string)
+        @return modified source (bytes), snapshot version string (string)
         """
         try:
-            f = open(filename, "r", encoding = "utf-8")
-            sourcelines = f.readlines()
-            f.close()
-        except IOError as why:
+            sourcelines, encoding = Utilities.readEncodedFile(filename)
+            sourcelines = sourcelines.splitlines(True)
+        except (IOError, UnicodeError) as why:
             QMessageBox.critical(None,
                 self.trUtf8("Create Plugin Archive"),
                 self.trUtf8("""<p>The plugin file <b>{0}</b> could """
@@ -4536,7 +4535,7 @@
                             """<p>Reason: {1}</p>""").format(archive, str(why)),
                 QMessageBox.StandardButtons(\
                     QMessageBox.Ok))
-            return ""
+            return b"", ""
         
         lineno = 0
         while lineno < len(sourcelines):
@@ -4553,21 +4552,21 @@
             
             lineno += 1
         
-        return "".join(sourcelines), sversion
+        source = Utilities.encode("".join(sourcelines), encoding)
+        return source, sversion
     
     def __pluginExtractVersion(self, filename):
         """
         Private method to extract the version number entry.
         
-        @param filename name of the plugin file to modify (string)
+        @param filename name of the plugin file (string)
         @return version string (string)
         """
         version = "0.0.0"
         try:
-            f = open(filename, "r", encoding = "utf-8")
-            sourcelines = f.readlines()
-            f.close()
-        except IOError as why:
+            sourcelines = Utilities.readEncodedFile(filename)[0]
+            sourcelines = sourcelines.splitlines(True)
+        except (IOError, UnicodeError) as why:
             QMessageBox.critical(None,
                 self.trUtf8("Create Plugin Archive"),
                 self.trUtf8("""<p>The plugin file <b>{0}</b> could """
@@ -4577,10 +4576,10 @@
                     QMessageBox.Ok))
             return ""
         
-        lineno = 0
-        while lineno < len(sourcelines):
-            if sourcelines[lineno].startswith("version = "):
-                version = sourcelines[lineno].replace("version = ", "").strip()[1:-1]
+        for sourceline in sourcelines:
+            if sourceline.startswith("version = "):
+                version = sourceline.replace("version = ", "").strip()\
+                            .replace('"', "").replace("'", "")
                 break
             
             lineno += 1

eric ide

mercurial