21 # You should have received a copy of the GNU General Public License |
21 # You should have received a copy of the GNU General Public License |
22 # along with this program; if not, write to the Free Software |
22 # along with this program; if not, write to the Free Software |
23 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
23 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
24 |
24 |
25 |
25 |
26 from __future__ import absolute_import |
26 |
27 from __future__ import division |
27 |
28 from datetime import datetime |
28 from datetime import datetime |
29 from time import time as gettime |
29 from time import time as gettime |
30 from weakref import proxy |
30 from weakref import proxy |
31 |
31 |
32 import numpy |
32 import numpy |
368 self.LogSource = None |
368 self.LogSource = None |
369 self.ResetLogMessages() |
369 self.ResetLogMessages() |
370 self.ParentWindow = window |
370 self.ParentWindow = window |
371 |
371 |
372 self.LevelIcons = [GetBitmap("LOG_" + level) for level in LogLevels] |
372 self.LevelIcons = [GetBitmap("LOG_" + level) for level in LogLevels] |
373 self.LevelFilters = [range(i) for i in xrange(4, 0, -1)] |
373 self.LevelFilters = [list(range(i)) for i in range(4, 0, -1)] |
374 self.CurrentFilter = self.LevelFilters[0] |
374 self.CurrentFilter = self.LevelFilters[0] |
375 self.CurrentSearchValue = "" |
375 self.CurrentSearchValue = "" |
376 |
376 |
377 self.ScrollSpeed = 0. |
377 self.ScrollSpeed = 0. |
378 self.LastStartTime = None |
378 self.LastStartTime = None |
413 def ResetLogCounters(self): |
413 def ResetLogCounters(self): |
414 self.previous_log_count = [None]*LogLevelsCount |
414 self.previous_log_count = [None]*LogLevelsCount |
415 |
415 |
416 def SetLogCounters(self, log_count): |
416 def SetLogCounters(self, log_count): |
417 new_messages = [] |
417 new_messages = [] |
418 for level, count, prev in zip(xrange(LogLevelsCount), log_count, self.previous_log_count): |
418 for level, count, prev in zip(range(LogLevelsCount), log_count, self.previous_log_count): |
419 if count is not None and prev != count: |
419 if count is not None and prev != count: |
420 if prev is None: |
420 if prev is None: |
421 dump_end = max(-1, count - 10) |
421 dump_end = max(-1, count - 10) |
422 oldest_message = (-1, None) |
422 oldest_message = (-1, None) |
423 else: |
423 else: |
424 dump_end = prev - 1 |
424 dump_end = prev - 1 |
425 for msgidx in xrange(count-1, dump_end, -1): |
425 for msgidx in range(count-1, dump_end, -1): |
426 new_message = self.GetLogMessageFromSource(msgidx, level) |
426 new_message = self.GetLogMessageFromSource(msgidx, level) |
427 if new_message is None: |
427 if new_message is None: |
428 if prev is None: |
428 if prev is None: |
429 oldest_message = (-1, None) |
429 oldest_message = (-1, None) |
430 break |
430 break |