#!/usr/bin/env python

import os, sys, re, shutil#, cgi
from cgitools import isOnline, cgi_token, exitWithInfo, decodeStr, script_path_url, data_subdirs, prepareDirnames

if not isOnline(): sys.exit(0)#exitWithInfo('Logon first please.')

#form = cgi.FieldStorage()

#filename = decodeStr(form.getvalue('fname'))
#'''

win_close = '<p><center><input type="button" value="close" onClick="javascript:window.close()"></center></p>'
request_page = os.getenv('QUERY_STRING')
if not request_page: #is None: 
	request_page = os.getenv('PATH_INFO')
	if request_page and len(request_page)>1: request_page = request_page[1:] # remove the leading slash '/'
	else: exitWithInfo('No file name offered!' + win_close)

filename = decodeStr(request_page)

sep = os.sep + os.sep
nms = filename.split(sep)
filename = nms[0]
if len(nms) > 1: raw_name = sep.join(nms[1:])
else: raw_name = os.path.split(filename)[1]

#'''

if not os.path.exists(filename): exitWithInfo('The file is not found!' + win_close)

# link file 
intensity_dir_name = data_subdirs['intensity'].get('name_full','')
if not intensity_dir_name:
	try: prepareDirnames()
	except: 
		exitWithInfo('Failed to prepareDirnames' + win_close)
		sys.exit(0)
	intensity_dir_name = data_subdirs['intensity'].get('name_full','')
fn = raw_name #os.path.split(filename)[1]
obj = os.path.join(intensity_dir_name, fn)

if os.path.exists(obj): exitWithInfo("%s already exists!%s" % (fn, win_close))

try:
	#os.symlink(filename, obj)
	shutil.copy(filename, obj)
except:
	exitWithInfo('Failed to submit file "%s"!%s' % (fn, win_close))

exitWithInfo('Done!%s' % win_close)

