Enhanced the status messages handling and the handling of empty API files. release-2.5.0

Wed, 03 Apr 2013 18:34:47 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 03 Apr 2013 18:34:47 +0200
changeset 71
025683852a63
parent 70
20a97b9662c6
child 72
c265410e0b2f

Enhanced the status messages handling and the handling of empty API files.

AssistantEric/APIsManager.py file | annotate | diff | comparison | revisions
AssistantEric/Documentation/source/Plugin_Assistant_Eric.AssistantEric.APIsManager.html file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_cs.ts file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_de.qm file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_de.ts file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_en.ts file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_es.ts file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_fr.ts file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_it.ts file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_ru.ts file | annotate | diff | comparison | revisions
AssistantEric/i18n/assistant_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
ChangeLog file | annotate | diff | comparison | revisions
PluginAssistantEric.py file | annotate | diff | comparison | revisions
PluginAssistantEric.zip file | annotate | diff | comparison | revisions
PluginEricAssistant.e4p file | annotate | diff | comparison | revisions
--- a/AssistantEric/APIsManager.py	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/APIsManager.py	Wed Apr 03 18:34:47 2013 +0200
@@ -9,8 +9,7 @@
 
 import os
 
-from PyQt4.QtCore import QTimer, QThread, QFileInfo, pyqtSignal, QCoreApplication, \
-     QEvent, QDateTime, QObject, Qt
+from PyQt4.QtCore import QTimer, QThread, QFileInfo, pyqtSignal, QDateTime, QObject, Qt
 try:
     from PyQt4.QtSql import QSqlDatabase, QSqlQuery
 except ImportError:
@@ -25,9 +24,10 @@
 import Utilities
 import Preferences
 
-WorkerStarted = QEvent.User + 2001
-WorkerFinished = QEvent.User + 2002
-WorkerAborted = QEvent.User + 2003
+WorkerStatusStarted = 2001
+WorkerStatusFinished = 2002
+WorkerStatusAborted = 2003
+WorkerStatusFile = 2004
 
 ApisNameProject = "__Project__"
 
@@ -35,7 +35,12 @@
 class DbAPIsWorker(QThread):
     """
     Class implementing a worker thread to prepare the API database.
+    
+    @signal processing(status, file) emitted to indicate the processing status
+            (one of WorkerStatus..., string)
     """
+    processing = pyqtSignal(int, str)
+    
     populate_api_stmt = """
         INSERT INTO api (acWord, context, fullContext, signature, fileId, pictureId)
         VALUES (:acWord, :context, :fullContext, :signature, :fileId, :pictureId)
@@ -144,6 +149,7 @@
                 if modTimeBases > modTime:
                     modTime = modTimeBases
         if loadTime < modTime:
+            self.processing.emit(WorkerStatusFile, apiFile)
             self.__loadApiFile(apiFile)
     
     def __classesAttributesApi(self, module):
@@ -221,6 +227,37 @@
         
         if len(apis) > 0:
             self.__storeApis(apis, bases, apiFile, language)
+        else:
+            # just store file info to avoid rereading it every time
+            self.__storeFileInfoOnly(apiFile)
+    
+    def __storeFileInfoOnly(self, apiFile):
+        """
+        Private method to store file info only.
+        
+        Doing this avoids rereading the file whenever the API is initialized in case
+        the given file doesn't contain API data.
+        """
+        db = QSqlDatabase.database(self.__language)
+        db.transaction()
+        try:
+            query = QSqlQuery(db)
+            # step 1: create entry in file table
+            query.prepare(self.populate_file_stmt)
+            query.bindValue(":file", apiFile)
+            query.exec_()
+            
+            # step 2: update the file entry
+            query.prepare(self.update_file_stmt)
+            query.bindValue(":lastRead", QDateTime.currentDateTime())
+            query.bindValue(":file", apiFile)
+            query.exec_()
+        finally:
+            del query
+            if self.__aborted:
+                db.rollback()
+            else:
+                db.commit()
     
     def __storeApis(self, apis, bases, apiFile, language):
         """
@@ -341,7 +378,7 @@
                 query.exec_()
             
             if not self.__aborted:
