提交 77dc9328 编写于 作者: A Ansgar Burchardt

daklib/queue.py: use apt_inst.DebFile

Use apt_inst.DebFile instead of apt_inst.debExtract. This allows to
leave searching for the correct data.tar.* member to python-apt.
Signed-off-by: NAnsgar Burchardt <ansgar@debian.org>
上级 9578d307
......@@ -288,10 +288,10 @@ class TarTime(object):
self.future_files = {}
self.ancient_files = {}
def callback(self, Kind, Name, Link, Mode, UID, GID, Size, MTime, Major, Minor):
if MTime > self.future_cutoff:
def callback(self, member, data):
if member.mtime > self.future_cutoff:
self.future_files[Name] = MTime
if MTime < self.past_cutoff:
if member.mtime < self.past_cutoff:
self.ancient_files[Name] = MTime
###############################################################################
......@@ -1620,19 +1620,8 @@ class Upload(object):
if entry["type"] == "deb":
tar.reset()
try:
deb_file = utils.open_file(filename)
apt_inst.debExtract(deb_file, tar.callback, "control.tar.gz")
deb_file.seek(0)
try:
apt_inst.debExtract(deb_file, tar.callback, "data.tar.gz")
except SystemError, e:
# If we can't find a data.tar.gz, look for data.tar.bz2 instead.
if not re.search(r"Cannot f[ui]nd chunk data.tar.gz$", str(e)):
raise
deb_file.seek(0)
apt_inst.debExtract(deb_file,tar.callback,"data.tar.bz2")
deb_file.close()
deb = apt_inst.DebFile(filename)
deb.control.go(tar.callback)
future_files = tar.future_files.keys()
if future_files:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册