Wed, 24 Mar 2010 18:38:44 +0000
Added a few methods to Project.py to support the cooperation stuff.
--- a/APIs/Python3/eric5.api Wed Mar 24 18:29:26 2010 +0000 +++ b/APIs/Python3/eric5.api Wed Mar 24 18:38:44 2010 +0000 @@ -3907,6 +3907,7 @@ eric5.Project.Project.Project.getDefaultSourceExtension?4() eric5.Project.Project.Project.getEditorLexerAssoc?4(filename) eric5.Project.Project.Project.getFiles?4(start) +eric5.Project.Project.Project.getHash?4() eric5.Project.Project.Project.getMainScript?4(normalized = False) eric5.Project.Project.Project.getMenu?4(menuName) eric5.Project.Project.Project.getModel?4() @@ -3919,6 +3920,8 @@ eric5.Project.Project.Project.getProjectSpellLanguage?4() eric5.Project.Project.Project.getProjectType?4() eric5.Project.Project.Project.getProjectTypes?4() +eric5.Project.Project.Project.getRelativePath?4(fn) +eric5.Project.Project.Project.getRelativeUniversalPath?4(fn) eric5.Project.Project.Project.getSources?4(normalized = False) eric5.Project.Project.Project.getStatusMonitorAutoUpdate?4() eric5.Project.Project.Project.getStatusMonitorInterval?4()
--- a/Documentation/Help/source.qhp Wed Mar 24 18:29:26 2010 +0000 +++ b/Documentation/Help/source.qhp Wed Mar 24 18:38:44 2010 +0000 @@ -4479,6 +4479,7 @@ <keyword name="Project.getDefaultSourceExtension" id="Project.getDefaultSourceExtension" ref="eric5.Project.Project.html#Project.getDefaultSourceExtension" /> <keyword name="Project.getEditorLexerAssoc" id="Project.getEditorLexerAssoc" ref="eric5.Project.Project.html#Project.getEditorLexerAssoc" /> <keyword name="Project.getFiles" id="Project.getFiles" ref="eric5.Project.Project.html#Project.getFiles" /> + <keyword name="Project.getHash" id="Project.getHash" ref="eric5.Project.Project.html#Project.getHash" /> <keyword name="Project.getMainScript" id="Project.getMainScript" ref="eric5.Project.Project.html#Project.getMainScript" /> <keyword name="Project.getMenu" id="Project.getMenu" ref="eric5.Project.Project.html#Project.getMenu" /> <keyword name="Project.getModel" id="Project.getModel" ref="eric5.Project.Project.html#Project.getModel" /> @@ -4491,6 +4492,8 @@ <keyword name="Project.getProjectSpellLanguage" id="Project.getProjectSpellLanguage" ref="eric5.Project.Project.html#Project.getProjectSpellLanguage" /> <keyword name="Project.getProjectType" id="Project.getProjectType" ref="eric5.Project.Project.html#Project.getProjectType" /> <keyword name="Project.getProjectTypes" id="Project.getProjectTypes" ref="eric5.Project.Project.html#Project.getProjectTypes" /> + <keyword name="Project.getRelativePath" id="Project.getRelativePath" ref="eric5.Project.Project.html#Project.getRelativePath" /> + <keyword name="Project.getRelativeUniversalPath" id="Project.getRelativeUniversalPath" ref="eric5.Project.Project.html#Project.getRelativeUniversalPath" /> <keyword name="Project.getSources" id="Project.getSources" ref="eric5.Project.Project.html#Project.getSources" /> <keyword name="Project.getStatusMonitorAutoUpdate" id="Project.getStatusMonitorAutoUpdate" ref="eric5.Project.Project.html#Project.getStatusMonitorAutoUpdate" /> <keyword name="Project.getStatusMonitorInterval" id="Project.getStatusMonitorInterval" ref="eric5.Project.Project.html#Project.getStatusMonitorInterval" />
--- a/Documentation/Source/eric5.Project.Project.html Wed Mar 24 18:29:26 2010 +0000 +++ b/Documentation/Source/eric5.Project.Project.html Wed Mar 24 18:38:44 2010 +0000 @@ -409,6 +409,9 @@ <td><a href="#Project.getFiles">getFiles</a></td> <td>Public method to get all files starting with a common prefix.</td> </tr><tr> +<td><a href="#Project.getHash">getHash</a></td> +<td>Public method to get the project hash.</td> +</tr><tr> <td><a href="#Project.getMainScript">getMainScript</a></td> <td>Public method to return the main script filename.</td> </tr><tr> @@ -445,6 +448,12 @@ <td><a href="#Project.getProjectTypes">getProjectTypes</a></td> <td>Public method to get the list of supported project types.</td> </tr><tr> +<td><a href="#Project.getRelativePath">getRelativePath</a></td> +<td>Public method to convert a file path to a project relative file path.</td> +</tr><tr> +<td><a href="#Project.getRelativeUniversalPath">getRelativeUniversalPath</a></td> +<td>Public method to convert a file path to a project relative file path with universal separators.</td> +</tr><tr> <td><a href="#Project.getSources">getSources</a></td> <td>Public method to return the source script files.</td> </tr><tr> @@ -1434,6 +1443,16 @@ <dd> prefix (string) </dd> +</dl><a NAME="Project.getHash" ID="Project.getHash"></a> +<h4>Project.getHash</h4> +<b>getHash</b>(<i></i>) +<p> + Public method to get the project hash. +</p><dl> +<dt>Returns:</dt> +<dd> +project hash as a hex string (string) +</dd> </dl><a NAME="Project.getMainScript" ID="Project.getMainScript"></a> <h4>Project.getMainScript</h4> <b>getMainScript</b>(<i>normalized = False</i>) @@ -1565,6 +1584,40 @@ <dd> reference to the dictionary of project types. </dd> +</dl><a NAME="Project.getRelativePath" ID="Project.getRelativePath"></a> +<h4>Project.getRelativePath</h4> +<b>getRelativePath</b>(<i>fn</i>) +<p> + Public method to convert a file path to a project relative + file path. +</p><dl> +<dt><i>fn</i></dt> +<dd> +file or directory name to convert (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +project relative path or unchanged path, if fn doesn't + belong to the project (string) +</dd> +</dl><a NAME="Project.getRelativeUniversalPath" ID="Project.getRelativeUniversalPath"></a> +<h4>Project.getRelativeUniversalPath</h4> +<b>getRelativeUniversalPath</b>(<i>fn</i>) +<p> + Public method to convert a file path to a project relative + file path with universal separators. +</p><dl> +<dt><i>fn</i></dt> +<dd> +file or directory name to convert (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +project relative path or unchanged path, if fn doesn't + belong to the project (string) +</dd> </dl><a NAME="Project.getSources" ID="Project.getSources"></a> <h4>Project.getSources</h4> <b>getSources</b>(<i>normalized = False</i>)
--- a/Project/Project.py Wed Mar 24 18:29:26 2010 +0000 +++ b/Project/Project.py Wed Mar 24 18:38:44 2010 +0000 @@ -3156,6 +3156,36 @@ else: return os.path.join(self.ppath, ".eric5project") + def getHash(self): + """ + Public method to get the project hash. + + @return project hash as a hex string (string) + """ + return self.pdata["HASH"][0] + + def getRelativePath(self, fn): + """ + Public method to convert a file path to a project relative + file path. + + @param fn file or directory name to convert (string) + @return project relative path or unchanged path, if fn doesn't + belong to the project (string) + """ + return fn.replace(self.ppath + os.sep, "") + + def getRelativeUniversalPath(self, fn): + """ + Public method to convert a file path to a project relative + file path with universal separators. + + @param fn file or directory name to convert (string) + @return project relative path or unchanged path, if fn doesn't + belong to the project (string) + """ + return Utilities.fromNativeSeparators(fn.replace(self.ppath + os.sep, "")) + def isProjectFile(self, fn): """ Public method used to check, if the passed in filename belongs to the project.