Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/toolkit/tarball.py
diff options
context:
space:
mode:
authorflavio <fdanesse@gmail.com>2012-11-09 23:58:22 (GMT)
committer flavio <fdanesse@gmail.com>2012-11-09 23:58:22 (GMT)
commit3f792924ddf4dba301d06e496ac6e29296fbd4e9 (patch)
treebe8fa4c6ad9bc6f5caa4f8ba505724702ad89e6a /toolkit/tarball.py
parentd5dddee8995c0e1a2cac6e561b08c171b65f1f93 (diff)
Gtk 3 Port BaseHEADmaster
Diffstat (limited to 'toolkit/tarball.py')
-rw-r--r--toolkit/tarball.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/toolkit/tarball.py b/toolkit/tarball.py
index 0a4a1b2..30483ea 100644
--- a/toolkit/tarball.py
+++ b/toolkit/tarball.py
@@ -20,7 +20,6 @@ import os
import time
import tarfile
import cStringIO
-import gtk
import zipfile
import tempfile
import shutil
@@ -64,8 +63,10 @@ class Tarball:
"""
def __init__(self, name=None, mode='r', mtime=None):
+
if not mode.startswith('r') or tarfile.is_tarfile(name):
self.__tar = tarfile.TarFile(name=name, mode=mode)
+
else:
# convert for tar
@@ -85,6 +86,7 @@ class Tarball:
tar.close()
self.__tar = tarfile.TarFile(name=tmp_name, mode=mode)
+
finally:
tmp_fo.close()
os.unlink(tmp_name)
@@ -92,6 +94,7 @@ class Tarball:
if mtime:
self.mtime = mtime
+
else:
self.mtime = time.time()
@@ -106,8 +109,10 @@ class Tarball:
def read(self, arcname):
"""Returns sring with content of given file from tarball."""
file_o = self.__tar.extractfile(arcname.encode('utf8'))
+
if not file_o:
return None
+
out = file_o.read()
file_o.close()
return out