Affichage des statistiques comme il faut. Suppression automatique des fichiers n...
authorpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Tue, 27 Jul 2010 16:27:21 +0000 (16:27 +0000)
committerpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Tue, 27 Jul 2010 16:27:21 +0000 (16:27 +0000)
git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@297 fe552daf-6dbe-4428-90eb-1537e0879342

src/minwii/loganalyse.py
src/minwii/logapp.py
src/minwii/logfilereader.py

index d7e136f..03d0837 100755 (executable)
@@ -12,16 +12,16 @@ from minwii.musicxml import musicXml2Song
 from statlib import stats
 from datetime import timedelta
 
-DEFAULT_STATS = ('geometricmean',
-                 'harmonicmean',
-                 'mean',
-                 'median',
-                 'medianscore',
+DEFAULT_STATS = (#'geometricmean',
+                 #'harmonicmean',
+                 #'mean',
+                 ('median', 'Médiane'),
+                 #'medianscore',
                  #'mode',
-                 'moment',
-                 'variation',
-                 'skew',
-                 'kurtosis',
+                 #'moment',
+                 ('variation', 'Variation'),
+                 #'skew',
+                 ('kurtosis', 'Kurtosis'),
                  #'itemfreq',
                  #'histogram',
                  #'cumfreq',
@@ -31,10 +31,12 @@ DEFAULT_STATS = ('geometricmean',
 def statsresults(m) :
     def computeList(self):
         l = m(self)
-        ret = {}
-        for name in DEFAULT_STATS :
-            ret[name] = getattr(stats, name)(l)
-        return ret
+        results = []
+        for name, label in DEFAULT_STATS :
+            results.append('%s : %s' % (label, getattr(stats, name)(l)))
+        return '\n'.join(results)
+    computeList.__name__ = m.__name__
+    computeList.__doc__ = m.__doc__
     return computeList
 
 class LogFileAnalyser(LogFileReader) :
index 9306809..b10ca16 100755 (executable)
@@ -61,13 +61,14 @@ class Application(Frame) :
     
     def chooseDirDialog(self, dir=None) :
         if dir is None :
-            self.logDir = tkFileDialog.askdirectory()
+            self.logDir = tkFileDialog.askdirectory(title='Sélectionnez un dossier de fichiers de logs')
         else :
             self.logDir = dir
         if self.logDir :
              self.logFiles = glob(pjoin(self.logDir, '*.log'))
              self._cleanupJunkFiles()
              self.logFiles.sort()
+             self.logFiles.reverse()
              self.dataFrame.grid(row=0, column=0, sticky=NW)
              self.nav.setSize(len(self.logFiles))
              self.nav.grid(row=0, column=1)
@@ -80,8 +81,12 @@ class Application(Frame) :
             if not getsize(f) :
                 os.remove(f)
                 continue
-            # TODO : vérifier qu'il existe des événements
             else :
+                lfa = LogFileAnalyser(f)
+                if lfa.getLastEventTicks() is None :
+                    os.remove(f)
+                    continue
+                
                 files.append(f)
         
         self.logFiles = files
index b7f84a1..828b085 100755 (executable)
@@ -114,6 +114,8 @@ class LogFileReader(object) :
         for l in self.getBackwardLineIterator() :
             if l.startswith('EVT ') :
                 break
+        else :
+            return None
         
         lastTicks = int(l.split(None, 2)[1])
         return lastTicks