From 3193cdc4a5f7db003b838d4b1785ea7da5ac679c Mon Sep 17 00:00:00 2001 From: necoro <> Date: Fri, 29 Sep 2006 18:40:37 +0000 Subject: Build in a general helper-file including debugging output --- geneticone/helper.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 geneticone/helper.py (limited to 'geneticone') diff --git a/geneticone/helper.py b/geneticone/helper.py new file mode 100644 index 0000000..f951700 --- /dev/null +++ b/geneticone/helper.py @@ -0,0 +1,50 @@ +# +# File: geneticone/helper.py +# This file is part of the Genetic/One-Project, a graphical portage-frontend. +# +# Copyright (C) 2006 Necoro d.M. +# This is free software. You may redistribute copies of it under the terms of +# the GNU General Public License version 2. +# There is NO WARRANTY, to the extent permitted by law. +# +# Written by Necoro d.M. et.al. + +import traceback, textwrap, os.path + +def debug(*args, **kwargs): + """Prints a debug message including filename and lineno. + + A variable number of positional arguments are allowed. If + lineno(obj0, obj1, obj2) + is called, the text part of the output looks like the output from + print obj0, obj1, obj2 + The optional keyword "wrap" causes the message to be line-wrapped. The + argument to "wrap" should be "1" or "True". "name" is another optional + keyword parameter. + + (This function is adapted from Edward Jones as published under: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/279155)""" + + stack = traceback.extract_stack() + a, b, c, d = stack[-2] + a = os.path.basename(a) + out = [] + for obj in args: + out.append(str(obj)) + text = ' '.join(out) + if "name" in kwargs: + text = 'In %s (%s:%s) %s:' % (kwargs["name"], a, b, text) + else: + text = 'In %s (%s:%s) %s:' % (c, a, b, text) + #if wrap: + # text = textwrap.fill(text) + + text = "***DEBUG*** %s ***DEBUG***" % text + + print text + +def am_i_root (): + """Returns True if the current user is root, False otherwise.""" + if os.getuid() == 0: + return True + else: + return False -- cgit v1.2.3-70-g09d2