1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/b3171af94dcc/
Changeset: b3171af94dcc
User: greg
Date: 2014-01-20 17:48:05
Summary: Fixes and code cleanup for the tool shed's install and test framework.
Affected #: 4 files
diff -r 5404f0c3d733f25ba803bc6e0568fb889b1894c2 -r b3171af94dccffaa6e8a5b9b8bda1fd39479643c lib/galaxy/webapps/tool_shed/api/repository_revisions.py
--- a/lib/galaxy/webapps/tool_shed/api/repository_revisions.py
+++ b/lib/galaxy/webapps/tool_shed/api/repository_revisions.py
@@ -134,7 +134,12 @@
def repository_dependencies( self, trans, id, **kwd ):
"""
GET /api/repository_revisions/{encoded repository_metadata id}/repository_dependencies
- Displays information about a repository_metadata record in the Tool Shed.
+
+ Returns a list of dictionaries that each define a specific downloadable revision of a
+ repository in the Tool Shed. This method returns dictionaries with more information in
+ them than other methods in this controller. The information about repository_metdata is
+ enhanced to include information about the repository (e.g., name, owner, etc) associated
+ with the repository_metadata record.
:param id: the encoded id of the `RepositoryMetadata` object
"""
@@ -182,14 +187,24 @@
else:
changeset_revision = new_changeset_revision
repository_dependency_repository_metadata_id = trans.security.encode_id( repository_dependency_repository_metadata.id )
+ repository_dependency_metadata_dict = \
+ repository_dependency_repository_metadata.to_dict( view='element',
+ value_mapper=self.__get_value_mapper( trans ) )
repository_dependency_dict = repository_dependency.to_dict( view='element',
value_mapper=self.__get_value_mapper( trans ) )
- # We have to add the changeset_revision of of the repository dependency.
- repository_dependency_dict[ 'changeset_revision' ] = changeset_revision
- repository_dependency_dict[ 'url' ] = web.url_for( controller='repositories',
- action='show',
- id=repository_dependency_id )
- repository_dependencies_dicts.append( repository_dependency_dict )
+ # We need to be careful with the entries in our repository_dependency_dict here since this Tool Shed API
+ # controller is working with repository_metadata records. The above to_dict() method returns a dictionary
+ # with an id entry for the repository record. However, all of the other methods in this controller have
+ # the id entry associated with a repository_metadata record id. To avoid confusion, we'll update the
+ # repository_dependency_metadata_dict with entries from the repository_dependency_dict without using the
+ # Python dictionary update() method because we do not want to overwrite existing entries.
+ for k, v in repository_dependency_dict.items():
+ if k not in repository_dependency_metadata_dict:
+ repository_dependency_metadata_dict[ k ] = v
+ repository_dependency_metadata_dict[ 'url' ] = web.url_for( controller='repositories',
+ action='show',
+ id=repository_dependency_id )
+ repository_dependencies_dicts.append( repository_dependency_metadata_dict )
return repository_dependencies_dicts
@web.expose_api_anonymous
diff -r 5404f0c3d733f25ba803bc6e0568fb889b1894c2 -r b3171af94dccffaa6e8a5b9b8bda1fd39479643c lib/tool_shed/scripts/api/common.py
--- a/lib/tool_shed/scripts/api/common.py
+++ b/lib/tool_shed/scripts/api/common.py
@@ -145,7 +145,7 @@
extended_dict[ 'latest_revision' ] = str( latest_changeset_revision )
return extended_dict, error_message
else:
- error_message = 'Invalid extended_dict does not contain name or woner entries: %s' % str( extended_dict )
+ error_message = 'Invalid extended_dict does not contain name or owner entries: %s' % str( extended_dict )
return None, error_message
def json_from_url( url ):
diff -r 5404f0c3d733f25ba803bc6e0568fb889b1894c2 -r b3171af94dccffaa6e8a5b9b8bda1fd39479643c lib/tool_shed/util/common_util.py
--- a/lib/tool_shed/util/common_util.py
+++ b/lib/tool_shed/util/common_util.py
@@ -183,11 +183,11 @@
def tool_shed_get( app, tool_shed_url, uri ):
"""Make contact with the tool shed via the uri provided."""
registry = app.tool_shed_registry
- ## urllib2 auto-detects system proxies, when passed a Proxyhandler
- ## Refer: http://docs.python.org/2/howto/urllib2.html#proxies
+ # urllib2 auto-detects system proxies, when passed a Proxyhandler.
+ # Refer: http://docs.python.org/2/howto/urllib2.html#proxies
proxy = urllib2.ProxyHandler()
- urlopener = urllib2.build_opener(proxy)
- urllib2.install_opener(urlopener)
+ urlopener = urllib2.build_opener( proxy )
+ urllib2.install_opener( urlopener )
password_mgr = registry.password_manager_for_url( tool_shed_url )
if password_mgr is not None:
auth_handler = urllib2.HTTPBasicAuthHandler( password_mgr )
diff -r 5404f0c3d733f25ba803bc6e0568fb889b1894c2 -r b3171af94dccffaa6e8a5b9b8bda1fd39479643c test/install_and_test_tool_shed_repositories/base/util.py
--- a/test/install_and_test_tool_shed_repositories/base/util.py
+++ b/test/install_and_test_tool_shed_repositories/base/util.py
@@ -362,24 +362,21 @@
if error_message:
log.debug( 'Error getting additional details from the API: %s' % str( error_message ) )
else:
- # Don't test deprecated repositories since testing them is necessary only if reproducibility is guaranteed
- # and we are not currently guaranteeing reproducibility.
- deprecated = asbool( repository_dict.get( 'deprecated', False ) )
- if not deprecated:
- # Don't test empty repositories.
- changeset_revision = baseline_repository_dict[ 'changeset_revision' ]
- if changeset_revision != suc.INITIAL_CHANGELOG_HASH:
- # If testing repositories of type tool_dependency_definition, filter accordingly.
- if test_framework == TOOL_DEPENDENCY_DEFINITIONS and repository_dict[ 'type' ] != rt_util.TOOL_DEPENDENCY_DEFINITION:
- continue
- # Merge the dictionary returned from /api/repository_revisions with the detailed repository_dict and
- # append it to the list of repository_dicts to install and test.
- if latest_revision_only:
- latest_revision = repository_dict[ 'latest_revision' ]
- if changeset_revision == latest_revision:
- repository_dicts.append( dict( repository_dict.items() + baseline_repository_dict.items() ) )
- else:
+ changeset_revision = baseline_repository_dict[ 'changeset_revision' ]
+ # We have to test deprecated repositories since other repositories can define them as dependencies, but
+ # don't test empty repositories.
+ if changeset_revision != suc.INITIAL_CHANGELOG_HASH:
+ # If testing repositories of type tool_dependency_definition, filter accordingly.
+ if test_framework == TOOL_DEPENDENCY_DEFINITIONS and repository_dict[ 'type' ] != rt_util.TOOL_DEPENDENCY_DEFINITION:
+ continue
+ # Merge the dictionary returned from /api/repository_revisions with the detailed repository_dict and
+ # append it to the list of repository_dicts to install and test.
+ if latest_revision_only:
+ latest_revision = repository_dict[ 'latest_revision' ]
+ if changeset_revision == latest_revision:
repository_dicts.append( dict( repository_dict.items() + baseline_repository_dict.items() ) )
+ else:
+ repository_dicts.append( dict( repository_dict.items() + baseline_repository_dict.items() ) )
if testing_single_repository_dict:
tsr_name = testing_single_repository_dict[ 'name' ]
tsr_owner = testing_single_repository_dict[ 'owner' ]
@@ -435,7 +432,7 @@
hg_id = '%d:%s' % ( ctx_rev, str( changectx ) )
return hg_id
-def get_repository_dependencies_for_changeset_revision( tool_shed_url, encoded_repository_metadata_id ):
+def get_repository_dependencies_dicts( tool_shed_url, encoded_repository_metadata_id ):
"""
Return the list of dictionaries that define all repository dependencies of the repository_metadata
record associated with the received encoded_repository_metadata_id via the Tool Shed API.
@@ -443,19 +440,6 @@
error_message = ''
parts = [ 'api', 'repository_revisions', encoded_repository_metadata_id, 'repository_dependencies' ]
api_url = get_api_url( base=tool_shed_url, parts=parts )
- repository_dependency_dicts, error_message = json_from_url( api_url )
- if error_message:
- return None, error_message
- return repository_dependency_dicts, error_message
-
-def get_repository_dependencies_dicts( url, encoded_repository_metadata_id ):
- """
- Return a list if dictionaries that define the repository dependencies of the repository defined by the
- received repository_dict.
- """
- error_message = ''
- parts = [ 'api', 'repository_revisions', encoded_repository_metadata_id, 'repository_dependencies' ]
- api_url = get_api_url( base=url, parts=parts )
repository_dependencies_dicts, error_message = json_from_url( api_url )
if error_message:
return None, error_message
@@ -644,7 +628,7 @@
return True, reason
# Skip this repository if it has a repository dependency that is in the exclude list.
repository_dependency_dicts, error_message = \
- get_repository_dependencies_for_changeset_revision( galaxy_tool_shed_url, encoded_repository_metadata_id )
+ get_repository_dependencies_dicts( galaxy_tool_shed_url, encoded_repository_metadata_id )
if error_message:
log.debug( 'Error getting repository dependencies for revision %s of repository %s owned by %s:' % \
( changeset_revision, name, owner ) )
@@ -877,7 +861,7 @@
# has been updated within the past 12 hours. The RepositoryMetadata class's to_dict() method
# returns the value of time_last_tested in datetime.isoformat().
twenty_hours_ago = ( datetime.utcnow() - timedelta( hours=20 ) ).isoformat()
- time_last_tested, error_message = get_time_last_tested( galaxy_tool_shed_url, repository_metadata_id )
+ time_last_tested, error_message = get_time_last_tested( galaxy_tool_shed_url, required_repository_metadata_id )
if time_last_tested is not None and time_last_tested < twenty_hours_ago:
log.debug( 'The install containers for version %s of repository dependency %s owned by %s have been ' % \
( changeset_revision, name, owner ) )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/5404f0c3d733/
Changeset: 5404f0c3d733
User: jmchilton
Date: 2014-01-20 16:39:12
Summary: Fix small bug in handling of 'brand' text.
This was changed in 5828950834e3c888683dbeb567e10bcaf335c94f, after that commit the brand was no longer preceeded by a / in the masthead the way it is in the title. I assume this was an oversite and not intentional, if intentional feel free to backout of this commit.
Affected #: 1 file
diff -r 91cfc4bf86ef734a9a068cf6920e2a2db20f696f -r 5404f0c3d733f25ba803bc6e0568fb889b1894c2 static/scripts/galaxy.masthead.js
--- a/static/scripts/galaxy.masthead.js
+++ b/static/scripts/galaxy.masthead.js
@@ -131,6 +131,7 @@
// fill template
_template: function(options)
{
+ var brand_text = options.brand ? ("/ " + options.brand) : "" ;
return '<div><div id="masthead" class="navbar navbar-fixed-top navbar-inverse">' +
'<div style="position: relative; right: -50%; float: left;">' +
'<div id="navbar" style="display: block; position: relative; right: 50%;"></div>' +
@@ -138,7 +139,7 @@
'<div class="navbar-brand">' +
'<a href="' + options.logo_url + '">' +
'<img border="0" src="' + galaxy_config.root + 'static/images/galaxyIcon_noText.png">' +
- '<span id="brand"> Galaxy ' + options.brand + '</span>' +
+ '<span id="brand"> Galaxy ' + brand_text + '</span>' +
'</a>' +
'</div>' +
'<div class="quota-meter-container"></div>' +
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/fb09ee0a0b93/
Changeset: fb09ee0a0b93
User: inithello
Date: 2014-01-20 16:58:28
Summary: Correctly specify the location for the check file that indicates completion of stage 1.
Affected #: 1 file
diff -r e3cf4f844bac547e376a74e14f99b720b2364e6b -r fb09ee0a0b9300590dff7055dffa3cad959c9269 install_and_test_tool_shed_repositories.sh
--- a/install_and_test_tool_shed_repositories.sh
+++ b/install_and_test_tool_shed_repositories.sh
@@ -22,6 +22,11 @@
exit 1
fi
+if [ -z $GALAXY_INSTALL_TEST_TOOL_DEPENDENCY_DIR ] ; then
+ echo "This script requires the GALAXY_INSTALL_TEST_TOOL_DEPENDENCY_DIR environment variable to be set to your configured tool dependency path."
+ exit 1
+fi
+
if [ -z $GALAXY_INSTALL_TEST_TOOL_SHED_URL ] ; then
echo "This script requires the GALAXY_INSTALL_TEST_TOOL_SHED_URL environment variable to be set and non-empty."
exit 1
@@ -45,8 +50,8 @@
test_tool_dependency_definitions () {
# Test installation of repositories of type tool_dependency_definition.
- if [ -f /ToolDepsTest/stage_1_complete ] ; then
- rm /ToolDepsTest/stage_1_complete
+ if [ -f $GALAXY_INSTALL_TEST_TOOL_DEPENDENCY_DIR/stage_1_complete ] ; then
+ rm $GALAXY_INSTALL_TEST_TOOL_DEPENDENCY_DIR/stage_1_complete
fi
echo "Starting stage 1, tool dependency definitions."
python test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py $* -v --with-nosehtml --html-report-file \
@@ -54,11 +59,11 @@
test/install_and_test_tool_shed_repositories/functional/test_install_repositories.py \
test/functional/test_toolbox.py
echo "Stage 1 complete, exit code $?"
- touch /ToolDepsTest/stage_1_complete
+ touch $GALAXY_INSTALL_TEST_TOOL_DEPENDENCY_DIR/stage_1_complete
}
test_repositories_with_tools () {
- if [ ! -f /ToolDepsTest/stage_1_complete ] ; then
+ if [ ! -f $GALAXY_INSTALL_TEST_TOOL_DEPENDENCY_DIR/stage_1_complete ] ; then
echo 'Stage 1 did not complete its run, exiting.'
exit 1
fi
@@ -69,7 +74,7 @@
test/install_and_test_tool_shed_repositories/functional/test_install_repositories.py \
test/functional/test_toolbox.py
echo "Stage 2 complete, exit code $?"
- rm /ToolDepsTest/stage_1_complete
+ rm $GALAXY_INSTALL_TEST_TOOL_DEPENDENCY_DIR/stage_1_complete
}
which='both'
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/e3cf4f844bac/
Changeset: e3cf4f844bac
User: jmchilton
Date: 2014-01-20 15:35:50
Summary: Fix for b1121a315205e8152d9c59199443c492340e9f0b.
That did not work in Bjoern's setup for reasons that still are eluding me - but this variant works and is less hacky, more readable anyway.
Affected #: 1 file
diff -r ad603bf9062cc505e8ca2dad91dc22a3c378d8fd -r e3cf4f844bac547e376a74e14f99b720b2364e6b tools/data_source/upload.xml
--- a/tools/data_source/upload.xml
+++ b/tools/data_source/upload.xml
@@ -38,12 +38,15 @@
</param><param name="url_paste" type="text" area="true" size="5x35" label="URL/Text" help="Here you may specify a list of URLs (one per line) or paste the contents of a file."/><param name="ftp_files" type="ftpfile" label="Files uploaded via FTP"/>
- <!-- Change the following parameter from hidden to select to enable
- modifying this option via the Web GUI. See Bitbucket pull request
- 171 for more information. -->
- <param name="to_posix_lines" type="hidden" display="checkboxes" multiple="True" label="Convert universal line endings to Posix line endings" help="Turn this option off if you upload a gzip, bz2 or zip archive which contains a binary file." value="Yes">
+ <!-- Swap the following parameter for the select one that follows to
+ enable the to_posix_lines option in the Web GUI. See Bitbucket
+ Pull Request 171 for more information. -->
+ <param name="to_posix_lines" type="hidden" value="Yes" />
+ <!--
+ <param name="to_posix_lines" type="select" display="checkboxes" multiple="True" label="Convert universal line endings to Posix line endings" help="Turn this option off if you upload a gzip, bz2 or zip archive which contains a binary file." value="Yes"><option value="Yes" selected="true">Yes</option></param>
+ --><param name="space_to_tab" type="select" display="checkboxes" multiple="True" label="Convert spaces to tabs" help="Use this option if you are entering intervals by hand."><option value="Yes">Yes</option></param>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/60f203c3934d/
Changeset: 60f203c3934d
User: saketkc
Date: 2014-01-17 00:54:23
Summary: Add ProxyHandler to auto-detect system proxies
Affected #: 1 file
diff -r 41cd069aa739f735add1b7c6c4bdb5881dc7ed3b -r 60f203c3934d16f96e013102bab7882dbd0f64cd lib/tool_shed/util/common_util.py
--- a/lib/tool_shed/util/common_util.py
+++ b/lib/tool_shed/util/common_util.py
@@ -183,7 +183,11 @@
def tool_shed_get( app, tool_shed_url, uri ):
"""Make contact with the tool shed via the uri provided."""
registry = app.tool_shed_registry
- urlopener = urllib2.build_opener()
+ ## urllib2 auto-detects system proxies, when passed a Proxyhandler
+ ## Refer: http://docs.python.org/2/howto/urllib2.html#proxies
+ proxy = urllib2.ProxyHandler()
+ urlopener = urllib2.build_opener(proxy)
+ urllib2.install_opener(urlopener)
password_mgr = registry.password_manager_for_url( tool_shed_url )
if password_mgr is not None:
auth_handler = urllib2.HTTPBasicAuthHandler( password_mgr )
https://bitbucket.org/galaxy/galaxy-central/commits/cdd88bdbbf93/
Changeset: cdd88bdbbf93
User: greg
Date: 2014-01-20 15:42:05
Summary: Merged in saketkc/galaxy-central-gsoc2013 (pull request #299)
Add ProxyHandler to auto-detect system proxies
Affected #: 1 file
diff -r d634429a04504eb51a39315d947e4626633f2b32 -r cdd88bdbbf93ce2cec2f4b6b086c5edb7b080c8c lib/tool_shed/util/common_util.py
--- a/lib/tool_shed/util/common_util.py
+++ b/lib/tool_shed/util/common_util.py
@@ -183,7 +183,11 @@
def tool_shed_get( app, tool_shed_url, uri ):
"""Make contact with the tool shed via the uri provided."""
registry = app.tool_shed_registry
- urlopener = urllib2.build_opener()
+ ## urllib2 auto-detects system proxies, when passed a Proxyhandler
+ ## Refer: http://docs.python.org/2/howto/urllib2.html#proxies
+ proxy = urllib2.ProxyHandler()
+ urlopener = urllib2.build_opener(proxy)
+ urllib2.install_opener(urlopener)
password_mgr = registry.password_manager_for_url( tool_shed_url )
if password_mgr is not None:
auth_handler = urllib2.HTTPBasicAuthHandler( password_mgr )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/9753c9701fe8/
Changeset: 9753c9701fe8
User: guerler
Date: 2014-01-19 18:22:38
Summary: Upload: Update progress button
Affected #: 2 files
diff -r 9b21ef33dd494671dd589db3508f0d1865c92af6 -r 9753c9701fe87a82cc7e6dd657fdbcb2e3f60416 static/scripts/mvc/upload/upload-view.js
--- a/static/scripts/mvc/upload/upload-view.js
+++ b/static/scripts/mvc/upload/upload-view.js
@@ -84,13 +84,7 @@
// set percentage
_percentage: function(value) {
var $el = this.$el.find('.progress-bar');
- if (value) {
- // change to new percentage
- $el.css({ width : value + '%' });
- } else {
- // reset without transition
- $el.css({ width : '0%' });
- }
+ $el.css({ width : value + '%' });
},
// template
diff -r 9b21ef33dd494671dd589db3508f0d1865c92af6 -r 9753c9701fe87a82cc7e6dd657fdbcb2e3f60416 static/scripts/packed/mvc/upload/upload-view.js
--- a/static/scripts/packed/mvc/upload/upload-view.js
+++ b/static/scripts/packed/mvc/upload/upload-view.js
@@ -1,1 +1,1 @@
-define(["galaxy.modal","utils/utils","mvc/upload/upload-model","mvc/upload/upload-row","mvc/ui","utils/uploadbox"],function(c,f,e,d){var b=Backbone.Model.extend({defaults:{percentage:0,icon:"fa-circle",label:"",status:""}});var a=Backbone.View.extend({model:null,initialize:function(h){var g=this;this.model=h;this.options=this.model.attributes;this.setElement(this._template(this.options));$(this.el).on("click",this.options.onclick);if(this.options.tooltip){$(this.el).tooltip({title:this.options.tooltip,placement:"bottom"})}this.model.on("change:percentage",function(){g._percentage(g.model.get("percentage"))});this.model.on("change:status",function(){g._status(g.model.get("status"))});var g=this;$(window).on("beforeunload",function(){var i="";if(g.options.onunload){i=g.options.onunload()}if(i!=""){return i}})},_status:function(h){var g=this.$el.find(".progress-bar");g.removeClass();g.addClass("progress-bar");g.addClass("progress-bar-notransition");if(h!=""){g.addClass("progress-bar-"+h)}},_percentage:function(h){var g=this.$el.find(".progress-bar");if(h){g.css({width:h+"%"})}else{g.css({width:"0%"})}},_template:function(g){return'<div class="progress-button"><div class="progress"><div class="progress-bar"></div></div><div id="label" class="label" style="position: absolute; top: 0px; width: inherit; text-align: center;"><div class="fa '+g.icon+'"></div> '+g.label+"</div></div>"}});return Backbone.View.extend({modal:null,button_show:null,uploadbox:null,current_history:null,upload_size:0,select_extension:[["Auto-detect","auto"]],select_genome:[["Unspecified (?)","?"]],collection:new e.Collection(),counter:{announce:0,success:0,error:0,running:0,reset:function(){this.announce=this.success=this.error=this.running=0}},options:{nginx_upload_path:""},initialize:function(h){var g=this;if(!Galaxy.currHistoryPanel){window.setTimeout(function(){g.initialize()},500);return}if(!Galaxy.currUser.get("id")){return}this.button_show=new b({icon:"fa-upload",tooltip:"Upload files",label:"Upload",onclick:function(i){if(i){g._eventShow(i)}},onunload:function(){if(g.counter.running>0){return"Several uploads are still processing."}}});$("#left .unified-panel-header-inner").append((new a(this.button_show)).$el);var g=this;f.jsonFromUrl(galaxy_config.root+"api/datatypes",function(i){for(key in i){g.select_extension.push([i[key],i[key]])}});f.jsonFromUrl(galaxy_config.root+"api/genomes",function(i){var j=g.select_genome[0];g.select_genome=[];for(key in i){if(i[key].length>1){if(i[key][1]!==j[1]){g.select_genome.push(i[key])}}}g.select_genome.sort(function(l,k){return l[0]>k[0]?1:l[0]<k[0]?-1:0});g.select_genome.unshift(j)});if(h){this.options=_.defaults(h,this.options)}this.collection.on("remove",function(i){g._eventRemove(i)});this.collection.on("change:genome",function(j){var i=j.get("genome");g.collection.each(function(k){if(k.get("status")=="init"&&k.get("genome")=="?"){k.set("genome",i)}})})},_eventShow:function(h){h.preventDefault();if(!this.modal){var g=this;this.modal=new c.GalaxyModal({title:"Upload files from your local drive",body:this._template("upload-box","upload-info"),buttons:{Select:function(){g.uploadbox.select()},Create:function(){g._eventCreate()},Upload:function(){g._eventStart()},Pause:function(){g._eventStop()},Reset:function(){g._eventReset()},Close:function(){g.modal.hide()},},height:"400",width:"900"});this.setElement("#upload-box");var g=this;this.uploadbox=this.$el.uploadbox({announce:function(i,j,k){g._eventAnnounce(i,j,k)},initialize:function(i,j,k){return g._eventInitialize(i,j,k)},progress:function(i,j,k){g._eventProgress(i,j,k)},success:function(i,j,k){g._eventSuccess(i,j,k)},error:function(i,j,k){g._eventError(i,j,k)},complete:function(){g._eventComplete()}});this._updateScreen()}this.modal.show()},_eventRemove:function(h){var g=h.get("status");if(g=="success"){this.counter.success--}else{if(g=="error"){this.counter.error--}else{this.counter.announce--}}this._updateScreen();this.uploadbox.remove(h.id)},_eventAnnounce:function(g,h,j){this.counter.announce++;this._updateScreen();var i=new d(this,{id:g,file_name:h.name,file_size:h.size});this.collection.add(i.model);$(this.el).find("tbody:last").append(i.$el);i.render()},_eventInitialize:function(k,g,o){var i=this.collection.get(k);i.set("status","running");var h=i.get("extension");var l=i.get("file_name");var n=i.get("genome");var m=i.get("url_paste");var j=i.get("space_to_tabs");if(!m&&!(g.size>0)){return null}this.uploadbox.configure({url:this.options.nginx_upload_path,paramname:"files_0|file_data"});tool_input={};tool_input.dbkey=n;tool_input.file_type=h;tool_input["files_0|NAME"]=l;tool_input["files_0|type"]="upload_dataset";tool_input["files_0|url_paste"]=m;tool_input.space_to_tabs=j;data={};data.history_id=this.current_history;data.tool_id="upload1";data.inputs=JSON.stringify(tool_input);return data},_eventProgress:function(h,i,g){var j=this.collection.get(h);j.set("percentage",g);this.button_show.set("percentage",this._upload_percentage(g,i.size))},_eventSuccess:function(h,i,k){var j=this.collection.get(h);j.set("status","success");var g=j.get("file_size");this.button_show.set("percentage",this._upload_percentage(100,g));this.upload_completed+=g*100;this.counter.announce--;this.counter.success++;this._updateScreen();Galaxy.currHistoryPanel.refreshHdas()},_eventError:function(g,h,j){var i=this.collection.get(g);i.set("status","error");i.set("info",j);this.button_show.set("percentage",this._upload_percentage(100,h.size));this.button_show.set("status","danger");this.upload_completed+=h.size*100;this.counter.announce--;this.counter.error++;this._updateScreen()},_eventComplete:function(){this.collection.each(function(g){if(g.get("status")=="queued"){g.set("status","init")}});this.counter.running=0;this._updateScreen()},_eventCreate:function(){this.uploadbox.add([{name:"New File",size:-1}])},_eventStart:function(){if(this.counter.announce==0||this.counter.running>0){return}var g=this;this.upload_size=0;this.upload_completed=0;this.collection.each(function(h){if(h.get("status")=="init"){h.set("status","queued");g.upload_size+=h.get("file_size")}});this.button_show.set("percentage",0);this.button_show.set("status","success");this.current_history=Galaxy.currHistoryPanel.model.get("id");this.counter.running=this.counter.announce;this._updateScreen();this.uploadbox.start()},_eventStop:function(){if(this.counter.running==0){return}this.button_show.set("status","info");this.uploadbox.stop();$("#upload-info").html("Queue will pause after completing the current file...")},_eventReset:function(){if(this.counter.running==0){this.collection.reset();this.counter.reset();this._updateScreen();this.uploadbox.reset();this.button_show.set("percentage",0)}},_updateScreen:function(){if(this.counter.announce==0){if(this.uploadbox.compatible()){message="Drag&drop files into this box or click 'Select' to select files!"}else{message="Unfortunately, your browser does not support multiple file uploads or drag&drop.<br>Please upgrade to i.e. Firefox 4+, Chrome 7+, IE 10+, Opera 12+ or Safari 6+."}}else{if(this.counter.running==0){message="You added "+this.counter.announce+" file(s) to the queue. Add more files or click 'Upload' to proceed."}else{message="Please wait..."+this.counter.announce+" out of "+this.counter.running+" remaining."}}$("#upload-info").html(message);if(this.counter.running==0&&this.counter.announce+this.counter.success+this.counter.error>0){this.modal.enableButton("Reset")}else{this.modal.disableButton("Reset")}if(this.counter.running==0&&this.counter.announce>0){this.modal.enableButton("Upload")}else{this.modal.disableButton("Upload")}if(this.counter.running>0){this.modal.enableButton("Pause")}else{this.modal.disableButton("Pause")}if(this.counter.running==0){this.modal.enableButton("Select");this.modal.enableButton("Create")}else{this.modal.disableButton("Select");this.modal.disableButton("Create")}if(this.counter.announce+this.counter.success+this.counter.error>0){$(this.el).find("table").show()}else{$(this.el).find("table").hide()}},_upload_percentage:function(g,h){return(this.upload_completed+(g*h))/this.upload_size},_template:function(h,g){return'<div id="'+h+'" class="upload-box"><table class="table table-striped" style="display: none;"><thead><tr><th>Name</th><th>Size</th><th>Type</th><th>Genome</th><th>Space→Tab</th><th>Status</th><th></th></tr></thead><tbody></tbody></table></div><h6 id="'+g+'" class="upload-info"></h6>'}})});
\ No newline at end of file
+define(["galaxy.modal","utils/utils","mvc/upload/upload-model","mvc/upload/upload-row","mvc/ui","utils/uploadbox"],function(c,f,e,d){var b=Backbone.Model.extend({defaults:{percentage:0,icon:"fa-circle",label:"",status:""}});var a=Backbone.View.extend({model:null,initialize:function(h){var g=this;this.model=h;this.options=this.model.attributes;this.setElement(this._template(this.options));$(this.el).on("click",this.options.onclick);if(this.options.tooltip){$(this.el).tooltip({title:this.options.tooltip,placement:"bottom"})}this.model.on("change:percentage",function(){g._percentage(g.model.get("percentage"))});this.model.on("change:status",function(){g._status(g.model.get("status"))});var g=this;$(window).on("beforeunload",function(){var i="";if(g.options.onunload){i=g.options.onunload()}if(i!=""){return i}})},_status:function(h){var g=this.$el.find(".progress-bar");g.removeClass();g.addClass("progress-bar");g.addClass("progress-bar-notransition");if(h!=""){g.addClass("progress-bar-"+h)}},_percentage:function(h){var g=this.$el.find(".progress-bar");g.css({width:h+"%"})},_template:function(g){return'<div class="progress-button"><div class="progress"><div class="progress-bar"></div></div><div id="label" class="label" style="position: absolute; top: 0px; width: inherit; text-align: center;"><div class="fa '+g.icon+'"></div> '+g.label+"</div></div>"}});return Backbone.View.extend({modal:null,button_show:null,uploadbox:null,current_history:null,upload_size:0,select_extension:[["Auto-detect","auto"]],select_genome:[["Unspecified (?)","?"]],collection:new e.Collection(),counter:{announce:0,success:0,error:0,running:0,reset:function(){this.announce=this.success=this.error=this.running=0}},options:{nginx_upload_path:""},initialize:function(h){var g=this;if(!Galaxy.currHistoryPanel){window.setTimeout(function(){g.initialize()},500);return}if(!Galaxy.currUser.get("id")){return}this.button_show=new b({icon:"fa-upload",tooltip:"Upload files",label:"Upload",onclick:function(i){if(i){g._eventShow(i)}},onunload:function(){if(g.counter.running>0){return"Several uploads are still processing."}}});$("#left .unified-panel-header-inner").append((new a(this.button_show)).$el);var g=this;f.jsonFromUrl(galaxy_config.root+"api/datatypes",function(i){for(key in i){g.select_extension.push([i[key],i[key]])}});f.jsonFromUrl(galaxy_config.root+"api/genomes",function(i){var j=g.select_genome[0];g.select_genome=[];for(key in i){if(i[key].length>1){if(i[key][1]!==j[1]){g.select_genome.push(i[key])}}}g.select_genome.sort(function(l,k){return l[0]>k[0]?1:l[0]<k[0]?-1:0});g.select_genome.unshift(j)});if(h){this.options=_.defaults(h,this.options)}this.collection.on("remove",function(i){g._eventRemove(i)});this.collection.on("change:genome",function(j){var i=j.get("genome");g.collection.each(function(k){if(k.get("status")=="init"&&k.get("genome")=="?"){k.set("genome",i)}})})},_eventShow:function(h){h.preventDefault();if(!this.modal){var g=this;this.modal=new c.GalaxyModal({title:"Upload files from your local drive",body:this._template("upload-box","upload-info"),buttons:{Select:function(){g.uploadbox.select()},Create:function(){g._eventCreate()},Upload:function(){g._eventStart()},Pause:function(){g._eventStop()},Reset:function(){g._eventReset()},Close:function(){g.modal.hide()},},height:"400",width:"900"});this.setElement("#upload-box");var g=this;this.uploadbox=this.$el.uploadbox({announce:function(i,j,k){g._eventAnnounce(i,j,k)},initialize:function(i,j,k){return g._eventInitialize(i,j,k)},progress:function(i,j,k){g._eventProgress(i,j,k)},success:function(i,j,k){g._eventSuccess(i,j,k)},error:function(i,j,k){g._eventError(i,j,k)},complete:function(){g._eventComplete()}});this._updateScreen()}this.modal.show()},_eventRemove:function(h){var g=h.get("status");if(g=="success"){this.counter.success--}else{if(g=="error"){this.counter.error--}else{this.counter.announce--}}this._updateScreen();this.uploadbox.remove(h.id)},_eventAnnounce:function(g,h,j){this.counter.announce++;this._updateScreen();var i=new d(this,{id:g,file_name:h.name,file_size:h.size});this.collection.add(i.model);$(this.el).find("tbody:last").append(i.$el);i.render()},_eventInitialize:function(k,g,o){var i=this.collection.get(k);i.set("status","running");var h=i.get("extension");var l=i.get("file_name");var n=i.get("genome");var m=i.get("url_paste");var j=i.get("space_to_tabs");if(!m&&!(g.size>0)){return null}this.uploadbox.configure({url:this.options.nginx_upload_path,paramname:"files_0|file_data"});tool_input={};tool_input.dbkey=n;tool_input.file_type=h;tool_input["files_0|NAME"]=l;tool_input["files_0|type"]="upload_dataset";tool_input["files_0|url_paste"]=m;tool_input.space_to_tabs=j;data={};data.history_id=this.current_history;data.tool_id="upload1";data.inputs=JSON.stringify(tool_input);return data},_eventProgress:function(h,i,g){var j=this.collection.get(h);j.set("percentage",g);this.button_show.set("percentage",this._upload_percentage(g,i.size))},_eventSuccess:function(h,i,k){var j=this.collection.get(h);j.set("status","success");var g=j.get("file_size");this.button_show.set("percentage",this._upload_percentage(100,g));this.upload_completed+=g*100;this.counter.announce--;this.counter.success++;this._updateScreen();Galaxy.currHistoryPanel.refreshHdas()},_eventError:function(g,h,j){var i=this.collection.get(g);i.set("status","error");i.set("info",j);this.button_show.set("percentage",this._upload_percentage(100,h.size));this.button_show.set("status","danger");this.upload_completed+=h.size*100;this.counter.announce--;this.counter.error++;this._updateScreen()},_eventComplete:function(){this.collection.each(function(g){if(g.get("status")=="queued"){g.set("status","init")}});this.counter.running=0;this._updateScreen()},_eventCreate:function(){this.uploadbox.add([{name:"New File",size:-1}])},_eventStart:function(){if(this.counter.announce==0||this.counter.running>0){return}var g=this;this.upload_size=0;this.upload_completed=0;this.collection.each(function(h){if(h.get("status")=="init"){h.set("status","queued");g.upload_size+=h.get("file_size")}});this.button_show.set("percentage",0);this.button_show.set("status","success");this.current_history=Galaxy.currHistoryPanel.model.get("id");this.counter.running=this.counter.announce;this._updateScreen();this.uploadbox.start()},_eventStop:function(){if(this.counter.running==0){return}this.button_show.set("status","info");this.uploadbox.stop();$("#upload-info").html("Queue will pause after completing the current file...")},_eventReset:function(){if(this.counter.running==0){this.collection.reset();this.counter.reset();this._updateScreen();this.uploadbox.reset();this.button_show.set("percentage",0)}},_updateScreen:function(){if(this.counter.announce==0){if(this.uploadbox.compatible()){message="Drag&drop files into this box or click 'Select' to select files!"}else{message="Unfortunately, your browser does not support multiple file uploads or drag&drop.<br>Please upgrade to i.e. Firefox 4+, Chrome 7+, IE 10+, Opera 12+ or Safari 6+."}}else{if(this.counter.running==0){message="You added "+this.counter.announce+" file(s) to the queue. Add more files or click 'Upload' to proceed."}else{message="Please wait..."+this.counter.announce+" out of "+this.counter.running+" remaining."}}$("#upload-info").html(message);if(this.counter.running==0&&this.counter.announce+this.counter.success+this.counter.error>0){this.modal.enableButton("Reset")}else{this.modal.disableButton("Reset")}if(this.counter.running==0&&this.counter.announce>0){this.modal.enableButton("Upload")}else{this.modal.disableButton("Upload")}if(this.counter.running>0){this.modal.enableButton("Pause")}else{this.modal.disableButton("Pause")}if(this.counter.running==0){this.modal.enableButton("Select");this.modal.enableButton("Create")}else{this.modal.disableButton("Select");this.modal.disableButton("Create")}if(this.counter.announce+this.counter.success+this.counter.error>0){$(this.el).find("table").show()}else{$(this.el).find("table").hide()}},_upload_percentage:function(g,h){return(this.upload_completed+(g*h))/this.upload_size},_template:function(h,g){return'<div id="'+h+'" class="upload-box"><table class="table table-striped" style="display: none;"><thead><tr><th>Name</th><th>Size</th><th>Type</th><th>Genome</th><th>Space→Tab</th><th>Status</th><th></th></tr></thead><tbody></tbody></table></div><h6 id="'+g+'" class="upload-info"></h6>'}})});
\ No newline at end of file
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.