import urllib, os, sys, tarfile url = 'http://ddscat.googlecode.com/files/ddscat7.1.0_100303.tgz' 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(".tgz") != -1: #or item.name.find(".tar") != -1: extract(item.name, "./" + item.name[:item.name.rfind('/')]) try: os.system("mkdir eDDA") os.chdir("eDDA") print "Downloading and extracting Draine's DDA..." urllib.urlretrieve(url, 'ddscat7.1.0_100303.tgz') extract('ddscat7.1.0_100303.tgz') os.system("rm ddscat7.1.0_100303.tgz") os.system("mkdir dielectric") os.system("mkdir shapes") print "Done." print "Downloading and extracting eDDA..." url = 'http://faculty.washington.edu/masiello/Masiello_Group_Website/e-DDA_files/edda1.0.zip' urllib.urlretrieve(url, 'edda1.0.zip') os.system("unzip edda1.0.zip") os.system("chmod -x edda1.0/*") os.system("mv edda1.0/*.f90 edda1.0/Makefile edda1.0/ddscat.par src/") os.system("mv edda1.0/*.dat shapes/") os.system("mv edda1.0/*.tab dielectric/") os.system("rm -r edda1.0/") os.system("rm edda1.0.zip") os.system("rm -r __MACOSX/") print "Done." print "Compiling DDA and eDDA..." os.chdir("src") os.system("make ddscat") os.chdir("../") os.system("mv doc/ documentation/") print "eDDA has been successfully installed on your computer" print "Downloading and installing JobLauncher..." url = 'http://faculty.washington.edu/masiello/Masiello_Group_Website/e-DDA_files/JobLauncher.zip' os.system("mkdir JobLauncher") os.chdir("JobLauncher") urllib.urlretrieve(url, 'JobLauncher.zip') os.system("unzip JobLauncher.zip") os.system("make all") os.system("rm JobLauncher.zip") print "Done." except: print "Something broke... try a manual install"