47 yield self.action(self.tf, f) |
47 yield self.action(self.tf, f) |
48 |
48 |
49 def action(self, tarfile, tarinfo): |
49 def action(self, tarfile, tarinfo): |
50 if tarinfo.isreg(): |
50 if tarinfo.isreg(): |
51 return file.FileAction(tarfile.extractfile(tarinfo), |
51 return file.FileAction(tarfile.extractfile(tarinfo), |
52 mode = oct(stat.S_IMODE(tarinfo.mode)), |
52 mode=oct(stat.S_IMODE(tarinfo.mode)), |
53 owner = tarinfo.uname, group = tarinfo.gname, |
53 owner=tarinfo.uname, group=tarinfo.gname, |
54 path = tarinfo.name) |
54 path=tarinfo.name, |
|
55 timestamp=misc.time_to_timestamp(tarinfo.mtime)) |
55 elif tarinfo.isdir(): |
56 elif tarinfo.isdir(): |
56 return directory.DirectoryAction( |
57 return directory.DirectoryAction( |
57 mode = oct(stat.S_IMODE(tarinfo.mode)), |
58 mode=oct(stat.S_IMODE(tarinfo.mode)), |
58 owner = tarinfo.uname, group = tarinfo.gname, |
59 owner=tarinfo.uname, group=tarinfo.gname, |
59 path = tarinfo.name) |
60 path=tarinfo.name) |
60 |
61 |
61 def test(filename): |
62 def test(filename): |
62 try: |
63 try: |
63 return tarfile.is_tarfile(filename) |
64 return tarfile.is_tarfile(filename) |
64 except: |
65 except: |