[mousetrap] Pylint +10
- From: Flavio Percoco <flaper src gnome org>
- To: svn-commits-list gnome org
- Subject: [mousetrap] Pylint +10
- Date: Mon, 18 May 2009 09:43:42 -0400 (EDT)
commit 0db1090d3fe13ebe8a4c8e4c1bf2b05fde3ca70e
Author: Flavio Percoco Premoli <flaper87 gmail com>
Date: Sun May 17 12:59:44 2009 +0200
Pylint +10
---
src/mousetrap/debug.py | 185 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 185 insertions(+), 0 deletions(-)
diff --git a/src/mousetrap/debug.py b/src/mousetrap/debug.py
new file mode 100644
index 0000000..0f0f0e0
--- /dev/null
+++ b/src/mousetrap/debug.py
@@ -0,0 +1,185 @@
+# -*- coding: utf-8 -*-
+
+# MouseTrap
+#
+# Copyright 2009 Flavio Percoco Premoli
+#
+# This file is part of mouseTrap.
+#
+# MouseTrap is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License v2 as published
+# by the Free Software Foundation.
+#
+# mouseTrap is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with mouseTrap. If not, see <http://www.gnu.org/licenses/>.
+
+"""The debug module of mouseTrap."""
+
+__id__ = "$Id$"
+__version__ = "$Revision$"
+__date__ = "$Date$"
+__copyright__ = "Copyright (c) 2008 Flavio Percoco Premoli"
+__license__ = "GPLv2"
+
+import sys
+import logging
+import traceback
+
+modules = {}
+
+def checkModule( module ):
+ """
+ Get's a new logger for modules.
+
+ Arguments:
+ - module: The module requesting a logger.
+ """
+
+ global modules
+
+ level = logging.DEBUG
+
+ formatter = logging.Formatter("%(levelname)s: %(name)s -> %(message)s")
+
+ cli = logging.StreamHandler( )
+ cli.setLevel( level )
+ cli.setFormatter(formatter)
+
+ modules[module] = logging.getLogger( module )
+ modules[module].addHandler(cli)
+ modules[module].setLevel( level )
+
+def debug( module, message ):
+ """
+ Print DEBUG level log messages.
+
+ Arguments:
+ - module: The module sending the message
+ - message: The message
+ """
+
+ if module not in modules:
+ checkModule(module)
+
+ modules[module].debug(message)
+
+
+def info( module, message ):
+ """
+ Print INFO level log messages.
+
+ Arguments:
+ - module: The module sending the message
+ - message: The message
+ """
+
+ if module not in modules:
+ checkModule(module)
+
+ modules[module].info(message)
+
+
+def warning( module, message ):
+ """
+ Print WARNING level log messages.
+
+ Arguments:
+ - module: The module sending the message
+ - message: The message
+ """
+
+ if module not in modules:
+ checkModule(module)
+
+ modules[module].warning(message)
+
+
+def error( module, message ):
+ """
+ Print ERROR level log messages.
+
+ Arguments:
+ - module: The module sending the message
+ - message: The message
+ """
+
+ if module not in modules:
+ checkModule(module)
+
+ modules[module].error(message)
+
+
+def critical( module, message ):
+ """
+ Print CRITICAL level log messages.
+
+ Arguments:
+ - module: The module sending the message
+ - message: The message
+ """
+
+ if module not in modules:
+ checkModule(module)
+
+ modules[module].critical(message)
+
+
+def exception( module, message ):
+ """
+ Print EXCEPTION level log messages.
+
+ Arguments:
+ - module: The module sending the message
+ - message: The message
+ """
+
+ if module not in modules:
+ checkModule(module)
+
+ modules[module].exception(message)
+
+# The following code has been borrowed from the following URL:
+#
+# http://www.dalkescientific.com/writings/diary/archive/ \
+# 2005/04/20/tracing_python_code.html
+#
+import linecache
+
+def traceit(frame, event, arg):
+ """
+ Line tracing utility to output all lines as they are executed by
+ the interpreter. This is to be used by sys.settrace and is for
+ debugging purposes.
+
+ Arguments:
+ - frame: is the current stack frame
+ - event: 'call', 'line', 'return', 'exception', 'c_call', 'c_return',
+ or 'c_exception'
+ - arg: depends on the event type (see docs for sys.settrace)
+
+ Returns traceit
+ """
+
+ if event == "line":
+ lineno = frame.f_lineno
+ filename = frame.f_globals["__file__"]
+ if (filename.endswith(".pyc") or
+ filename.endswith(".pyo")):
+ filename = filename[:-1]
+ name = frame.f_globals["__name__"]
+ if name == "gettext" \
+ or name == "locale" \
+ or name == "posixpath" \
+ or name == "UserDict":
+ return traceit
+ line = linecache.getline(filename, lineno)
+ log(ALL, "Trace", "TRACE %s:%s: %s" % (name, lineno, line.rstrip()))
+ return traceit
+
+#if debugLevel == EXTREME:
+# sys.settrace(traceit)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]