-                # step 4: update the file entry
+                # step 5: update the file entry
                 query.prepare(self.update_file_stmt)
                 query.bindValue(":lastRead", QDateTime.currentDateTime())
                 query.bindValue(":file", apiFile)
@@ -393,7 +430,7 @@
         """
         Public method to perform the threads work.
         """
-        QCoreApplication.postEvent(self.__proxy, QEvent(QEvent.Type(WorkerStarted)))
+        self.processing.emit(WorkerStatusStarted, "")
         
         db = QSqlDatabase.database(self.__language)
         if db.isValid() and db.isOpen():
@@ -410,23 +447,19 @@
                     self.__loadApiFileIfNewer(apiFile)
         
         if self.__aborted:
-            QCoreApplication.postEvent(self.__proxy, QEvent(QEvent.Type(WorkerAborted)))
+            self.processing.emit(WorkerStatusAborted, "")
         else:
-            QCoreApplication.postEvent(self.__proxy, QEvent(QEvent.Type(WorkerFinished)))
+            self.processing.emit(WorkerStatusFinished, "")
 
 
 class DbAPIs(QObject):
     """
     Class implementing an API storage entity.
     
-    @signal apiPreparationFinished(language) emitted after the API preparation has finished
-    @signal apiPreparationStarted(language) emitted after the API preparation has started
-    @signal apiPreparationCancelled(language) emitted after the API preparation has been
-            cancelled
+    @signal apiPreparationStatus(language, status, file) emitted to indicate the
+            API preparation status for a language
     """
-    apiPreparationFinished = pyqtSignal(str)
-    apiPreparationStarted = pyqtSignal(str)
-    apiPreparationCancelled = pyqtSignal(str)
+    apiPreparationStatus = pyqtSignal(str, int, str)
     
     DB_VERSION = 4
     
@@ -910,6 +943,7 @@
         else:
             apiFiles = Preferences.getEditorAPI(self.__language)
         self.__worker = DbAPIsWorker(self, self.__language, apiFiles, projectPath)
+        self.__worker.processing.connect(self.__processingStatus, Qt.QueuedConnection)
         self.__worker.start()
     
     def __processQueue(self):
@@ -917,6 +951,7 @@
         Private slot to process the queue of files to load.
         """
         if self.__worker is not None and self.__worker.isFinished():
+            self.__worker.deleteLater()
             self.__worker = None
         
         if self.__worker is None and len(self.__workerQueue) > 0:
@@ -928,6 +963,7 @@
                 projectPath = ""
             self.__worker = DbAPIsWorker(self, self.__language, apiFiles, projectPath,
                                          refresh=True)
+            self.__worker.processing.connect(self.__processingStatus, Qt.QueuedConnection)
             self.__worker.start()
     
     def getLexer(self):
@@ -948,32 +984,27 @@
             return self.__lexer.autoCompletionWordSeparators()
         return None
     
-    def event(self, evt):
+    def __processingStatus(self, status, filename):
         """
-        Protected method to handle events from the worker thread.
-        
-        @param evt reference to the event object (QEvent)
-        @return flag indicating, if the event was handled (boolean)
-        """
-        if evt.type() == WorkerStarted:
-            self.__inPreparation = True
-            self.apiPreparationStarted.emit(self.__language)
-            return True
+        Private slot handling the processing signal of the API preparation
+        thread.
         
-        elif evt.type() == WorkerFinished:
+        @param status preparation status (integer, one of WorkerStatus...)
+        @param filename name of the file being processed (string)
+        """
+        if status == WorkerStatusStarted:
+            self.__inPreparation = True
+            self.apiPreparationStatus.emit(self.__language, WorkerStatusStarted, "")
+        elif status == WorkerStatusFinished:
             self.__inPreparation = False
-            self.apiPreparationFinished.emit(self.__language)
+            self.apiPreparationStatus.emit(self.__language, WorkerStatusFinished, "")
             QTimer.singleShot(0, self.__processQueue)
-            return True
-        
-        elif evt.type() == WorkerAborted:
+        elif status == WorkerStatusAborted:
             self.__inPreparation = False
