def b64pack(app): """ Given an app's name, return the base64 representation of its packed version. """ folder = apath(app, r=request) tmpfile = StringIO() tar = tarfile.TarFile(fileobj=tmpfile, mode='w') try: filenames = listdir(folder, '^[\w\.\-]+$', add_dirs=True, exclude_content_from=['cache', 'sessions', 'errors']) for fname in filenames: tar.add(os.path.join(folder, fname), fname, False) finally: tar.close() tmpfile.seek(0) gzfile = StringIO() w2pfp = gzip.GzipFile(fileobj=gzfile, mode='wb') w2pfp.write(tmpfile.read()) w2pfp.close() gzfile.seek(0) return base64.b64encode(gzfile.read())
def b64pack(app): """ Given an app's name, return the base64 representation of its packed version. """ folder = apath(app, r=request) tmpfile = StringIO() tar = tarfile.TarFile(fileobj=tmpfile, mode='w') try: filenames = listdir( folder, '^[\w\.\-]+$', add_dirs=True, exclude_content_from=['cache', 'sessions', 'errors']) for fname in filenames: tar.add(os.path.join(folder, fname), fname, False) finally: tar.close() tmpfile.seek(0) gzfile = StringIO() w2pfp = gzip.GzipFile(fileobj=gzfile, mode='wb') w2pfp.write(tmpfile.read()) w2pfp.close() gzfile.seek(0) return base64.b64encode(gzfile.read())