X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/blobdiff_plain/2acf10a88b2307eeb78f74b612586dd079c1b7bf..9d54560da837e13b9f6fd3705c4db1616ab73d1a:/src/minwii/logapp.py diff --git a/src/minwii/logapp.py b/src/minwii/logapp.py index 9306809..555c9fd 100755 --- a/src/minwii/logapp.py +++ b/src/minwii/logapp.py @@ -13,7 +13,9 @@ import os from os.path import join as pjoin from os.path import basename from os.path import getsize +import os.path from minwii.loganalyse import LogFileAnalyser +from minwii.config import LOGS_DIR from pprint import pprint class Application(Frame) : @@ -25,8 +27,8 @@ class Application(Frame) : self.logFiles = [] self.resultsFrame = None - # debug - self.chooseDirDialog(dir='/Users/pinbe/minwii_logs') + if os.path.exists(LOGS_DIR) : + self.chooseDirDialog(dir=LOGS_DIR) def configureStretching(self) : top=self.winfo_toplevel() @@ -61,17 +63,18 @@ 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.dataFrame.grid(row=0, column=0, sticky=NW) - self.nav.setSize(len(self.logFiles)) - self.nav.grid(row=0, column=1) - self.loadLogFile(self.nav) + 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) + self.loadLogFile(self.nav) def _cleanupJunkFiles(self) : files = [] @@ -80,8 +83,16 @@ class Application(Frame) : if not getsize(f) : os.remove(f) continue - # TODO : vérifier qu'il existe des événements else : + of = open(f) + lfa = LogFileAnalyser(of) + if lfa.getLastEventTicks() is None : + of.close() + os.remove(f) + continue + else : + of.close() + files.append(f) self.logFiles = files