-            self.apiPreparationCancelled.emit(self.__language)
+            self.apiPreparationStatus.emit(self.__language, WorkerStatusAborted, "")
             QTimer.singleShot(0, self.__processQueue)
-            return True
-        
-        else:
-            return QObject.event(self,  evt)
+        elif status == WorkerStatusFile:
+            self.apiPreparationStatus.emit(self.__language, WorkerStatusFile, filename)
     
     ########################################################
     ## project related stuff below
@@ -1060,9 +1091,7 @@
                language == ApisNameProject:
                 # create the api object
                 api = DbAPIs(language)
-                api.apiPreparationFinished.connect(self.__apiPreparationFinished)
-                api.apiPreparationStarted.connect(self.__apiPreparationStarted)
-                api.apiPreparationCancelled.connect(self.__apiPreparationCancelled)
+                api.apiPreparationStatus.connect(self.__apiPreparationStatus)
                 self.__apis[language] = api
                 return self.__apis[language]
             else:
@@ -1083,7 +1112,8 @@
         
         @param msg message to be shown (string)
         """
-        self.__mw.statusBar().showMessage(msg, 2000)
+        if msg:
+            self.__mw.statusBar().showMessage(msg, 2000)
     
     def __apiPreparationFinished(self, language):
         """
@@ -1117,3 +1147,27 @@
             language = self.trUtf8("Project")
         self.__showMessage(self.trUtf8("Preparation of '{0}' APIs cancelled.")
             .format(language))
+    
+    def __apiPreparationStatus(self, language, status, filename):
+        """
+        Private slot handling the preparation status signal of an API object.
+        
+        @param language language of the API (string)
+        @param status preparation status (integer, one of WorkerStatus...)
+        @param filename name of the file being processed (string)
+        """
+        if language == ApisNameProject:
+            language = self.trUtf8("Project")
+        
+        if status == WorkerStatusStarted:
+            self.__showMessage(self.trUtf8("Preparation of '{0}' APIs started.").format(
+                language))
+        elif status == WorkerStatusFile:
+            self.__showMessage(self.trUtf8("'{0}' APIs: Processing '{1}'").format(
+                language, os.path.basename(filename)))
+        elif status == WorkerStatusFinished:
+            self.__showMessage(self.trUtf8("Preparation of '{0}' APIs finished.").format(
+                language))
+        elif status == WorkerStatusAborted:
+            self.__showMessage(self.trUtf8("Preparation of '{0}' APIs cancelled.").format(
+                language))
--- a/AssistantEric/Documentation/source/Plugin_Assistant_Eric.AssistantEric.APIsManager.html	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/Documentation/source/Plugin_Assistant_Eric.AssistantEric.APIsManager.html	Wed Apr 03 18:34:47 2013 +0200
@@ -25,7 +25,7 @@
 </p>
 <h3>Global Attributes</h3>
 <table>
-<tr><td>ApisNameProject</td></tr><tr><td>WorkerAborted</td></tr><tr><td>WorkerFinished</td></tr><tr><td>WorkerStarted</td></tr>
+<tr><td>ApisNameProject</td></tr><tr><td>WorkerStatusAborted</td></tr><tr><td>WorkerStatusFile</td></tr><tr><td>WorkerStatusFinished</td></tr><tr><td>WorkerStatusStarted</td></tr>
 </table>
 <h3>Classes</h3>
 <table>
@@ -76,6 +76,9 @@
 <td><a href="#APIsManager.__apiPreparationStarted">__apiPreparationStarted</a></td>
 <td>Private slot handling the preparation started signal of an API object.</td>
 </tr><tr>
+<td><a href="#APIsManager.__apiPreparationStatus">__apiPreparationStatus</a></td>
+<td>Private slot handling the preparation status signal of an API object.</td>
+</tr><tr>
 <td><a href="#APIsManager.__showMessage">__showMessage</a></td>
 <td>Private message to show a message in the main windows status bar.</td>
 </tr><tr>
@@ -136,6 +139,22 @@
 <dd>
 language of the API (string)
 </dd>
