summaryrefslogtreecommitdiff
path: root/portato/helper.py
diff options
context:
space:
mode:
Diffstat (limited to 'portato/helper.py')
-rw-r--r--portato/helper.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/portato/helper.py b/portato/helper.py
new file mode 100644
index 0000000..2a492cc
--- /dev/null
+++ b/portato/helper.py
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+#
+# File: portato/helper.py
+# This file is part of the Portato-Project, a graphical portage-frontend.
+#
+# Copyright (C) 2006 René 'Necoro' Neumann
+# 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 René 'Necoro' Neumann <necoro@necoro.net> et.al.
+
+import traceback, os.path
+
+DEBUG = True
+
+def set_debug (d):
+ """Sets the global DEBUG variable. Do not set it by your own - always use this function.
+
+ @param d: True to enable debugging; False otherwise
+ @type d: boolean"""
+
+ global DEBUG
+ DEBUG = d
+
+def debug(*args, **kwargs):
+ """Prints a debug message including filename and lineno.
+ A variable number of positional arguments are allowed.
+
+ If debug(obj0, obj1, obj2) is called, the text part of the output
+ looks like the output from print obj0, obj1, obj2.
+
+ If you pass the optional keyword-argument "name", it is used for the function-name instead of the original one."""
+
+
+ if not DEBUG : return
+
+ 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)
+
+ text = "***DEBUG*** %s ***DEBUG***" % text
+
+ print text
+
+def am_i_root ():
+ """Returns True if the current user is root, False otherwise.
+ @rtype: boolean"""
+ if os.getuid() == 0:
+ return True
+ else:
+ return False
d>2015-01-13Handle being given numbers as feed nameAntonio Terceiro2-0/+16 Force feed names to be strings because they will be handled as strings later. 2015-01-13Rakefile: remove wrong (and thus unused) flagAntonio Terceiro1-1/+0 2015-01-13Remove deprecated 'test suite' fileAntonio Terceiro1-12/+0 I want to always run all tests 2015-01-13Rakefile: re-indentAntonio Terceiro1-35/+35 2015-01-13Rakefile: run tests in verbose modeAntonio Terceiro1-1/+2 2014-10-071.2.3 releaseAntonio Terceiro1-1/+1 2014-10-07Fix cleanup of maildirsAntonio Terceiro3-1/+16 Thanks to Sylvain L. Sauvage for the bug report 2014-05-18feed2imap-test: reuse cache dir/protect configAntonio Terceiro1-1/+1 this reduces the noise in the output and helps testing feed updates 2014-02-13feed2imap-test: can now take a feed URL as argumentAntonio Terceiro1-3/+22 2014-02-13update .gitignoreAntonio Terceiro1-0/+2 2014-02-13fix dependency on ruby-feedparserAntonio Terceiro1-1/+1 2014-02-05Release 1.2.2Antonio Terceiro2-2/+2 2014-02-05config: fix regression with arrays as targetAntonio Terceiro2-1/+17 2013-08-28Fix teardown method nameAntonio Terceiro1-1/+1