mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge branch 'release_15.10' into dev
This commit is contained in:
@@ -60,6 +60,8 @@ GalaxyApp.prototype._init = function init( options ){
|
||||
self._initUser( options.user || bootstrapped.user || {} );
|
||||
self.debug( 'GalaxyApp.user: ', self.user );
|
||||
|
||||
self.root = options.root;
|
||||
self.debug( 'GalaxyApp.root: ', self.root );
|
||||
//TODO: temp
|
||||
self.trigger( 'ready', self );
|
||||
//if( typeof options.onload === 'function' ){
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#command = docker {docker_args}
|
||||
|
||||
# The docker image name that should be started.
|
||||
image = bgruening/docker-ipython-notebook:15.10
|
||||
image = bgruening/docker-ipython-notebook:15.10.1
|
||||
|
||||
# Additional arguments that are passed to the `docker run` command.
|
||||
#command_inject = --sig-proxy=true -e DEBUG=false
|
||||
|
||||
@@ -8,8 +8,7 @@ import hashlib
|
||||
# Sets ID and sets up a lot of other variables
|
||||
ie_request.load_deploy_config()
|
||||
ie_request.attr.docker_port = 6789
|
||||
# Create tempdir in galaxy
|
||||
temp_dir = ie_request.temp_dir
|
||||
ie_request.attr.import_volume = False
|
||||
|
||||
if ie_request.attr.PASSWORD_AUTH:
|
||||
m = hashlib.sha1()
|
||||
@@ -19,23 +18,15 @@ else:
|
||||
PASSWORD = "none"
|
||||
|
||||
## IPython Specific
|
||||
# Prepare an empty notebook
|
||||
notebook_id = ie_request.generate_hex(64)
|
||||
with open( os.path.join( ie_request.attr.our_template_dir, 'notebook.ipynb' ), 'r') as nb_handle:
|
||||
empty_nb = nb_handle.read()
|
||||
empty_nb = empty_nb % notebook_id
|
||||
# Copy over default notebook, unless the dataset this viz is running on is a notebook
|
||||
empty_nb_path = os.path.join(temp_dir, 'ipython_galaxy_notebook.ipynb')
|
||||
|
||||
if hda.datatype.__class__.__name__ != "Ipynb":
|
||||
with open( empty_nb_path, 'w+' ) as handle:
|
||||
handle.write( empty_nb )
|
||||
if hda.datatype.__class__.__name__ == "Ipynb":
|
||||
DATASET_HID = hda.hid
|
||||
else:
|
||||
shutil.copy( hda.file_name, empty_nb_path )
|
||||
DATASET_HID = None
|
||||
|
||||
# Add all environment variables collected from Galaxy's IE infrastructure
|
||||
ie_request.launch(env_override={
|
||||
'notebook_password': PASSWORD,
|
||||
'dataset_hid': DATASET_HID,
|
||||
})
|
||||
|
||||
## General IE specific
|
||||
|
||||
@@ -63,7 +63,11 @@ class ConfigSerializer( base.ModelSerializer ):
|
||||
'ftp_upload_dir' : _defaults_to( None ),
|
||||
'ftp_upload_site' : _defaults_to( None ),
|
||||
'version_major' : _defaults_to( None ),
|
||||
'require_login' : _defaults_to( None )
|
||||
'require_login' : _defaults_to( None ),
|
||||
'inactivity_box_content' : _defaults_to( None ),
|
||||
'message_box_content' : _defaults_to( None ),
|
||||
'message_box_visible' : _defaults_to( False ),
|
||||
'message_box_class' : _defaults_to( 'info' ),
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -582,8 +582,8 @@ class DynamicOptions( object ):
|
||||
def get_fields( self, trans, other_values ):
|
||||
if self.dataset_ref_name:
|
||||
dataset = other_values.get( self.dataset_ref_name, None )
|
||||
assert dataset is not None, "Required dataset '%s' missing from input" % self.dataset_ref_name
|
||||
if not dataset:
|
||||
log.warn( "Required dataset '%s' missing from input" % self.dataset_ref_name )
|
||||
return [] # no valid dataset in history
|
||||
# Ensure parsing dynamic options does not consume more than a megabyte worth memory.
|
||||
path = dataset.file_name
|
||||
|
||||
@@ -31,6 +31,7 @@ class InteractiveEnviornmentRequest(object):
|
||||
self.attr.galaxy_root_dir = os.path.abspath(self.attr.galaxy_config.root)
|
||||
self.attr.root = web.url_for("/")
|
||||
self.attr.app_root = self.attr.root + "plugins/interactive_environments/" + self.attr.viz_id + "/static/"
|
||||
self.attr.import_volume = True
|
||||
|
||||
plugin_path = os.path.abspath( plugin.path )
|
||||
|
||||
@@ -60,8 +61,12 @@ class InteractiveEnviornmentRequest(object):
|
||||
|
||||
# This duplicates the logic in the proxy manager
|
||||
if self.attr.galaxy_config.dynamic_proxy_external_proxy:
|
||||
self.attr.proxy_prefix = '%s/%s' % (
|
||||
slash = '/'
|
||||
if self.attr.galaxy_config.cookie_path.endswith('/'):
|
||||
slash = ''
|
||||
self.attr.proxy_prefix = '%s%s%s' % (
|
||||
self.attr.galaxy_config.cookie_path,
|
||||
slash,
|
||||
self.attr.galaxy_config.dynamic_proxy_prefix)
|
||||
else:
|
||||
self.attr.proxy_prefix = ''
|
||||
@@ -184,18 +189,19 @@ class InteractiveEnviornmentRequest(object):
|
||||
conf.update(env_override)
|
||||
env_str = ' '.join(['-e "%s=%s"' % (key.upper(), item) for key, item in conf.items()])
|
||||
volume_str = ' '.join(['-v "%s"' % volume for volume in volumes])
|
||||
import_volume_str = '-v "{temp_dir}:/import/"'.format(temp_dir=temp_dir) if self.attr.import_volume else ''
|
||||
# This is the basic docker command such as "sudo -u docker docker {docker_args}"
|
||||
# or just "docker {docker_args}"
|
||||
command = self.attr.viz_config.get("docker", "command")
|
||||
# Then we format in the entire docker command in place of
|
||||
# {docker_args}, so as to let the admin not worry about which args are
|
||||
# getting passed
|
||||
command = command.format(docker_args='run {command_inject} {environment} -d -P -v "{temp_dir}:/import/" {volume_str} {image}')
|
||||
command = command.format(docker_args='run {command_inject} {environment} -d -P {import_volume_str} {volume_str} {image}')
|
||||
# Once that's available, we format again with all of our arguments
|
||||
command = command.format(
|
||||
command_inject=self.attr.viz_config.get("docker", "command_inject"),
|
||||
environment=env_str,
|
||||
temp_dir=temp_dir,
|
||||
import_volume_str=import_volume_str,
|
||||
volume_str=volume_str,
|
||||
image=self.attr.viz_config.get("docker", "image")
|
||||
)
|
||||
|
||||
@@ -27,6 +27,7 @@ class JobController( BaseAPIController, UsesLibraryMixinItems ):
|
||||
def __init__( self, app ):
|
||||
super( JobController, self ).__init__( app )
|
||||
self.hda_manager = managers.hdas.HDAManager( app )
|
||||
self.dataset_manager = managers.datasets.DatasetManager( app )
|
||||
|
||||
@expose_api
|
||||
def index( self, trans, **kwd ):
|
||||
@@ -228,19 +229,15 @@ class JobController( BaseAPIController, UsesLibraryMixinItems ):
|
||||
decoded_job_id = self.decode_id( id )
|
||||
except Exception:
|
||||
raise exceptions.MalformedId()
|
||||
query = trans.sa_session.query( trans.app.model.Job )
|
||||
if trans.user_is_admin():
|
||||
query = query.filter(
|
||||
trans.app.model.Job.id == decoded_job_id
|
||||
)
|
||||
else:
|
||||
query = query.filter(
|
||||
trans.app.model.Job.user == trans.user,
|
||||
trans.app.model.Job.id == decoded_job_id
|
||||
)
|
||||
job = query.first()
|
||||
job = trans.sa_session.query( trans.app.model.Job ).filter( trans.app.model.Job.id == decoded_job_id ).first()
|
||||
if job is None:
|
||||
raise exceptions.ObjectNotFound()
|
||||
if not trans.user_is_admin() and job.user != trans.user:
|
||||
if not job.output_datasets:
|
||||
raise exceptions.ItemAccessibilityException( "Job has no output datasets." )
|
||||
for data_assoc in job.output_datasets:
|
||||
if not self.dataset_manager.is_accessible( data_assoc.dataset.dataset, trans.user ):
|
||||
raise exceptions.ItemAccessibilityException( "You are not allowed to rerun this job." )
|
||||
return job
|
||||
|
||||
@expose_api
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"galaxy-app-base.js","sources":["../src/galaxy-app-base.js"],"names":["define","userModel","metricsLogger","addLogging","localize","BASE_MVC","bootstrapped","GalaxyApp","options","self","this","_init","DEBUGGING_KEY","NAMESPACE_KEY","localDebugging","localStorage","getItem","storageErr","console","log","prototype","_","extend","Backbone","Events","logger","_processOptions","debug","_initConfig","config","_patchGalaxy","window","Galaxy","_initLogger","loggerOptions","_initLocale","_initUser","user","trigger","_setUpListeners","defaultOptions","patchExisting","root","defaults","k","hasOwnProperty","patchWith","consoleLogger","consoleLevel","MetricsLogger","ALL","consoleNamespaceWhitelist","split","emit","map","i","arguments","Array","slice","call","LoggableMixin","_l","userJSON","User","currUser","lastAjax","$","document","bind","ev","xhr","data","JSON","parse","err","url","location","href","debugging","setting","undefined","setItem","removeItem","debuggingNamespaces","namespaces","csv","newSettings","toString","userEmail","get"],"mappings":"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"}
|
||||
{"version":3,"file":"galaxy-app-base.js","sources":["../src/galaxy-app-base.js"],"names":["define","userModel","metricsLogger","addLogging","localize","BASE_MVC","bootstrapped","GalaxyApp","options","self","this","_init","DEBUGGING_KEY","NAMESPACE_KEY","localDebugging","localStorage","getItem","storageErr","console","log","prototype","_","extend","Backbone","Events","logger","_processOptions","debug","_initConfig","config","_patchGalaxy","window","Galaxy","_initLogger","loggerOptions","_initLocale","_initUser","user","root","trigger","_setUpListeners","defaultOptions","patchExisting","defaults","k","hasOwnProperty","patchWith","consoleLogger","consoleLevel","MetricsLogger","ALL","consoleNamespaceWhitelist","split","emit","map","i","arguments","Array","slice","call","LoggableMixin","_l","userJSON","User","currUser","lastAjax","$","document","bind","ev","xhr","data","JSON","parse","err","url","location","href","debugging","setting","undefined","setItem","removeItem","debuggingNamespaces","namespaces","csv","newSettings","toString","userEmail","get"],"mappings":"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"}
|
||||
@@ -1,2 +1,2 @@
|
||||
define(["mvc/user/user-model","utils/metrics-logger","utils/add-logging","utils/localization","mvc/base-mvc","bootstrapped-data"],function(a,b,c,d,e,f){function g(a){var b=this;return b._init(a||{})}c(g,"GalaxyApp");var h="galaxy:debug",i=h+":namespaces",j=!1;try{j="true"==localStorage.getItem(h)}catch(k){console.log(d("localStorage not available for debug flag retrieval"))}return g.prototype._init=function(a){var b=this;return _.extend(b,Backbone.Events),j&&(b.logger=console),b._processOptions(a),b.debug("GalaxyApp.options: ",b.options),b._initConfig(a.config||f.config||{}),b.debug("GalaxyApp.config: ",b.config),b._patchGalaxy(window.Galaxy),b._initLogger(b.options.loggerOptions||{}),b.debug("GalaxyApp.logger: ",b.logger),b._initLocale(),b.debug("GalaxyApp.localize: ",b.localize),b._initUser(a.user||f.user||{}),b.debug("GalaxyApp.user: ",b.user),b.trigger("ready",b),b._setUpListeners(),b},g.prototype.defaultOptions={patchExisting:!0,root:"/",loggerOptions:{}},g.prototype._processOptions=function(a){var b=this,c=b.defaultOptions;b.debug("_processOptions: ",a),b.options={};for(var d in c)c.hasOwnProperty(d)&&(b.options[d]=a.hasOwnProperty(d)?a[d]:c[d]);return b},g.prototype._initConfig=function(a){var b=this;return b.debug("_initConfig: ",a),b.config=a,b.config.debug=j||b.config.debug,b},g.prototype._patchGalaxy=function(a){var b=this;if(b.options.patchExisting&&a){b.debug("found existing Galaxy object:",a);for(var c in a)a.hasOwnProperty(c)&&(b.debug(" patching in "+c+" to Galaxy"),b[c]=a[c])}},g.prototype._initLogger=function(a){var c=this;if(c.config.debug){a.consoleLogger=a.consoleLogger||console,a.consoleLevel=a.consoleLevel||b.MetricsLogger.ALL;try{a.consoleNamespaceWhitelist=localStorage.getItem(i).split(",")}catch(d){}}return c.debug("_initLogger:",a),c.logger=new b.MetricsLogger(a),c.emit={},["log","debug","info","warn","error","metric"].map(function(a){c.emit[a]=function(){c.logger.emit(a,arguments[0],Array.prototype.slice.call(arguments,1))}}),c.config.debug&&(e.LoggableMixin.logger=c.logger),c},g.prototype._initLocale=function(a){var b=this;return b.debug("_initLocale:",a),b.localize=d,window._l=b.localize,b},g.prototype._initUser=function(b){var c=this;return c.debug("_initUser:",b),c.user=new a.User(b),c.user.logger=c.logger,c.currUser=c.user,c},g.prototype._setUpListeners=function(){var a=this;return a.lastAjax={},$(document).bind("ajaxSend",function(b,c,d){var e=d.data;try{e=JSON.parse(e)}catch(f){}a.lastAjax={url:location.href.slice(0,-1)+d.url,data:e}}),a},g.prototype.debugging=function(a){var b=this;try{if(void 0===a)return"true"===localStorage.getItem(h);if(a)return localStorage.setItem(h,!0),!0;localStorage.removeItem(h),b.debuggingNamespaces(null)}catch(c){console.log(d("localStorage not available for debug flag retrieval"))}return!1},g.prototype.debuggingNamespaces=function(a){var b=this;try{if(void 0===a){var c=localStorage.getItem(i);return"string"==typeof c?c.split(","):[]}null===a?localStorage.removeItem(i):localStorage.setItem(i,a);var e=b.debuggingNamespaces();return b.logger&&(b.logger.options.consoleNamespaceWhitelist=e),e}catch(f){console.log(d("localStorage not available for debug namespace retrieval"))}},g.prototype.toString=function(){var a=this.user?this.user.get("email")||"(anonymous)":"uninitialized";return"GalaxyApp("+a+")"},{GalaxyApp:g}});
|
||||
define(["mvc/user/user-model","utils/metrics-logger","utils/add-logging","utils/localization","mvc/base-mvc","bootstrapped-data"],function(a,b,c,d,e,f){function g(a){var b=this;return b._init(a||{})}c(g,"GalaxyApp");var h="galaxy:debug",i=h+":namespaces",j=!1;try{j="true"==localStorage.getItem(h)}catch(k){console.log(d("localStorage not available for debug flag retrieval"))}return g.prototype._init=function(a){var b=this;return _.extend(b,Backbone.Events),j&&(b.logger=console),b._processOptions(a),b.debug("GalaxyApp.options: ",b.options),b._initConfig(a.config||f.config||{}),b.debug("GalaxyApp.config: ",b.config),b._patchGalaxy(window.Galaxy),b._initLogger(b.options.loggerOptions||{}),b.debug("GalaxyApp.logger: ",b.logger),b._initLocale(),b.debug("GalaxyApp.localize: ",b.localize),b._initUser(a.user||f.user||{}),b.debug("GalaxyApp.user: ",b.user),b.root=a.root,b.debug("GalaxyApp.root: ",b.root),b.trigger("ready",b),b._setUpListeners(),b},g.prototype.defaultOptions={patchExisting:!0,root:"/",loggerOptions:{}},g.prototype._processOptions=function(a){var b=this,c=b.defaultOptions;b.debug("_processOptions: ",a),b.options={};for(var d in c)c.hasOwnProperty(d)&&(b.options[d]=a.hasOwnProperty(d)?a[d]:c[d]);return b},g.prototype._initConfig=function(a){var b=this;return b.debug("_initConfig: ",a),b.config=a,b.config.debug=j||b.config.debug,b},g.prototype._patchGalaxy=function(a){var b=this;if(b.options.patchExisting&&a){b.debug("found existing Galaxy object:",a);for(var c in a)a.hasOwnProperty(c)&&(b.debug(" patching in "+c+" to Galaxy"),b[c]=a[c])}},g.prototype._initLogger=function(a){var c=this;if(c.config.debug){a.consoleLogger=a.consoleLogger||console,a.consoleLevel=a.consoleLevel||b.MetricsLogger.ALL;try{a.consoleNamespaceWhitelist=localStorage.getItem(i).split(",")}catch(d){}}return c.debug("_initLogger:",a),c.logger=new b.MetricsLogger(a),c.emit={},["log","debug","info","warn","error","metric"].map(function(a){c.emit[a]=function(){c.logger.emit(a,arguments[0],Array.prototype.slice.call(arguments,1))}}),c.config.debug&&(e.LoggableMixin.logger=c.logger),c},g.prototype._initLocale=function(a){var b=this;return b.debug("_initLocale:",a),b.localize=d,window._l=b.localize,b},g.prototype._initUser=function(b){var c=this;return c.debug("_initUser:",b),c.user=new a.User(b),c.user.logger=c.logger,c.currUser=c.user,c},g.prototype._setUpListeners=function(){var a=this;return a.lastAjax={},$(document).bind("ajaxSend",function(b,c,d){var e=d.data;try{e=JSON.parse(e)}catch(f){}a.lastAjax={url:location.href.slice(0,-1)+d.url,data:e}}),a},g.prototype.debugging=function(a){var b=this;try{if(void 0===a)return"true"===localStorage.getItem(h);if(a)return localStorage.setItem(h,!0),!0;localStorage.removeItem(h),b.debuggingNamespaces(null)}catch(c){console.log(d("localStorage not available for debug flag retrieval"))}return!1},g.prototype.debuggingNamespaces=function(a){var b=this;try{if(void 0===a){var c=localStorage.getItem(i);return"string"==typeof c?c.split(","):[]}null===a?localStorage.removeItem(i):localStorage.setItem(i,a);var e=b.debuggingNamespaces();return b.logger&&(b.logger.options.consoleNamespaceWhitelist=e),e}catch(f){console.log(d("localStorage not available for debug namespace retrieval"))}},g.prototype.toString=function(){var a=this.user?this.user.get("email")||"(anonymous)":"uninitialized";return"GalaxyApp("+a+")"},{GalaxyApp:g}});
|
||||
//# sourceMappingURL=../maps/galaxy-app-base.js.map
|
||||
+7
-3
@@ -457,12 +457,16 @@ def wait_on_state( state_func, assert_ok=False, timeout=DEFAULT_TIMEOUT ):
|
||||
return wait_on( get_state, desc="state", timeout=timeout)
|
||||
|
||||
|
||||
def wait_on( function, desc, timeout=5 ):
|
||||
def wait_on( function, desc, timeout=DEFAULT_TIMEOUT ):
|
||||
delta = .25
|
||||
iteration = 0
|
||||
while True:
|
||||
if (delta * iteration) > timeout:
|
||||
assert False, "Timed out waiting on %s." % desc
|
||||
total_wait = delta * iteration
|
||||
if total_wait > timeout:
|
||||
timeout_message = "Timed out after %s seconds waiting on %s." % (
|
||||
total_wait, desc
|
||||
)
|
||||
assert False, timeout_message
|
||||
iteration += 1
|
||||
value = function()
|
||||
if value is not None:
|
||||
|
||||
@@ -110,9 +110,10 @@ class JobsApiTestCase( api.ApiTestCase, TestsDatasets ):
|
||||
show_jobs_response = self._get( "jobs/%s" % job_id, admin=False )
|
||||
self._assert_not_has_keys( show_jobs_response.json(), "command_line", "external_id" )
|
||||
|
||||
with self._different_user():
|
||||
show_jobs_response = self._get( "jobs/%s" % job_id, admin=False )
|
||||
self._assert_status_code_is( show_jobs_response, 404 )
|
||||
# TODO: Re-activate test case when API accepts privacy settings
|
||||
# with self._different_user():
|
||||
# show_jobs_response = self._get( "jobs/%s" % job_id, admin=False )
|
||||
# self._assert_status_code_is( show_jobs_response, 200 )
|
||||
|
||||
show_jobs_response = self._get( "jobs/%s" % job_id, admin=True )
|
||||
self._assert_has_keys( show_jobs_response.json(), "command_line", "external_id" )
|
||||
|
||||
@@ -357,7 +357,7 @@ test_data:
|
||||
run_workflow_response = self._post( "workflows", data=workflow_request )
|
||||
self._assert_status_code_is( run_workflow_response, 200 )
|
||||
|
||||
self.dataset_populator.wait_for_history( history_id, assert_ok=True, timeout=10 )
|
||||
self.dataset_populator.wait_for_history( history_id, assert_ok=True )
|
||||
return self.__cat_job_id( history_id )
|
||||
|
||||
def _assert_first_step_is_paired_input( self, downloaded_workflow ):
|
||||
|
||||
Reference in New Issue
Block a user