+</dl><a NAME="APIsManager.__apiPreparationStatus" ID="APIsManager.__apiPreparationStatus"></a>
+<h4>APIsManager.__apiPreparationStatus</h4>
+<b>__apiPreparationStatus</b>(<i>language, status, filename</i>)
+<p>
+        Private slot handling the preparation status signal of an API object.
+</p><dl>
+<dt><i>language</i></dt>
+<dd>
+language of the API (string)
+</dd><dt><i>status</i></dt>
+<dd>
+preparation status (integer, one of WorkerStatus...)
+</dd><dt><i>filename</i></dt>
+<dd>
+name of the file being processed (string)
+</dd>
 </dl><a NAME="APIsManager.__showMessage" ID="APIsManager.__showMessage"></a>
 <h4>APIsManager.__showMessage</h4>
 <b>__showMessage</b>(<i>msg</i>)
@@ -183,16 +202,10 @@
     Class implementing an API storage entity.
 </p><h3>Signals</h3>
 <dl>
-<dt>apiPreparationCancelled(language)</dt>
+<dt>apiPreparationStatus(language, status, file)</dt>
 <dd>
-emitted after the API preparation has been
-            cancelled
-</dd><dt>apiPreparationFinished(language)</dt>
-<dd>
-emitted after the API preparation has finished
-</dd><dt>apiPreparationStarted(language)</dt>
-<dd>
-emitted after the API preparation has started
+emitted to indicate the
+            API preparation status for a language
 </dd>
 </dl>
 <h3>Derived from</h3>
@@ -238,6 +251,9 @@
 <td><a href="#DbAPIs.__processQueue">__processQueue</a></td>
 <td>Private slot to process the queue of files to load.</td>
 </tr><tr>
+<td><a href="#DbAPIs.__processingStatus">__processingStatus</a></td>
+<td>Private slot handling the processing signal of the API preparation thread.</td>
+</tr><tr>
 <td><a href="#DbAPIs.__projectClosed">__projectClosed</a></td>
 <td>Private slot to perform actions after a project has been closed.</td>
 </tr><tr>
@@ -259,9 +275,6 @@
 <td><a href="#DbAPIs.editorSaved">editorSaved</a></td>
 <td>Public slot to handle the editorSaved signal.</td>
 </tr><tr>
-<td><a href="#DbAPIs.event">event</a></td>
-<td>Protected method to handle events from the worker thread.</td>
-</tr><tr>
 <td><a href="#DbAPIs.getApiFiles">getApiFiles</a></td>
 <td>Public method to get a list of API files loaded into the database.</td>
 </tr><tr>
@@ -368,7 +381,21 @@
 <b>__processQueue</b>(<i></i>)
 <p>
         Private slot to process the queue of files to load.
-</p><a NAME="DbAPIs.__projectClosed" ID="DbAPIs.__projectClosed"></a>
+</p><a NAME="DbAPIs.__processingStatus" ID="DbAPIs.__processingStatus"></a>
+<h4>DbAPIs.__processingStatus</h4>
+<b>__processingStatus</b>(<i>status, filename</i>)
+<p>
+        Private slot handling the processing signal of the API preparation
+        thread.
+</p><dl>
+<dt><i>status</i></dt>
+<dd>
+preparation status (integer, one of WorkerStatus...)
+</dd><dt><i>filename</i></dt>
+<dd>
+name of the file being processed (string)
+</dd>
+</dl><a NAME="DbAPIs.__projectClosed" ID="DbAPIs.__projectClosed"></a>
 <h4>DbAPIs.__projectClosed</h4>
 <b>__projectClosed</b>(<i></i>)
 <p>
@@ -423,21 +450,6 @@
 <dd>
 name of the file that was saved (string)
 </dd>
-</dl><a NAME="DbAPIs.event" ID="DbAPIs.event"></a>
-<h4>DbAPIs.event</h4>
-<b>event</b>(<i>evt</i>)
-<p>
-        Protected method to handle events from the worker thread.
-</p><dl>
-<dt><i>evt</i></dt>
-<dd>
-reference to the event object (QEvent)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-flag indicating, if the event was handled (boolean)
-</dd>
 </dl><a NAME="DbAPIs.getApiFiles" ID="DbAPIs.getApiFiles"></a>
 <h4>DbAPIs.getApiFiles</h4>
 <b>getApiFiles</b>(<i></i>)
