unpisi: Use pisi.package module instead of duplicating extraction code

This commit is contained in:
Fatih Aşıcı
2010-06-19 15:29:46 +00:00
parent 602fa3c161
commit d6f92a1721
+5 -20
View File
@@ -14,10 +14,7 @@ import os
import sys import sys
from zipfile import BadZipfile from zipfile import BadZipfile
import pisi from pisi.package import Package
from pisi.archive import ArchiveZip, ArchiveTar
import pisi.context as ctx
import pisi.util as util
def usage(errmsg): def usage(errmsg):
print """ print """
@@ -38,26 +35,14 @@ def main():
usage("File %s not found" % sys.argv[1]) usage("File %s not found" % sys.argv[1])
try: try:
arc = ArchiveZip(sys.argv[1], 'zip', 'r') package = Package(sys.argv[1])
except BadZipfile, e: except BadZipfile, e:
print e print e
sys.exit(1) sys.exit(1)
arc.unpack_files(['files.xml', 'metadata.xml'], '.') package.extract_pisi_files(".")
arc.unpack_dir('comar', '.') package.extract_dir("comar", ".")
package.extract_install(".")
archive_name = None
if arc.has_file(ctx.const.install_tar_xz):
archive_name = ctx.const.install_tar_xz
archive_format = "tarxz"
elif arc.has_file(ctx.const.install_tar_lzma):
archive_name = ctx.const.install_tar_lzma
archive_format = "tarlzma"
if archive_name:
tar_file = arc.open(archive_name)
tar = ArchiveTar(fileobj=tar_file, arch_type=archive_format)
tar.unpack_dir('.')
return 0 return 0