[yum-cvs] yum/rpmUtils transaction.py,1.21,1.22
Seth Vidal
skvidal at login.linux.duke.edu
Sun Mar 27 04:42:11 UTC 2005
- Previous message: [yum-cvs] yum/yum __init__.py, 1.103, 1.104 config.py, 1.56, 1.57 constants.py, 1.2, 1.3 plugins.py, 1.2, 1.3
- Next message: [yum-cvs] yum cli.py,1.171,1.172
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/groups/yum/cvs/yum/rpmUtils
In directory login:/tmp/cvs-serv11427/rpmUtils
Modified Files:
transaction.py
Log Message:
remove old TransactionData class
Index: transaction.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/rpmUtils/transaction.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- transaction.py 23 Feb 2005 18:22:46 -0000 1.21
+++ transaction.py 27 Mar 2005 04:42:09 -0000 1.22
@@ -17,206 +17,6 @@
read_ts = None
ts = None
-
-class TransactionData:
- # simple data structure designed to transport info
- # about rpm transactions around
- def __init__(self):
- self.data = {}
- # a list of tuples of pkginfo, and mode ('e', 'i', 'u')
- # the pkgInfo is tuple of (name, arch, epoch, version, release)
- # example self.data['packages'].append((pkginfo, mode))
- self.data['packages'] = []
- # stores the reason for the package being in the transaction set
- self.reason = {} # self.reason[pkgtup] = 'user', 'dep'
- # user = user requested
- # dep = deps
- # others? ....
- # list of flags to set for the transaction
- self.data['flags'] = []
- self.data['vsflags'] = []
- self.data['probFilterFlags'] = []
-
- def count(self):
- """returns count of packages in transaction holder"""
- return len(self.data['packages'])
-
- def getMode(self, name=None, arch=None, epoch=None, ver=None, rel=None):
- """give back the first mode that matches the keywords, return None for
- no match."""
- completelist = []
- removedict = {}
- returnlist = []
-
- for ((n,a,e,v,r), mode) in self.data['packages']:
- completelist.append((n,a,e,v,r))
-
- for pkgtup in completelist:
- (n, a, e, v, r) = pkgtup
- if name is not None:
- if name != n:
- removedict[pkgtup] = 1
- continue
- if arch is not None:
- if arch != a:
- removedict[pkgtup] = 1
- continue
- if epoch is not None:
- if epoch != e:
- removedict[pkgtup] = 1
- continue
- if ver is not None:
- if ver != v:
- removedict[pkgtup] = 1
- continue
- if rel is not None:
- if rel != r:
- removedict[pkgtup] = 1
- continue
-
- for pkgtup in completelist:
- if not removedict.has_key(pkgtup):
- returnlist.append(pkgtup)
-
- for matched in returnlist:
- for (pkgtup, mode) in self.data['packages']:
- if matched == pkgtup:
- return mode
-
- return None
-
-
-
- def add(self, pkgtup, mode, reason='user'):
- """add a package to the transaction"""
-
- if (pkgtup, mode) not in self.data['packages']:
- self.data['packages'].append((pkgtup, mode))
- self.reason[pkgtup] = reason
-
- def remove(self, pkgtup):
- """remove a package from the transaction"""
-
- # we're iterating the list and not including
- # the pkgs matching pkgtup
-
- newlist = []
- for (tup, mode) in self.data['packages']:
- if pkgtup != tup:
- newlist.append((tup, mode))
-
- if self.reason.has_key(pkgtup):
- del self.reason[pkgtup]
-
- self.data['packages'] = newlist
-
- def changeMode(self, pkgtup, mode):
- reason = self.reason[pkgtup]
- self.remove(pkgtup)
- self.add(pkgtup, mode, reason)
-
- def dump(self):
- """returns a list of the (pkginfo, mode) tuples"""
- return self.data['packages']
-
- def makedict(self):
- """returns a dict of the self.dump()"""
- returndict = {}
- for (pkginfo, mode) in self.dump():
- returndict[pkginfo] = mode
-
- return returndict
-
- def makelists(self):
- """returns lists of packages based on mode:
- updated, installed, erased, obsoleted, depupdated, depinstalled
- deperased"""
-
- removed = []
- installed = []
- updated = []
- obsoleted = []
- depremoved = []
- depinstalled = []
- depupdated = []
-
- for (pkgInfo, mode) in self.dump():
- if mode == 'u':
- if self.reason[pkgInfo] == 'dep':
- depupdated.append(pkgInfo)
- else:
- updated.append(pkgInfo)
-
- elif mode == 'i':
- if self.reason[pkgInfo] == 'dep':
- depinstalled.append(pkgInfo)
- else:
- installed.append(pkgInfo)
-
- elif mode == 'e':
- if self.reason[pkgInfo] == 'dep':
- depremoved.append(pkgInfo)
- else:
- removed.append(pkgInfo)
- elif mode == 'o':
- obsoleted.append(pkgInfo)
- else:
- pass
-
- updated.sort()
- installed.sort()
- removed.sort()
- obsoleted.sort()
- depupdated.sort()
- depinstalled.sort()
- depremoved.sort()
-
- return updated, installed, removed, obsoleted, depupdated, depinstalled, depremoved
-
- def display(self):
- out = ""
- removed = []
- installed = []
- updated = []
- misc = []
- obsoleted = []
-
- for (pkgInfo, mode) in self.data['packages']:
- if mode == 'u':
- updated.append(pkgInfo)
- elif mode == 'i':
- installed.append(pkgInfo)
- elif mode == 'e':
- removed.append(pkgInfo)
- elif mode == 'o':
- obsoleted.append(pkgInfo)
- else:
- misc.append(pkgInfo)
-
- misc.sort()
- updated.sort()
- installed.sort()
- removed.sort()
- obsoleted.sort()
-
- for (n, a, e, v, r) in removed:
- out = out + "\t\t[e] %s.%s %s:%s-%s - %s\n" % (n, a, e, v, r, self.reason[(n, a, e, v, r)])
-
- for (n, a, e, v, r) in installed:
- out = out + "\t\t[i] %s.%s %s:%s-%s - %s\n" % (n, a, e, v, r, self.reason[(n, a, e, v, r)])
-
- for (n, a, e, v, r) in updated:
- out = out + "\t\t[u] %s.%s %s:%s-%s - %s\n" % (n, a, e, v, r, self.reason[(n, a, e, v, r)])
-
- for (n, a, e, v, r) in obsoleted:
- out = out + "\t\t[o] %s.%s %s:%s-%s - %s\n" % (n, a, e, v, r, self.reason[(n, a, e, v, r)])
-
- for (n, a, e, v, r) in misc:
- out = out + "\t\t[wtf] %s.%s %s:%s-%s - %s\n" % (n, a, e, v, r, self.reason[(n, a, e, v, r)])
-
- return out
-
-
# wrapper/proxy class for rpm.Transaction so we can
# instrument it, etc easily
class TransactionWrapper:
@@ -330,8 +130,6 @@
def initReadOnlyTransaction(root='/'):
- #global read_ts
- #if read_ts == None:
read_ts = TransactionWrapper(root=root)
read_ts.pushVSFlags((rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS))
return read_ts
- Previous message: [yum-cvs] yum/yum __init__.py, 1.103, 1.104 config.py, 1.56, 1.57 constants.py, 1.2, 1.3 plugins.py, 1.2, 1.3
- Next message: [yum-cvs] yum cli.py,1.171,1.172
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Yum-cvs-commits
mailing list