@@ -533,7 +545,14 @@
 <h2>DbAPIsWorker</h2>
 <p>
     Class implementing a worker thread to prepare the API database.
-</p>
+</p><h3>Signals</h3>
+<dl>
+<dt>processing(status, file)</dt>
+<dd>
+emitted to indicate the processing status
+            (one of WorkerStatus..., string)
+</dd>
+</dl>
 <h3>Derived from</h3>
 QThread
 <h3>Class Attributes</h3>
@@ -568,6 +587,9 @@
 <td><a href="#DbAPIsWorker.__storeApis">__storeApis</a></td>
 <td>Private method to put the API entries into the database.</td>
 </tr><tr>
+<td><a href="#DbAPIsWorker.__storeFileInfoOnly">__storeFileInfoOnly</a></td>
+<td>Private method to store file info only.</td>
+</tr><tr>
 <td><a href="#DbAPIsWorker.abort">abort</a></td>
 <td>Public method to ask the thread to stop.</td>
 </tr><tr>
@@ -682,7 +704,15 @@
 <dd>
 programming language of the file of the APIs (string)
 </dd>
-</dl><a NAME="DbAPIsWorker.abort" ID="DbAPIsWorker.abort"></a>
+</dl><a NAME="DbAPIsWorker.__storeFileInfoOnly" ID="DbAPIsWorker.__storeFileInfoOnly"></a>
+<h4>DbAPIsWorker.__storeFileInfoOnly</h4>
+<b>__storeFileInfoOnly</b>(<i>apiFile</i>)
+<p>
+        Private method to store file info only.
+</p><p>
+        Doing this avoids rereading the file whenever the API is initialized in case
+        the given file doesn't contain API data.
+</p><a NAME="DbAPIsWorker.abort" ID="DbAPIsWorker.abort"></a>
 <h4>DbAPIsWorker.abort</h4>
 <b>abort</b>(<i></i>)
 <p>
--- a/AssistantEric/i18n/assistant_cs.ts	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/i18n/assistant_cs.ts	Wed Apr 03 18:34:47 2013 +0200
@@ -3,25 +3,30 @@
 <context>
     <name>APIsManager</name>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1117"/>
+        <location filename="AssistantEric/APIsManager.py" line="1160"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1096"/>
+        <location filename="AssistantEric/APIsManager.py" line="1170"/>
         <source>Preparation of &apos;{0}&apos; APIs finished.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1107"/>
+        <location filename="AssistantEric/APIsManager.py" line="1163"/>
         <source>Preparation of &apos;{0}&apos; APIs started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1118"/>
+        <location filename="AssistantEric/APIsManager.py" line="1173"/>
         <source>Preparation of &apos;{0}&apos; APIs cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="AssistantEric/APIsManager.py" line="1167"/>
+        <source>&apos;{0}&apos; APIs: Processing &apos;{1}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AssistantEricPlugin</name>
Binary file AssistantEric/i18n/assistant_de.qm has changed
--- a/AssistantEric/i18n/assistant_de.ts	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/i18n/assistant_de.ts	Wed Apr 03 18:34:47 2013 +0200
@@ -1,27 +1,34 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
 <context>
     <name>APIsManager</name>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1117"/>
+        <location filename="AssistantEric/APIsManager.py" line="1160"/>
         <source>Project</source>
         <translation>Projekt</translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1096"/>
+        <location filename="AssistantEric/APIsManager.py" line="1170"/>
         <source>Preparation of &apos;{0}&apos; APIs finished.</source>
         <translation>Aufbereitung der &apos;{0}&apos; APIs beendet.</translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1107"/>
+        <location filename="AssistantEric/APIsManager.py" line="1163"/>
         <source>Preparation of &apos;{0}&apos; APIs started.</source>
         <translation>Aufbereitung der &apos;{0}&apos; APIs begonnen.</translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1118"/>
