- bug fix - the data transfer module now works for file/folder names with spaces in them
- UI cleanup
This commit is contained in:
Ramkrishna Chakrabarty
2010-06-11 10:18:13 -04:00
parent 448e619186
commit df780b03c9
5 changed files with 42 additions and 40 deletions
+1 -1
View File
@@ -1543,7 +1543,7 @@ class Sample( object ):
def print_ticks(d):
pass
datatx_info = self.request.type.datatx_info
cmd = 'ssh %s@%s "du -sh %s"' % ( datatx_info['username'],
cmd = 'ssh %s@%s "du -sh \'%s\'"' % ( datatx_info['username'],
datatx_info['host'],
filepath)
output = pexpect.run(cmd, events={'.ssword:*': datatx_info['password']+'\r\n',
+4 -3
View File
@@ -228,7 +228,7 @@ class RequestsAdmin( BaseController ):
trans.response.headers['Expires'] = '0'
sample = trans.sa_session.query( self.app.model.Sample ).get( int(id) )
datatx_info = sample.request.type.datatx_info
cmd = 'ssh %s@%s "ls -oghp %s"' % ( datatx_info['username'],
cmd = 'ssh %s@%s "ls -oghp \'%s\'"' % ( datatx_info['username'],
datatx_info['host'],
folder_path )
output = pexpect.run(cmd, events={'.ssword:*': datatx_info['password']+'\r\n',
@@ -1528,7 +1528,7 @@ class RequestsAdmin( BaseController ):
message=message))
def print_ticks(d):
pass
cmd = 'ssh %s@%s "ls -p %s"' % ( datatx_info['username'],
cmd = 'ssh %s@%s "ls -p \'%s\'"' % ( datatx_info['username'],
datatx_info['host'],
folder_path)
output = pexpect.run(cmd, events={'.ssword:*': datatx_info['password']+'\r\n',
@@ -1541,7 +1541,8 @@ class RequestsAdmin( BaseController ):
sample_id=trans.security.encode_id(sample.id),
message=message, status='error',
folder_path=folder_path ))
return output.split()
return output.splitlines()
def __get_files_in_dir(self, trans, sample, folder_path):
tmpfiles = self.__get_files(trans, sample, folder_path)
@@ -151,11 +151,11 @@ class DataTransfer(object):
for i, df in enumerate(self.dataset_files):
self.update_status(Sample.transfer_status.TRANSFERRING, df['index'])
try:
cmd = "scp %s@%s:%s %s/%s" % ( self.username,
cmd = "scp %s@%s:'%s' '%s/%s'" % ( self.username,
self.host,
df['file'],
self.server_dir,
df['name'])
df['file'].replace(' ', '\ '),
self.server_dir.replace(' ', '\ '),
df['name'].replace(' ', '\ '))
log.debug(cmd)
output = pexpect.run(cmd, events={'.ssword:*': self.password+'\r\n',
pexpect.TIMEOUT:print_ticks},
@@ -182,7 +182,8 @@ class DataTransfer(object):
galaxyweb = GalaxyWebInterface(self.server_host, self.server_port,
self.datatx_email, self.datatx_password,
self.config_id_secret)
galaxyweb.add_to_library(self.server_dir, self.library_id, self.folder_id)
retval = galaxyweb.add_to_library(self.server_dir, self.library_id, self.folder_id)
log.debug(str(retval))
galaxyweb.logout()
except Exception, e:
log.debug(e)
@@ -60,14 +60,15 @@ class GalaxyWebInterface(object):
dbkey=dbkey,
show_dataset_id='True',
runtool_btn='Upload to library'))
#url = "http://localhost:8080/library_common/upload_library_dataset?cntrller=library_admin&tool_id=upload1&tool_state=None&library_id=adb5f5c93f827949&folder_id=adb5f5c93f827949&upload_option=upload_directory&file_type=auto&server_dir=003&dbkey=%3F&message=&runtool_btn=Upload+to+library"
#url = base_url+"/library_common/upload_library_dataset?library_id=adb5f5c93f827949&tool_id=upload1&file_type=auto&server_dir=datatx_22858&dbkey=%3F&upload_option=upload_directory&folder_id=529fd61ab1c6cc36&cntrller=library_admin&tool_state=None&runtool_btn=Upload+to+library"
url = self.base_url+"/library_common/upload_library_dataset"
#print url
#print params
f = self.opener.open(url, params)
if f.read().find("Data Library") == -1:
raise Exception("Dataset could not be uploaded to the data library. URL: %s, PARAMS=%s" % (url, params))
print url
print params
try:
f = self.opener.open(url, params)
if f.read().find("Data Library") == -1:
raise Exception("Dataset could not be uploaded to the data library. URL: %s, PARAMS=%s" % (url, params))
except:
return 'ERROR', url, params
def import_to_history(self, ldda_id, library_id, folder_id):
params = urllib.urlencode(dict( cntrller='library_admin',
@@ -78,14 +79,10 @@ class GalaxyWebInterface(object):
do_action='import_to_history',
use_panels='False'))
#url = "http://lion.bx.psu.edu:8080/library_common/act_on_multiple_datasets?library_id=adb5f5c93f827949&show_deleted=False&ldda_ids=adb5f5c93f827949&cntrller=library_admin&do_action=import_to_history&use_panels=False"
#url = base_url+"/library_common/upload_library_dataset?library_id=adb5f5c93f827949&tool_id=upload1&file_type=auto&server_dir=datatx_22858&dbkey=%3F&upload_option=upload_directory&folder_id=529fd61ab1c6cc36&cntrller=library_admin&tool_state=None&runtool_btn=Upload+to+library"
url = self.base_url+"/library_common/act_on_multiple_datasets"
#print url
#print params
f = self.opener.open(url, params)
x = f.read()
if x.find("1 dataset(s) have been imported into your history.") == -1:
#print x
raise Exception("Dataset could not be imported into history")
def run_workflow(self, workflow_id, hid, workflow_step):
@@ -94,11 +91,7 @@ class GalaxyWebInterface(object):
'run_workflow': 'Run workflow',
input: hid})
url = self.base_url+"/workflow/run"
#print url+'?'+params
f = self.opener.open(url, params)
# if f.read().find("1 dataset(s) have been imported into your history.") == -1:
# raise Exception("Error in running the workflow")
def logout(self):
# finally logout
+23 -16
View File
@@ -27,17 +27,24 @@ $(document).ready(function(){
var w = document.get_data.files_list.selectedIndex;
var selected_value = document.get_data.files_list.options[w].value;
var cell = $("#file_details");
//var sample_id = sample.id
// Make ajax call
$.ajax( {
type: "POST",
url: "${h.url_for( controller='requests_admin', action='get_file_details' )}",
dataType: "json",
data: { id: sample_id, folder_path: document.get_data.folder_path.value+selected_value },
success : function ( data ) {
cell.html( '<label>'+data+'</label>' )
}
});
if(selected_value.charAt(selected_value.length-1) != '/')
{
// Make ajax call
$.ajax( {
type: "POST",
url: "${h.url_for( controller='requests_admin', action='get_file_details' )}",
dataType: "json",
data: { id: sample_id, folder_path: document.get_data.folder_path.value+selected_value },
success : function ( data ) {
cell.html( '<label>'+data+'</label>' )
}
});
}
else
{
cell.html( '' )
}
}
</script>
@@ -47,11 +54,10 @@ $(document).ready(function(){
{
var w = document.get_data.files_list.selectedIndex;
var selected_value = document.get_data.files_list.options[w].value;
var cell = $("#file_details");
if(selected_value.charAt(selected_value.length-1) == '/')
{
document.get_data.folder_path.value = document.get_data.folder_path.value+selected_value
var cell = $("#file_details");
//var sample_id = sample.id
// Make ajax call
$.ajax( {
type: "POST",
@@ -60,8 +66,6 @@ $(document).ready(function(){
data: { id: sample_id, folder_path: document.get_data.folder_path.value },
success : function ( data ) {
document.get_data.files_list.options.length = 0
//alert(data)
//cell.html( '<label>'+data.name+'</label>' )
for(i=0; i<data.length; i++)
{
var newOpt = new Option(data[i], data[i]);
@@ -72,7 +76,10 @@ $(document).ready(function(){
}
});
}
else
{
cell.html( '' )
}
}
</script>