def w2p_unpack(filename, path, delete_tar=True): if filename=='welcome.w2p' and ( not os.path.exists('welcome.w2p') or \ os.path.exists('NEWINSTALL')): try: w2p_pack('welcome.w2p', 'applications/welcome') os.unlink('NEWINSTALL') except: msg = "New installation: unable to create welcome.w2p file" sys.stderr.write(msg) filename = abspath(filename) path = abspath(path) if filename[-4:] == '.w2p' or filename[-3:] == '.gz': if filename[-4:] == '.w2p': tarname = filename[:-4] + '.tar' else: tarname = filename[:-3] + '.tar' fgzipped = gzopen(filename, 'rb') tarfile = open(tarname, 'wb') tarfile.write(fgzipped.read()) tarfile.close() fgzipped.close() else: tarname = filename untar(tarname, path) if delete_tar: os.unlink(tarname)
def w2p_unpack(filename, path, delete_tar=True): if filename[-4:] == '.w2p' or filename[-3:] == '.gz': if filename[-4:] == '.w2p': tarname = filename[:-4] + '.tar' else: tarname = filename[:-3] + '.tar' fgzipped = gzopen(filename, 'rb') tarfile = open(tarname, 'wb') tarfile.write(fgzipped.read()) tarfile.close() fgzipped.close() else: tarname = filename untar(tarname, path) if delete_tar: os.unlink(tarname)
def w2p_unpack(filename, path, delete_tar=True): if filename == "welcome.w2p": create_welcome_w2p() filename = abspath(filename) path = abspath(path) if filename[-4:] == ".w2p" or filename[-3:] == ".gz": if filename[-4:] == ".w2p": tarname = filename[:-4] + ".tar" else: tarname = filename[:-3] + ".tar" fgzipped = gzopen(filename, "rb") tarfile = open(tarname, "wb") tarfile.write(fgzipped.read()) tarfile.close() fgzipped.close() else: tarname = filename untar(tarname, path) if delete_tar: os.unlink(tarname)
def check_for_gzip(tfile): """ Was that tarball also gzipped? Let's find out! @param: file (string): the name of the object (so we can gunzip, if that's necessary) @output: a gunzipped file in the directory of choice, if that's necessary @return new_file (string): The name of the file after gunzipping or the original name of the file if that wasn't necessary """ gzip_contains = 'gzip compressed data' dummy1, cmd_out, dummy2 = run_shell_command('file %s', (tfile,)) if cmd_out.find(gzip_contains) > -1: # we have a gzip! # so gzip is retarded and won't accept any file that doesn't end # with .gz. sad. run_shell_command('cp %s %s', (tfile, tfile + '.tar.gz')) new_dest = os.path.join(os.path.split(tfile)[0], 'tmp.tar') run_shell_command('touch %s', (new_dest,)) dummy1, cmd_out, cmd_err = run_shell_command('gunzip -c %s', (tfile + '.tar.gz',)) if cmd_err != '': write_message('Error while gunzipping ' + tfile) return tfile tarfile = open(new_dest, 'w') tarfile.write(cmd_out) tarfile.close() run_shell_command('rm %s', (tfile + '.tar.gz',)) return new_dest return tfile