+        <location filename="AssistantEric/APIsManager.py" line="1173"/>
         <source>Preparation of &apos;{0}&apos; APIs cancelled.</source>
         <translation>Aufbereitung der &apos;{0}&apos; APIs abgebrochen.</translation>
     </message>
+    <message>
+        <location filename="AssistantEric/APIsManager.py" line="1167"/>
+        <source>&apos;{0}&apos; APIs: Processing &apos;{1}&apos;</source>
+        <translatorcomment>&apos;{0}&apos; APIs: Bearbeite &apos;{1}&apos;</translatorcomment>
+        <translation></translation>
+    </message>
 </context>
 <context>
     <name>AssistantEricPlugin</name>
--- a/AssistantEric/i18n/assistant_en.ts	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/i18n/assistant_en.ts	Wed Apr 03 18:34:47 2013 +0200
@@ -3,25 +3,30 @@
 <context>
     <name>APIsManager</name>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1117"/>
+        <location filename="AssistantEric/APIsManager.py" line="1160"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1096"/>
+        <location filename="AssistantEric/APIsManager.py" line="1170"/>
         <source>Preparation of &apos;{0}&apos; APIs finished.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1107"/>
+        <location filename="AssistantEric/APIsManager.py" line="1163"/>
         <source>Preparation of &apos;{0}&apos; APIs started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1118"/>
+        <location filename="AssistantEric/APIsManager.py" line="1173"/>
         <source>Preparation of &apos;{0}&apos; APIs cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="AssistantEric/APIsManager.py" line="1167"/>
+        <source>&apos;{0}&apos; APIs: Processing &apos;{1}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AssistantEricPlugin</name>
--- a/AssistantEric/i18n/assistant_es.ts	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/i18n/assistant_es.ts	Wed Apr 03 18:34:47 2013 +0200
@@ -3,25 +3,30 @@
 <context>
     <name>APIsManager</name>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1117"/>
+        <location filename="AssistantEric/APIsManager.py" line="1160"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1096"/>
+        <location filename="AssistantEric/APIsManager.py" line="1170"/>
         <source>Preparation of &apos;{0}&apos; APIs finished.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1107"/>
+        <location filename="AssistantEric/APIsManager.py" line="1163"/>
         <source>Preparation of &apos;{0}&apos; APIs started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1118"/>
+        <location filename="AssistantEric/APIsManager.py" line="1173"/>
         <source>Preparation of &apos;{0}&apos; APIs cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="AssistantEric/APIsManager.py" line="1167"/>
+        <source>&apos;{0}&apos; APIs: Processing &apos;{1}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AssistantEricPlugin</name>
--- a/AssistantEric/i18n/assistant_fr.ts	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/i18n/assistant_fr.ts	Wed Apr 03 18:34:47 2013 +0200
@@ -3,25 +3,30 @@
 <context>
     <name>APIsManager</name>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1117"/>
+        <location filename="AssistantEric/APIsManager.py" line="1160"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1096"/>
+        <location filename="AssistantEric/APIsManager.py" line="1170"/>
         <source>Preparation of &apos;{0}&apos; APIs finished.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1107"/>
+        <location filename="AssistantEric/APIsManager.py" line="1163"/>
         <source>Preparation of &apos;{0}&apos; APIs started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1118"/>
+        <location filename="AssistantEric/APIsManager.py" line="1173"/>
         <source>Preparation of &apos;{0}&apos; APIs cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="AssistantEric/APIsManager.py" line="1167"/>
+        <source>&apos;{0}&apos; APIs: Processing &apos;{1}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AssistantEricPlugin</name>
--- a/AssistantEric/i18n/assistant_it.ts	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/i18n/assistant_it.ts	Wed Apr 03 18:34:47 2013 +0200
@@ -3,25 +3,30 @@
 <context>
     <name>APIsManager</name>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1117"/>
+        <location filename="AssistantEric/APIsManager.py" line="1160"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1096"/>
+        <location filename="AssistantEric/APIsManager.py" line="1170"/>
         <source>Preparation of &apos;{0}&apos; APIs finished.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1107"/>
+        <location filename="AssistantEric/APIsManager.py" line="1163"/>
         <source>Preparation of &apos;{0}&apos; APIs started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1118"/>
