Extract web2py '<app_name>.w2p' application into 'applications/<app_name>/‘ folder.
# -*- coding: utf-8 -*-
import os, sys, tarfile
import re
def extract(tar_url, extract_path='.'):
print tar_url
tar = tarfile.open(tar_url, 'r')
for item in tar:
tar.extract(item, extract_path)
if item.name.find(".w2p") != -1 or item.name.find(".tar") != -1:
extract(item.name, "./" + item.name[:item.name.rfind('/')])
try:
files = [f for f in os.listdir('.') if os.path.isfile(f)]
for f in files:
print f
if re.search(r'^web2py[.]app[.]([a-zA-Z0-9_ ]*)[.]w2p$', f):
print 'Extracting ', f
dest = re.search(r'^web2py[.]app[.]([a-zA-Z0-9_ ]*)[.]w2p$', f).group(1)
extract(f, extract_path='applications/' + dest)
print 'Done.'
except:
name = os.path.basename(sys.argv[0])
print name[:name.rfind('.')], '<filename>'