From 1b7593526b974ab1c6acdd39b105a68f5864483a Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 19 Feb 2006 22:55:47 +0000 Subject: Split out 2 reusable functions from fixdbentries and put them in a new portage_update module. svn path=/main/trunk/; revision=2750 --- pym/portage.py | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) (limited to 'pym/portage.py') diff --git a/pym/portage.py b/pym/portage.py index 5f260b133..8b3f289cd 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -106,6 +106,7 @@ try: from portage_checksum import perform_md5,perform_checksum,prelink_capable import eclass_cache from portage_localization import _ + from portage_update import fixdbentries # Need these functions directly in portage namespace to not break every external tool in existence from portage_versions import ververify,vercmp,catsplit,catpkgsplit,pkgsplit,pkgcmp @@ -3651,32 +3652,6 @@ def getmaskingstatus(mycpv): rValue.append(kmask+" keyword") return rValue -def fixdbentries(update_iter, dbdir): - """Performs update commands which result in search and replace operations - for each of the files in dbdir (excluding CONTENTS and environment.bz2). - Returns True when actual modifications are necessary and False otherwise.""" - modified = False - for myfile in [f for f in os.listdir(dbdir) if f not in ("CONTENTS", "environment.bz2")]: - file_path = os.path.join(dbdir, myfile) - f = open(file_path, "r") - mycontent = f.read() - f.close() - orig_content = mycontent - for update_cmd in update_iter: - if update_cmd[0] == "move": - old_value, new_value = update_cmd[1], update_cmd[2] - if not mycontent.count(old_value): - continue - old_value = re.escape(old_value); - mycontent = re.sub(old_value+"$", new_value, mycontent) - mycontent = re.sub(old_value+"(\\s)", new_value+"\\1", mycontent) - mycontent = re.sub(old_value+"(-[^a-zA-Z])", new_value+"\\1", mycontent) - mycontent = re.sub(old_value+"([^a-zA-Z0-9-])", new_value+"\\1", mycontent) - if mycontent is not orig_content: - write_atomic(file_path, mycontent) - modified = True - return modified - class packagetree: def __init__(self,virtual,clone=None): if clone: -- cgit v1.2.3-1-g7c22