+        <location filename="AssistantEric/APIsManager.py" line="1173"/>
         <source>Preparation of &apos;{0}&apos; APIs cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="AssistantEric/APIsManager.py" line="1167"/>
+        <source>&apos;{0}&apos; APIs: Processing &apos;{1}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AssistantEricPlugin</name>
--- a/AssistantEric/i18n/assistant_ru.ts	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/i18n/assistant_ru.ts	Wed Apr 03 18:34:47 2013 +0200
@@ -3,25 +3,30 @@
 <context>
     <name>APIsManager</name>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1117"/>
+        <location filename="AssistantEric/APIsManager.py" line="1160"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1096"/>
+        <location filename="AssistantEric/APIsManager.py" line="1170"/>
         <source>Preparation of &apos;{0}&apos; APIs finished.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1107"/>
+        <location filename="AssistantEric/APIsManager.py" line="1163"/>
         <source>Preparation of &apos;{0}&apos; APIs started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1118"/>
+        <location filename="AssistantEric/APIsManager.py" line="1173"/>
         <source>Preparation of &apos;{0}&apos; APIs cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="AssistantEric/APIsManager.py" line="1167"/>
+        <source>&apos;{0}&apos; APIs: Processing &apos;{1}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AssistantEricPlugin</name>
--- a/AssistantEric/i18n/assistant_zh_CN.GB2312.ts	Tue Apr 02 19:33:12 2013 +0200
+++ b/AssistantEric/i18n/assistant_zh_CN.GB2312.ts	Wed Apr 03 18:34:47 2013 +0200
@@ -3,25 +3,30 @@
 <context>
     <name>APIsManager</name>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1117"/>
+        <location filename="AssistantEric/APIsManager.py" line="1160"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1096"/>
+        <location filename="AssistantEric/APIsManager.py" line="1170"/>
         <source>Preparation of &apos;{0}&apos; APIs finished.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1107"/>
+        <location filename="AssistantEric/APIsManager.py" line="1163"/>
         <source>Preparation of &apos;{0}&apos; APIs started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="AssistantEric/APIsManager.py" line="1118"/>
+        <location filename="AssistantEric/APIsManager.py" line="1173"/>
         <source>Preparation of &apos;{0}&apos; APIs cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="AssistantEric/APIsManager.py" line="1167"/>
+        <source>&apos;{0}&apos; APIs: Processing &apos;{1}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AssistantEricPlugin</name>
--- a/ChangeLog	Tue Apr 02 19:33:12 2013 +0200
+++ b/ChangeLog	Wed Apr 03 18:34:47 2013 +0200
@@ -1,5 +1,10 @@
 ChangeLog
 ---------
+Version 2.5.0:
+- bug fixes
+- enhanced the status messages handling
+- enhanced the handling of empty API files
+
 Version 2.4.2:
 - bug fixes
 - activated status messages for processing API files
--- a/PluginAssistantEric.py	Tue Apr 02 19:33:12 2013 +0200
+++ b/PluginAssistantEric.py	Wed Apr 03 18:34:47 2013 +0200
@@ -23,7 +23,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "2.4.2"
+version = "2.5.0"
 className = "AssistantEricPlugin"
 packageName = "AssistantEric"
 shortDescription = "Alternative autocompletion and calltips provider."
Binary file PluginAssistantEric.zip has changed
--- a/PluginEricAssistant.e4p	Tue Apr 02 19:33:12 2013 +0200
+++ b/PluginEricAssistant.e4p	Wed Apr 03 18:34:47 2013 +0200
@@ -7,7 +7,7 @@
   <ProgLanguage mixed="0">Python3</ProgLanguage>
   <ProjectType>E4Plugin</ProjectType>
   <Description>Plugin implementing an alternative autocompletion and calltips provider.</Description>
-  <Version>2.3.x</Version>
+  <Version>2.5.x</Version>
   <Author>Detlev Offenbach</Author>
   <Email>detlev@die-offenbachs.de</Email>
   <TranslationPattern>AssistantEric/i18n/assistant_%language%.ts</TranslationPattern>

eric ide

mercurial