#!C:\Python25\python.exe # -*- coding: UTF-8 -*- import os, sys, Cookie, hashlib, subprocess import cgitb,cgi from xml.dom.minidom import Document import xml.dom.minidom from xml.dom.minidom import Node import xml.sax import pprint #cgitb.enable() # ***** include the biocase.lib directory in the python sys path for importing ***** execfile( os.path.abspath( os.path.join( os.path.dirname( __file__ ), os.pardir, os.pardir, 'lib', 'biocase', 'adjustpath.py' ) )) execfile( os.path.abspath( os.path.join( os.path.dirname( __file__ ), os.pardir, os.pardir, 'lib', 'biocase', 'appinit.py' ) )) from biocase.configtool.general import * import biocase.configuration archivefilename = form.getvalue('archivefilename') dsa = form.getvalue('dsa') archivePath = os.path.abspath(".." + os.sep + ".." + os.sep + "archive") + os.sep + dsa + os.sep if dsa is None: execfile( os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'main.cgi' ) )) sys.exit() # check authentication! authorize(form, dsa=dsa) print "Pragma: no-cache\n" print "Expires: 0\n" print "Cache-Control: must-revalidate, post-check=0, pre-check=0\n" #print "Content-Description: File Transfer\n" #print('Content-Type: text/plain\n') #print 'Content-Type: application/octet-stream\n' print 'Content-Type: application/zip\n' print 'Content-Disposition: attachment;filename='+archivefilename+'\n' print "Content-Disposition: inline;filename="+archivefilename+'\n' print 'Content-Disposition: filename='+archivefilename+'\n' #print 'Content-Disposition: filename='+archivefilename+'\n' print 'Content-Transfer-Encoding: binary\n' f = archivePath + archivefilename chunk_size = 4096 handle = open(f, "rb") while True: buffer = handle.read(chunk_size) if buffer: sys.stdout.write(buffer) else: break