Added a few methods to Project.py to support the cooperation stuff.

Wed, 24 Mar 2010 18:38:44 +0000

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 24 Mar 2010 18:38:44 +0000
changeset 153
ef200d69dba0
parent 152
ee3a13a0ad59
child 154
25d288e43a6c

Added a few methods to Project.py to support the cooperation stuff.

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.Project.Project.html file | annotate | diff | comparison | revisions
Project/Project.py file | annotate | diff | comparison | revisions
--- 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()
Binary file Documentation/Help/source.qch has changed
--- 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.

eric ide

mercurial