diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-04-09 09:00:39 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-04-09 09:00:39 +0000 |
commit | bbbf1d91708fd4b350c2abe62958b71790464049 (patch) | |
tree | 77d0aa2c0e2ce7a5b3b717766521ad9f418193d6 | |
parent | 1463b4a1d511bfa0cc03f7cc618c1a964a55b98f (diff) | |
download | portage-bbbf1d91708fd4b350c2abe62958b71790464049.tar.gz portage-bbbf1d91708fd4b350c2abe62958b71790464049.tar.bz2 portage-bbbf1d91708fd4b350c2abe62958b71790464049.zip |
Encapsulate type guessing logic in a new Manifest method.
svn path=/main/trunk/; revision=3106
-rw-r--r-- | pym/portage.py | 10 | ||||
-rw-r--r-- | pym/portage_manifest.py | 13 |
2 files changed, 14 insertions, 9 deletions
diff --git a/pym/portage.py b/pym/portage.py index dc8f2c0b7..5b2c278f4 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -2077,18 +2077,10 @@ def digestgen(myarchives,mysettings,db=None,overwrite=1,manifestonly=0): for f in myarchives: # the whole type evaluation is only for the case that myarchives isn't a # DIST file as create() determines the type on its own - mytype = mf.guessType(f) - if mytype == "AUX": - f = f[5:] - elif mytype is None: - continue - myrealtype = mf.findFile(f) - if myrealtype != None: - mytype = myrealtype writemsg(">>> Creating Manifest for %s\n" % mysettings["O"]) try: writemsg(">>> Adding digests for file %s\n" % f) - mf.updateFileHashes(mytype, f, checkExisting=False, reuseExisting=not os.path.exists(os.path.join(mysettings["DISTDIR"], f))) + mf.updateHashesGuessType(f, checkExisting=False, reuseExisting=not os.path.exists(os.path.join(mysettings["DISTDIR"], f))) except portage_exception.FileNotFound, e: writemsg("!!! File %s doesn't exist, can't update Manifest\n" % str(e)) return 0 diff --git a/pym/portage_manifest.py b/pym/portage_manifest.py index 8cfb43a82..073f7de56 100644 --- a/pym/portage_manifest.py +++ b/pym/portage_manifest.py @@ -389,6 +389,19 @@ class Manifest(object): for f in self._getCpvDistfiles(cpv): self.updateFileHashes("DIST", f, ignoreMissingFiles=ignoreMissingFiles) + def updateHashesGuessType(self, fname, *args, **kwargs): + """ Regenerate hashes for the given file (guesses the type and then + calls updateFileHashes).""" + mytype = self.guessType(fname) + if mytype == "AUX": + fname = fname[len("files" + os.sep):] + elif mytype is None: + return + myrealtype = self.findFile(fname) + if myrealtype is not None: + mytype = myrealtype + return self.updateFileHashes(mytype, fname, *args, **kwargs) + def getFileData(self, ftype, fname, key): """ Return the value of a specific (type,filename,key) triple, mainly useful to get the size for distfiles.""" |