archive'leri nasıl unpack() edeceğimizi bir örnek ile gösterdik...
This commit is contained in:
+16
-14
@@ -1,23 +1,25 @@
|
||||
# utilities to extract and build archives of zip, tar, targz, tarbz2
|
||||
# maintainer: baris and meren
|
||||
|
||||
import tarfile
|
||||
|
||||
import config
|
||||
|
||||
class ArchiveTarGZ:
|
||||
def __init__(self, filename):
|
||||
print "testing...%s" %filename
|
||||
class ArchiveTarFile:
|
||||
def __init__(self, filename, type):
|
||||
self.type = type
|
||||
self.filename = filename
|
||||
|
||||
def unpack(self):
|
||||
print "unpack is cool"
|
||||
|
||||
class ArchiveTarBZ2:
|
||||
pass
|
||||
if self.type == "targz":
|
||||
tar = tarfile.open(config.archives_dir()+"/"+self.filename, 'r:gz')
|
||||
for tarinfo in tar:
|
||||
tar.extract(tarinfo)
|
||||
tar.close()
|
||||
|
||||
class ArchiveZip:
|
||||
pass
|
||||
|
||||
class ArchiveTar:
|
||||
pass
|
||||
|
||||
class Archive:
|
||||
"""Unpack magic for Archive files..."""
|
||||
@@ -27,13 +29,13 @@ class Archive:
|
||||
targz, tarbz2, zip, tar"""
|
||||
|
||||
actions = {
|
||||
'targz': ArchiveTarGZ,
|
||||
'tarbz2': ArchiveTarBZ2,
|
||||
'zip': ArchiveZip,
|
||||
'tar': ArchiveTar
|
||||
'targz': ArchiveTarFile,
|
||||
'tarbz2': ArchiveTarFile,
|
||||
'tar': ArchiveTarFile,
|
||||
'zip': ArchiveZip
|
||||
}
|
||||
|
||||
self.archive = actions.get(type)(filename)
|
||||
self.archive = actions.get(type)(filename, type)
|
||||
|
||||
def unpack(self):
|
||||
self.archive.unpack()
|
||||
|
||||
Reference in New Issue
Block a user