summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/Changelog2
-rw-r--r--geneticone/backend/flags.py24
-rw-r--r--geneticone/helper.py23
3 files changed, 32 insertions, 17 deletions
diff --git a/doc/Changelog b/doc/Changelog
index c63b429..8edcee9 100644
--- a/doc/Changelog
+++ b/doc/Changelog
@@ -2,7 +2,7 @@
- bug fixing (again ;D)
- added "oneshot"
- redesign
-- added "update world" - ability
+- added "update world" - ability (w/o newuse)
- handled installed packages which are not in portage anymore
- allowed to reload portage
diff --git a/geneticone/backend/flags.py b/geneticone/backend/flags.py
index cb26935..95d4ee5 100644
--- a/geneticone/backend/flags.py
+++ b/geneticone/backend/flags.py
@@ -55,7 +55,7 @@ def get_data(pkg, path):
@type path: string
@returns: a list of tuples in the form (file,line,criterion,list_of_flags)
- @rtype: list"""
+ @rtype: (string,string,string,string[])[]"""
flags = []
@@ -132,6 +132,7 @@ def invert_use_flag (flag):
@returns: inverted flag
@rtype: string
"""
+
if flag[0] == "-":
return flag[1:]
else:
@@ -196,8 +197,7 @@ def set_use_flag (pkg, flag):
if not added:
path = USE_PATH
if USE_PATH_IS_DIR:
- path = os.path.join(USE_PATH,generate_path(cpv, CONFIG["usefile"]))
-
+ path = os.path.join(USE_PATH, generate_path(cpv, CONFIG["usefile"]))
try:
newUseFlags[cpv].remove((path, -1, invFlag, False))
except ValueError: # not in UseFlags
@@ -208,8 +208,10 @@ def set_use_flag (pkg, flag):
def remove_new_use_flags (cpv):
"""Removes all new use-flags for a specific package.
+
@param cpv: the package for which to remove the flags
@type cpv: string (cpv) or L{backend.Package}-object"""
+
if isinstance(cpv, package.Package):
cpv = cpv.get_cpv()
@@ -220,10 +222,11 @@ def remove_new_use_flags (cpv):
def get_new_use_flags (cpv):
"""Gets all the new use-flags for a specific package.
- @param cpv: the package for which to remove the flags
+
+ @param cpv: the package from which to get the flags
@type cpv: string (cpv) or L{backend.Package}-object
@returns: list of flags
- @rtype: list"""
+ @rtype: string[]"""
if isinstance(cpv, package.Package):
cpv = cpv.get_cpv()
@@ -279,8 +282,9 @@ def write_use_flags ():
i = 1
while i < line: # stop at the given line
lines.append(f.readline())
- i = i+1
+ i++
l = f.readline().split(" ")
+
# delete or insert
if delete:
remove(flag,l)
@@ -293,6 +297,7 @@ def write_use_flags ():
file_cache[file] = lines
f.close()
+
else: # in cache
l = file_cache[file][line-1].split(" ")
if delete:
@@ -335,6 +340,13 @@ new_masked = {}
new_unmasked = {}
def set_masked (pkg, masked = True):
+ """Sets the masking status of the package.
+
+ @param cpv: the package from which to get the flags
+ @type cpv: string (cpv) or L{backend.Package}-object
+ @param masked: if True: mask it; if False: unmask it
+ @type masked: boolean"""
+
global new_masked, newunmasked
if not isinstance(pkg, package.Package):
diff --git a/geneticone/helper.py b/geneticone/helper.py
index a1acf42..780893e 100644
--- a/geneticone/helper.py
+++ b/geneticone/helper.py
@@ -9,24 +9,28 @@
#
# Written by Necoro d.M. <necoro@necoro.net> et.al.
-import traceback, textwrap, os.path
+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 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)"""
+ 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
@@ -41,15 +45,14 @@ def debug(*args, **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."""
+ """Returns True if the current user is root, False otherwise.
+ @rtype: boolean"""
if os.getuid() == 0:
return True
else: