From: Zac Medico Date: Sun, 19 Feb 2006 20:47:44 +0000 (-0000) Subject: In order do avoid the need for temporary files, add a new tbz2.recompose_mem() method... X-Git-Tag: v2.1_pre5_2760~10 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=80b381410e4a6519a01e2cfc218bd77a2e987112;p=portage.git In order do avoid the need for temporary files, add a new tbz2.recompose_mem() method that uses an xpak segment from memory. svn path=/main/trunk/; revision=2748 --- diff --git a/pym/xpak.py b/pym/xpak.py index 56c2f4b07..9e918801c 100644 --- a/pym/xpak.py +++ b/pym/xpak.py @@ -256,18 +256,21 @@ class tbz2: """Creates an xpak segment from the datadir provided, truncates the tbz2 to the end of regular data if an xpak segment already exists, and adds the new segment to the file with terminating info.""" + xpdata = xpak(datadir) + self.recompose_mem(xpdata) + if cleanup: + self.cleanup(datadir) + + def recompose_mem(self, xpdata): self.scan() # Don't care about condition... We'll rewrite the data anyway. myfile=open(self.file,"a+") if not myfile: raise IOError myfile.seek(-self.xpaksize,2) # 0,2 or -0,2 just mean EOF. myfile.truncate() - xpdata=xpak(datadir) myfile.write(xpdata+encodeint(len(xpdata))+"STOP") myfile.flush() myfile.close() - if cleanup: - self.cleanup(datadir) return 1 def cleanup(self, datadir):