summaryrefslogtreecommitdiff
path: root/geneticone/helper.py
diff options
context:
space:
mode:
authornecoro <>2006-09-29 18:40:37 +0000
committernecoro <>2006-09-29 18:40:37 +0000
commit3193cdc4a5f7db003b838d4b1785ea7da5ac679c (patch)
treec84ad19e517481e41b27004af111714befb49102 /geneticone/helper.py
parente9c45f265ac2bd05135eb14a66daf4bcda20ade7 (diff)
downloadportato-3193cdc4a5f7db003b838d4b1785ea7da5ac679c.tar.gz
portato-3193cdc4a5f7db003b838d4b1785ea7da5ac679c.tar.bz2
portato-3193cdc4a5f7db003b838d4b1785ea7da5ac679c.zip
Build in a general helper-file including debugging output
Diffstat (limited to '')
-rw-r--r--geneticone/helper.py50
1 files changed, 50 insertions, 0 deletions
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. <necoro@necoro.net> 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