galaxy-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 15302 discussions
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/c80947795972/
Changeset: c80947795972
Branch: stable
User: jeremy goecks
Date: 2014-02-21 22:57:59
Summary: Fix styles for embedded objects in Pages; these were broken during the last style upgrade.
Affected #: 3 files
diff -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 -r c809477959724304e2342ed5fbdba9d4b412b347 static/style/blue/embed_item.css
--- a/static/style/blue/embed_item.css
+++ b/static/style/blue/embed_item.css
@@ -1,5 +1,5 @@
.embedded-item{margin:0em auto;width:90%;-moz-border-radius:0.5em;-webkit-border-radius:0.5em;border-radius:0.5em}
-.embedded-item.display{padding:2px}
+.embedded-item.display{padding:5px 10px 10px 10px}
.embedded-item.history{background-color:#c1c9e5}
.embedded-item.history p{background:#c1c9e5 no-repeat 2px 2px;margin-top:0;margin-bottom:0}
.embedded-item.dataset{background-color:#cfc}
@@ -8,10 +8,10 @@
.embedded-item.workflow p{background:#fbddb3 no-repeat 2px 2px;margin-top:0;margin-bottom:0}
.embedded-item.visualization{background-color:#bbb}
.embedded-item.visualization p{background:#bbb no-repeat 2px 2px;margin-top:0;margin-bottom:0}
-.embedded-item .expanded-content{display:none}
+.embedded-item .expanded-content{display:none;background-color:white;padding:5px}
.embedded-item .item-content{max-height:25em;overflow:auto}
.embedded-item.visualization .item-content{overflow:hidden}
-.embedded-item .title{vertical-align:top;text-align:center;font-weight:bold;padding-bottom:2px}
+.embedded-item .title{vertical-align:top;text-align:center;font-weight:bold;padding-bottom:5px}
.embedded-item.placeholder .content{padding:0.5em 0.5em;font-style:italic;text-align:center}
table.annotated-item{width:100%;border-collapse:collapse}
table.annotated-item td,th{padding:0}
diff -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 -r c809477959724304e2342ed5fbdba9d4b412b347 static/style/src/less/embed_item.less
--- a/static/style/src/less/embed_item.less
+++ b/static/style/src/less/embed_item.less
@@ -7,7 +7,7 @@
}
.embedded-item.display {
- padding: 2px;
+ padding: 5px 10px 10px 10px;
}
.embedded-item.history {
@@ -53,6 +53,8 @@
.embedded-item .expanded-content {
display: none;
+ background-color: white;
+ padding: 5px;
}
.embedded-item .item-content {
@@ -68,7 +70,7 @@
vertical-align: top;
text-align: center;
font-weight: bold;
- padding-bottom: 2px;
+ padding-bottom: 5px;
}
.embedded-item.placeholder .content {
diff -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 -r c809477959724304e2342ed5fbdba9d4b412b347 templates/embed_base.mako
--- a/templates/embed_base.mako
+++ b/templates/embed_base.mako
@@ -14,7 +14,6 @@
${self.render_summary_content( item, item_data )}
</div><div class='expanded-content'>
- <hr/><div class='item-content'></div></div></div>
https://bitbucket.org/galaxy/galaxy-central/commits/6b6c7de6bbe1/
Changeset: 6b6c7de6bbe1
User: jeremy goecks
Date: 2014-02-21 22:58:46
Summary: Automated merge of stable branch to default.
Affected #: 3 files
diff -r 1beac989dac959139f421353a5f33f53c1e78d96 -r 6b6c7de6bbe10721674f50ebb5e8a600d8586416 static/style/blue/embed_item.css
--- a/static/style/blue/embed_item.css
+++ b/static/style/blue/embed_item.css
@@ -1,5 +1,5 @@
.embedded-item{margin:0em auto;width:90%;-moz-border-radius:0.5em;-webkit-border-radius:0.5em;border-radius:0.5em}
-.embedded-item.display{padding:2px}
+.embedded-item.display{padding:5px 10px 10px 10px}
.embedded-item.history{background-color:#c1c9e5}
.embedded-item.history p{background:#c1c9e5 no-repeat 2px 2px;margin-top:0;margin-bottom:0}
.embedded-item.dataset{background-color:#cfc}
@@ -8,10 +8,10 @@
.embedded-item.workflow p{background:#fbddb3 no-repeat 2px 2px;margin-top:0;margin-bottom:0}
.embedded-item.visualization{background-color:#bbb}
.embedded-item.visualization p{background:#bbb no-repeat 2px 2px;margin-top:0;margin-bottom:0}
-.embedded-item .expanded-content{display:none}
+.embedded-item .expanded-content{display:none;background-color:white;padding:5px}
.embedded-item .item-content{max-height:25em;overflow:auto}
.embedded-item.visualization .item-content{overflow:hidden}
-.embedded-item .title{vertical-align:top;text-align:center;font-weight:bold;padding-bottom:2px}
+.embedded-item .title{vertical-align:top;text-align:center;font-weight:bold;padding-bottom:5px}
.embedded-item.placeholder .content{padding:0.5em 0.5em;font-style:italic;text-align:center}
table.annotated-item{width:100%;border-collapse:collapse}
table.annotated-item td,th{padding:0}
diff -r 1beac989dac959139f421353a5f33f53c1e78d96 -r 6b6c7de6bbe10721674f50ebb5e8a600d8586416 static/style/src/less/embed_item.less
--- a/static/style/src/less/embed_item.less
+++ b/static/style/src/less/embed_item.less
@@ -7,7 +7,7 @@
}
.embedded-item.display {
- padding: 2px;
+ padding: 5px 10px 10px 10px;
}
.embedded-item.history {
@@ -53,6 +53,8 @@
.embedded-item .expanded-content {
display: none;
+ background-color: white;
+ padding: 5px;
}
.embedded-item .item-content {
@@ -68,7 +70,7 @@
vertical-align: top;
text-align: center;
font-weight: bold;
- padding-bottom: 2px;
+ padding-bottom: 5px;
}
.embedded-item.placeholder .content {
diff -r 1beac989dac959139f421353a5f33f53c1e78d96 -r 6b6c7de6bbe10721674f50ebb5e8a600d8586416 templates/embed_base.mako
--- a/templates/embed_base.mako
+++ b/templates/embed_base.mako
@@ -14,7 +14,6 @@
${self.render_summary_content( item, item_data )}
</div><div class='expanded-content'>
- <hr/><div class='item-content'></div></div></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
0
commit/galaxy-central: davebgx: Fix the install database connection specification for the install and test framework.
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/1beac989dac9/
Changeset: 1beac989dac9
User: davebgx
Date: 2014-02-21 22:05:53
Summary: Fix the install database connection specification for the install and test framework.
Affected #: 2 files
diff -r 0a35b28844159fd534e49bbb71c0ab00c4dfb367 -r 1beac989dac959139f421353a5f33f53c1e78d96 test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
@@ -66,6 +66,11 @@
default_galaxy_test_file_dir = "test-data"
os.environ[ 'GALAXY_INSTALL_TEST_TMP_DIR' ] = galaxy_test_tmp_dir
+# Use separate databases for Galaxy and tool shed install info by default,
+# set GALAXY_TEST_INSTALL_DB_MERGED to True to revert to merged databases
+# behavior.
+default_install_db_merged = False
+
# This script can be run in such a way that no Tool Shed database records should be changed.
if '-info_only' in sys.argv or 'GALAXY_INSTALL_TEST_INFO_ONLY' in os.environ:
can_update_tool_shed = False
@@ -421,9 +426,9 @@
if 'GALAXY_INSTALL_TEST_INSTALL_DBURI' in os.environ:
install_database_connection = os.environ[ 'GALAXY_INSTALL_TEST_INSTALL_DBURI' ]
elif asbool( os.environ.get( 'GALAXY_TEST_INSTALL_DB_MERGED', default_install_db_merged ) ):
- install_database_connection = galaxy_database_connection
+ install_database_connection = database_connection
else:
- install_db_path = os.path.join( galaxy_db_path, 'install.sqlite' )
+ install_galaxy_db_path = os.path.join( galaxy_db_path, 'install.sqlite' )
install_database_connection = 'sqlite:///%s' % install_galaxy_db_path
kwargs = {}
for dir in [ galaxy_test_tmp_dir ]:
diff -r 0a35b28844159fd534e49bbb71c0ab00c4dfb367 -r 1beac989dac959139f421353a5f33f53c1e78d96 test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
@@ -65,6 +65,11 @@
default_galaxy_test_file_dir = "test-data"
os.environ[ 'GALAXY_INSTALL_TEST_TMP_DIR' ] = galaxy_test_tmp_dir
+# Use separate databases for Galaxy and tool shed install info by default,
+# set GALAXY_TEST_INSTALL_DB_MERGED to True to revert to merged databases
+# behavior.
+default_install_db_merged = False
+
# This script can be run in such a way that no Tool Shed database records should be changed.
if '-info_only' in sys.argv or 'GALAXY_INSTALL_TEST_INFO_ONLY' in os.environ:
can_update_tool_shed = False
@@ -273,9 +278,9 @@
if 'GALAXY_INSTALL_TEST_INSTALL_DBURI' in os.environ:
install_database_connection = os.environ[ 'GALAXY_INSTALL_TEST_INSTALL_DBURI' ]
elif asbool( os.environ.get( 'GALAXY_TEST_INSTALL_DB_MERGED', default_install_db_merged ) ):
- install_database_connection = galaxy_database_connection
+ install_database_connection = database_connection
else:
- install_db_path = os.path.join( galaxy_db_path, 'install.sqlite' )
+ install_galaxy_db_path = os.path.join( galaxy_db_path, 'install.sqlite' )
install_database_connection = 'sqlite:///%s' % install_galaxy_db_path
kwargs = {}
for dir in [ galaxy_test_tmp_dir ]:
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
0
commit/galaxy-central: jmchilton: Fix Python 2.7ism in test_evaluation.py.
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/0a35b2884415/
Changeset: 0a35b2884415
User: jmchilton
Date: 2014-02-21 21:57:09
Summary: Fix Python 2.7ism in test_evaluation.py.
Affected #: 1 file
diff -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 -r 0a35b28844159fd534e49bbb71c0ab00c4dfb367 test/unit/tools/test_evaluation.py
--- a/test/unit/tools/test_evaluation.py
+++ b/test/unit/tools/test_evaluation.py
@@ -168,7 +168,7 @@
if "new_file_path" not in kwds:
kwds[ "new_file_path" ] = self.app.config.new_file_path
self.evaluator.set_compute_environment( TestComputeEnviornment( **kwds ) )
- self.assertIn( "exec_before_job", self.tool.hooks_called )
+ assert "exec_before_job" in self.tool.hooks_called
def _setup_test_bwa_job( self ):
self.job.input_datasets = [ self._job_dataset( 'input1', '/galaxy/files/dataset_1.dat' ) ]
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
0
commit/galaxy-central: guerler: Ui: Add backbone wrapper for bootstrap tabs
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/c5be84ef148e/
Changeset: c5be84ef148e
User: guerler
Date: 2014-02-21 21:20:14
Summary: Ui: Add backbone wrapper for bootstrap tabs
Affected #: 13 files
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/app.js
--- a/config/plugins/visualizations/charts/static/app.js
+++ b/config/plugins/visualizations/charts/static/app.js
@@ -42,7 +42,7 @@
// create portlet
if (!this.options.config.widget) {
- this.portlet = new Portlet.View({icon : 'fa-bar-chart-o', label : 'Charts'});
+ this.portlet = new Portlet.View({icon : 'fa-bar-chart-o', title : 'Charts'});
} else {
this.portlet = $('<div></div>');
}
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/chart.js
--- a/config/plugins/visualizations/charts/static/views/chart.js
+++ b/config/plugins/visualizations/charts/static/views/chart.js
@@ -1,6 +1,6 @@
// dependencies
-define(['mvc/ui/ui-portlet', 'plugin/library/table', 'plugin/library/ui', 'utils/utils', 'plugin/models/chart', 'plugin/views/groups'],
- function(Portlet, Table, Ui, Utils, Chart, GroupsView) {
+define(['mvc/ui/ui-tabs', 'plugin/library/table', 'plugin/library/ui', 'utils/utils', 'plugin/models/chart', 'plugin/views/groups'],
+ function(Tabs, Table, Ui, Utils, Chart, GroupsView) {
// widget
return Backbone.View.extend(
@@ -79,12 +79,17 @@
this.table.add (chart_type.title);
this.table.append(id);
}
-
- // add table to portlet
- var self = this;
- this.portlet = new Portlet.View({
- icon : 'fa-edit',
- label : 'Create a new chart:',
+
+ // construct element
+ var $settings = $('<div/>');
+ $settings.append(Utils.wrap(this.message.$el));
+ $settings.append(Utils.wrap((new Ui.Label({ label : 'Provide a chart title:'})).$el));
+ $settings.append(Utils.wrap(this.title.$el));
+ $settings.append(Utils.wrap((new Ui.Label({ label : 'Select a chart type:'})).$el));
+ $settings.append(Utils.wrap(this.table.$el));
+
+ // tabs
+ this.tabs = new Tabs.View({
operations : {
'save' : new Ui.ButtonIcon({
icon : 'fa-save',
@@ -103,19 +108,26 @@
})
}
});
- this.portlet.append(this.message.$el);
- this.portlet.append(this.dataset.$el);
- this.portlet.append((new Ui.Label({ label : 'Provide a chart title:'})).$el);
- this.portlet.append(this.title.$el);
- this.portlet.append((new Ui.Label({ label : 'Select a chart type:'})).$el);
- this.portlet.append(this.table.$el);
- this.portlet.append(this.groups_view.$el);
-
+
+ // add tab
+ this.tabs.add({
+ $el: $settings,
+ title: 'Start',
+ id: 'settings'
+ });
+
+ // add tab
+ this.tabs.add({
+ $el: this.groups_view.$el,
+ title: 'Chart Groups',
+ id: 'groups'
+ });
+
// elements
- this.setElement(this.portlet.$el);
+ this.setElement(this.tabs.$el);
// hide back button on startup
- this.portlet.hideOperation('back');
+ this.tabs.hideOperation('back');
// model events
var self = this;
@@ -131,15 +143,15 @@
// collection events
this.app.charts.on('add', function(chart) {
- self.portlet.showOperation('back');
+ self.tabs.showOperation('back');
});
this.app.charts.on('remove', function(chart) {
if (self.app.charts.length == 1) {
- self.portlet.hideOperation('back');
+ self.tabs.hideOperation('back');
}
});
this.app.charts.on('reset', function(chart) {
- self.portlet.hideOperation('back');
+ self.tabs.hideOperation('back');
});
// reset
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/charts.js
--- a/config/plugins/visualizations/charts/static/views/charts.js
+++ b/config/plugins/visualizations/charts/static/views/charts.js
@@ -33,7 +33,7 @@
var self = this;
this.portlet = new Portlet.View({
icon : 'fa-list',
- label : 'List of created charts:',
+ title : 'List of created charts:',
height : 100,
operations : {
'new' : new Ui.ButtonIcon({
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/group.js
--- a/config/plugins/visualizations/charts/static/views/group.js
+++ b/config/plugins/visualizations/charts/static/views/group.js
@@ -26,7 +26,7 @@
var self = this;
this.portlet = new Portlet.View({
icon : 'fa-edit',
- label : 'Define group properties:',
+ title : 'Define group properties:',
operations : {
'save' : new Ui.ButtonIcon({
icon : 'fa-save',
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/groups.js
--- a/config/plugins/visualizations/charts/static/views/groups.js
+++ b/config/plugins/visualizations/charts/static/views/groups.js
@@ -30,7 +30,7 @@
var self = this;
this.portlet = new Portlet.View({
icon : '',
- label : 'Select data columns:',
+ title : 'Select data columns:',
height : 100,
operations : {
'new' : new Ui.ButtonIcon({
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/viewport.js
--- a/config/plugins/visualizations/charts/static/views/viewport.js
+++ b/config/plugins/visualizations/charts/static/views/viewport.js
@@ -25,7 +25,7 @@
// add table to portlet
this.portlet = new Portlet.View({
- label : '',
+ title : '',
icon : 'fa-signal',
height : this.options.height,
overflow : 'hidden',
@@ -75,7 +75,7 @@
var chart = self.app.charts.get(chart_id);
// update portlet
- this.portlet.label(chart.get('title'));
+ this.portlet.title(chart.get('title'));
this.portlet.setOperation('edit', function() {
// get chart
self.app.chart.copy(chart);
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/mvc/ui/ui-popover.js
--- a/static/scripts/mvc/ui/ui-popover.js
+++ b/static/scripts/mvc/ui/ui-popover.js
@@ -97,7 +97,7 @@
return $el.width() + parseInt($el.css('padding-left')) + parseInt($el.css('padding-right'))
},
- // heigth
+ // height
_get_height: function($el) {
return $el.height() + parseInt($el.css('padding-top')) + parseInt($el.css('padding-bottom'))
},
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/mvc/ui/ui-portlet.js
--- a/static/scripts/mvc/ui/ui-portlet.js
+++ b/static/scripts/mvc/ui/ui-portlet.js
@@ -9,7 +9,7 @@
// defaults options
optionsDefault: {
- label : '',
+ title : '',
icon : 'fa-tasks',
buttons : null,
body : null,
@@ -19,8 +19,10 @@
overflow : 'auto'
},
- // content
+ // elements
$content : null,
+ $buttons : null,
+ $operations : null,
// initialize
initialize : function(options) {
@@ -28,7 +30,7 @@
this.options = Utils.merge(options, this.optionsDefault);
// create new element
- this.setElement(this.template(this.options));
+ this.setElement(this._template(this.options));
// link content
this.$content = this.$el.find('#content');
@@ -79,7 +81,7 @@
return this.$content;
},
- // hide modal
+ // show
show: function(){
// fade in
this.$el.fadeIn('fast');
@@ -88,7 +90,7 @@
this.visible = true;
},
- // hide modal
+ // hide
hide: function(){
// fade out
this.$el.fadeOut('fast');
@@ -124,20 +126,20 @@
$el.on('click', callback);
},
- // label
- label: function(new_label) {
- var $el = this.$el.find('#label');
- if (new_label) {
- $el.html(new_label);
+ // title
+ title: function(new_title) {
+ var $el = this.$el.find('#title');
+ if (new_title) {
+ $el.html(new_title);
}
return $el.html();
},
- // fill regular modal template
- template: function(options) {
+ // fill template
+ _template: function(options) {
var tmpl = '<div class="toolForm">';
- if (options.label || options.icon) {
+ if (options.title || options.icon) {
tmpl += '<div id="title" class="toolFormTitle" style="overflow:hidden;">' +
'<div id="operations" style="float: right;"></div>' +
'<div style="overflow: hidden">';
@@ -145,7 +147,7 @@
if (options.icon)
tmpl += '<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa ' + options.icon + '"> </i>';
- tmpl += '<div id="label" style="padding-top: 2px; float: left;">' + options.label + '</div>';
+ tmpl += '<div id="title" style="padding-top: 2px; float: left;">' + options.title + '</div>';
tmpl += '</div>' +
'</div>';
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/mvc/ui/ui-select.js
--- a/static/scripts/mvc/ui/ui-select.js
+++ b/static/scripts/mvc/ui/ui-select.js
@@ -20,6 +20,12 @@
// create new element
this.setElement(this._template(this.options));
+ // check if container exists
+ if (!this.options.container) {
+ console.log('ui-select::initialize() : container not specified.');
+ return;
+ }
+
// add to dom
this.options.container.append(this.$el);
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/mvc/ui/ui-tabs.js
--- /dev/null
+++ b/static/scripts/mvc/ui/ui-tabs.js
@@ -0,0 +1,136 @@
+// dependencies
+define(['utils/utils'], function(Utils) {
+
+// return
+var View = Backbone.View.extend(
+{
+ // visibility
+ visible: false,
+
+ // elements
+ list: {},
+ $nav: null,
+ $content: null,
+
+ // defaults options
+ optionsDefault: {
+ operations: null,
+ },
+
+ // initialize
+ initialize : function(options) {
+ // configure options
+ this.options = Utils.merge(options, this.optionsDefault);
+
+ // create element
+ var $tabs = $(this._template(this.options));
+ this.$nav = $tabs.find('.tab-navigation');
+ this.$content = $tabs.find('.tab-content');
+
+ // create new element
+ this.setElement($tabs);
+
+ // append operations
+ if (this.options.operations) {
+ var self = this;
+ $.each(this.options.operations, function(name, item) {
+ item.$el.prop('id', name);
+ self.$nav.append(item.$el);
+ });
+ }
+ },
+
+ // append
+ add: function(options) {
+ // collect parameters
+ var $el = options.$el;
+ var title = options.title;
+ var id = options.id;
+
+ // create tab object
+ var tab = {
+ $title : $(this._template_tab(options)),
+ $content : $(this._template_tab_content(options))
+ }
+
+ // add nav element
+ this.$nav.append(tab.$title);
+
+ // add content
+ tab.$content.append($el);
+ this.$content.append(tab.$content);
+
+ // add to list
+ this.list[id] = tab;
+
+ // check list size
+ if (_.size(this.list) == 1) {
+ tab.$title.addClass('active');
+ tab.$content.addClass('active');
+ }
+ },
+
+ // show
+ show: function(){
+ this.$el.fadeIn('fast');
+ this.visible = true;
+ },
+
+ // hide
+ hide: function(){
+ this.$el.fadeOut('fast');
+ this.visible = false;
+ },
+
+ // enable operation
+ hideOperation: function(id) {
+ this.$nav.find('#' + id).hide();
+ },
+
+ // disable operation
+ showOperation: function(id) {
+ this.$nav.find('#' + id).show();
+ },
+
+ // set operation
+ setOperation: function(id, callback) {
+ var $el = this.$nav.find('#' + id);
+ $el.off('click');
+ $el.on('click', callback);
+ },
+
+ // title
+ title: function(id, new_label) {
+ var $el = this.$el.find('#title-' + id + ' a');
+ if (new_title) {
+ $el.html(new_title);
+ }
+ return $el.html();
+ },
+
+ // fill template
+ _template: function(options) {
+ return '<div class="tabbable tabs-left">' +
+ '<ul class="tab-navigation nav nav-tabs"/>' +
+ '<div class="tab-content"/>' +
+ '</div>';
+ },
+
+ // fill template tab
+ _template_tab: function(options) {
+ return '<li id="title-' + options.id + '">' +
+ '<a title="" href="#tab-' + options.id + '" data-toggle="tab" data-original-title="">' + options.title + '</a>' +
+ '</li>';
+ },
+
+ // fill template tab content
+ _template_tab_content: function(options) {
+ return '<div id="tab-' + options.id + '" class="tab-pane"/>';
+ }
+});
+
+return {
+ View : View
+}
+
+});
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/packed/mvc/ui/ui-portlet.js
--- a/static/scripts/packed/mvc/ui/ui-portlet.js
+++ b/static/scripts/packed/mvc/ui/ui-portlet.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,optionsDefault:{label:"",icon:"fa-tasks",buttons:null,body:null,height:null,operations:null,placement:"bottom",overflow:"auto"},$content:null,initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this.template(this.options));this.$content=this.$el.find("#content");if(this.options.height){this.$el.find("#body").css("height",this.options.height);this.$el.find("#content").css("overflow",this.options.overflow)}this.$buttons=$(this.el).find("#buttons");if(this.options.buttons){var c=this;$.each(this.options.buttons,function(e,f){f.$el.prop("id",e);c.$buttons.append(f.$el)})}else{this.$buttons.remove()}this.$operations=$(this.el).find("#operations");if(this.options.operations){var c=this;$.each(this.options.operations,function(e,f){f.$el.prop("id",e);c.$operations.append(f.$el)})}if(this.options.body){this.append(this.options.body)}},append:function(c){this.$content.append(a.wrap(c))},content:function(){return this.$content},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},enableButton:function(c){this.$buttons.find("#"+c).prop("disabled",false)},disableButton:function(c){this.$buttons.find("#"+c).prop("disabled",true)},hideOperation:function(c){this.$operations.find("#"+c).hide()},showOperation:function(c){this.$operations.find("#"+c).show()},setOperation:function(e,d){var c=this.$operations.find("#"+e);c.off("click");c.on("click",d)},label:function(c){var d=this.$el.find("#label");if(c){d.html(c)}return d.html()},template:function(d){var c='<div class="toolForm">';if(d.label||d.icon){c+='<div id="title" class="toolFormTitle" style="overflow:hidden;"><div id="operations" style="float: right;"></div><div style="overflow: hidden">';if(d.icon){c+='<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa '+d.icon+'"> </i>'}c+='<div id="label" style="padding-top: 2px; float: left;">'+d.label+"</div>";c+="</div></div>"}c+='<div id="body" class="toolFormBody">';if(d.placement=="top"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+='<div id="content" class="content" style="height: inherit; padding: 10px;"></div>';if(d.placement=="bottom"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+="</div></div>";return c}});return{View:b}});
\ No newline at end of file
+define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,optionsDefault:{title:"",icon:"fa-tasks",buttons:null,body:null,height:null,operations:null,placement:"bottom",overflow:"auto"},$content:null,$buttons:null,$operations:null,initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));this.$content=this.$el.find("#content");if(this.options.height){this.$el.find("#body").css("height",this.options.height);this.$el.find("#content").css("overflow",this.options.overflow)}this.$buttons=$(this.el).find("#buttons");if(this.options.buttons){var c=this;$.each(this.options.buttons,function(e,f){f.$el.prop("id",e);c.$buttons.append(f.$el)})}else{this.$buttons.remove()}this.$operations=$(this.el).find("#operations");if(this.options.operations){var c=this;$.each(this.options.operations,function(e,f){f.$el.prop("id",e);c.$operations.append(f.$el)})}if(this.options.body){this.append(this.options.body)}},append:function(c){this.$content.append(a.wrap(c))},content:function(){return this.$content},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},enableButton:function(c){this.$buttons.find("#"+c).prop("disabled",false)},disableButton:function(c){this.$buttons.find("#"+c).prop("disabled",true)},hideOperation:function(c){this.$operations.find("#"+c).hide()},showOperation:function(c){this.$operations.find("#"+c).show()},setOperation:function(e,d){var c=this.$operations.find("#"+e);c.off("click");c.on("click",d)},title:function(d){var c=this.$el.find("#title");if(d){c.html(d)}return c.html()},_template:function(d){var c='<div class="toolForm">';if(d.title||d.icon){c+='<div id="title" class="toolFormTitle" style="overflow:hidden;"><div id="operations" style="float: right;"></div><div style="overflow: hidden">';if(d.icon){c+='<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa '+d.icon+'"> </i>'}c+='<div id="title" style="padding-top: 2px; float: left;">'+d.title+"</div>";c+="</div></div>"}c+='<div id="body" class="toolFormBody">';if(d.placement=="top"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+='<div id="content" class="content" style="height: inherit; padding: 10px;"></div>';if(d.placement=="bottom"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+="</div></div>";return c}});return{View:b}});
\ No newline at end of file
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/packed/mvc/ui/ui-select.js
--- a/static/scripts/packed/mvc/ui/ui-select.js
+++ b/static/scripts/packed/mvc/ui/ui-select.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){var b=Backbone.View.extend({optionsDefault:{css:"",placeholder:"No data available",data:[],value:null},initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));this.options.container.append(this.$el);this.select_data=this.options.data;this._refresh();if(this.options.value){this._setValue(this.options.value)}var c=this;if(this.options.onchange){this.$el.on("change",function(){c.options.onchange(c.value())})}},value:function(c){var d=this._getValue();if(c!==undefined){this._setValue(c)}var e=this._getValue();if((e!=d&&this.options.onchange)){this.options.onchange(e)}return e},text:function(){return this.$el.select2("data").text},disabled:function(){return !this.$el.select2("enable")},enable:function(){this.$el.select2("enable",true)},disable:function(){this.$el.select2("enable",false)},add:function(c){this.select_data.push({id:c.id,text:c.text});this._refresh()},del:function(d){var c=this._getIndex(d);if(c!=-1){this.select_data.splice(c,1);this._refresh()}},remove:function(){this.$el.select2("destroy")},update:function(c){this.select_data=[];for(var d in c.data){this.select_data.push(c.data[d])}this._refresh()},_refresh:function(){var c=this._getValue();this.$el.select2({data:this.select_data,containerCssClass:this.options.css,placeholder:this.options.placeholder});this._setValue(c)},_getIndex:function(d){for(var c in this.select_data){if(this.select_data[c].id==d){return c}}return -1},_getValue:function(){return this.$el.select2("val")},_setValue:function(d){var c=this._getIndex(d);if(c==-1){if(this.select_data.length>0){d=this.select_data[0].id}}this.$el.select2("val",d)},_template:function(c){return'<input type="hidden"/>'}});return{View:b}});
\ No newline at end of file
+define(["utils/utils"],function(a){var b=Backbone.View.extend({optionsDefault:{css:"",placeholder:"No data available",data:[],value:null},initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));if(!this.options.container){console.log("ui-select::initialize() : container not specified.");return}this.options.container.append(this.$el);this.select_data=this.options.data;this._refresh();if(this.options.value){this._setValue(this.options.value)}var c=this;if(this.options.onchange){this.$el.on("change",function(){c.options.onchange(c.value())})}},value:function(c){var d=this._getValue();if(c!==undefined){this._setValue(c)}var e=this._getValue();if((e!=d&&this.options.onchange)){this.options.onchange(e)}return e},text:function(){return this.$el.select2("data").text},disabled:function(){return !this.$el.select2("enable")},enable:function(){this.$el.select2("enable",true)},disable:function(){this.$el.select2("enable",false)},add:function(c){this.select_data.push({id:c.id,text:c.text});this._refresh()},del:function(d){var c=this._getIndex(d);if(c!=-1){this.select_data.splice(c,1);this._refresh()}},remove:function(){this.$el.select2("destroy")},update:function(c){this.select_data=[];for(var d in c.data){this.select_data.push(c.data[d])}this._refresh()},_refresh:function(){var c=this._getValue();this.$el.select2({data:this.select_data,containerCssClass:this.options.css,placeholder:this.options.placeholder});this._setValue(c)},_getIndex:function(d){for(var c in this.select_data){if(this.select_data[c].id==d){return c}}return -1},_getValue:function(){return this.$el.select2("val")},_setValue:function(d){var c=this._getIndex(d);if(c==-1){if(this.select_data.length>0){d=this.select_data[0].id}}this.$el.select2("val",d)},_template:function(c){return'<input type="hidden"/>'}});return{View:b}});
\ No newline at end of file
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/packed/mvc/ui/ui-tabs.js
--- /dev/null
+++ b/static/scripts/packed/mvc/ui/ui-tabs.js
@@ -0,0 +1,1 @@
+define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,list:{},$nav:null,$content:null,optionsDefault:{operations:null,},initialize:function(e){this.options=a.merge(e,this.optionsDefault);var c=$(this._template(this.options));this.$nav=c.find(".tab-navigation");this.$content=c.find(".tab-content");this.setElement(c);if(this.options.operations){var d=this;$.each(this.options.operations,function(f,g){g.$el.prop("id",f);d.$nav.append(g.$el)})}},add:function(c){var d=c.$el;var f=c.title;var g=c.id;var e={$title:$(this._template_tab(c)),$content:$(this._template_tab_content(c))};this.$nav.append(e.$title);e.$content.append(d);this.$content.append(e.$content);this.list[g]=e;if(_.size(this.list)==1){e.$title.addClass("active");e.$content.addClass("active")}},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},hideOperation:function(c){this.$nav.find("#"+c).hide()},showOperation:function(c){this.$nav.find("#"+c).show()},setOperation:function(e,d){var c=this.$nav.find("#"+e);c.off("click");c.on("click",d)},title:function(e,c){var d=this.$el.find("#title-"+e+" a");if(new_title){d.html(new_title)}return d.html()},_template:function(c){return'<div class="tabbable tabs-left"><ul class="tab-navigation nav nav-tabs"/><div class="tab-content"/></div>'},_template_tab:function(c){return'<li id="title-'+c.id+'"><a title="" href="#tab-'+c.id+'" data-toggle="tab" data-original-title="">'+c.title+"</a></li>"},_template_tab_content:function(c){return'<div id="tab-'+c.id+'" class="tab-pane"/>'}});return{View:b}});
\ 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.
1
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/dfcae0da21f7/
Changeset: dfcae0da21f7
Branch: stable
User: davebgx
Date: 2014-02-21 19:16:48
Summary: Fix for certain cases where the tool test results' installation_errors dict would be populated with incorrect values.
Affected #: 3 files
diff -r d20888b2d96c8a021871a4252b5cc74e09578f07 -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 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
@@ -890,7 +890,7 @@
( changeset_revision, name, owner )
print 'due to the following error getting tool_test_results:\n%s' % str( error_message )
else:
- # The assumption is that the Tool SHed's install and test framework is executed no more than once per 24 hour
+ # The assumption is that the Tool Shed's install and test framework is executed no more than once per 24 hour
# period, so check the required repository's time_last_tested value to see if its tool_test_results column
# has been updated within the past 20 hours to allow for differing test run times (some may be slower than
# others). The RepositoryMetadata class's to_dict() method returns the value of time_last_tested in
@@ -965,7 +965,12 @@
can_update_tool_shed )
else:
# The required repository's installation failed.
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = str( required_repository.error_message )
+ required_repository_installation_error_dict = dict( tool_shed=galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=required_repository.error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'repository_dependencies' ].append( required_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
save_test_results_for_changeset_revision( galaxy_tool_shed_url,
diff -r d20888b2d96c8a021871a4252b5cc74e09578f07 -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
@@ -217,7 +217,12 @@
install_and_test_statistics_dict.get( 'repositories_with_installation_error', [] )
if repository_identifier_tup not in processed_repositories_with_installation_error:
install_and_test_statistics_dict[ 'repositories_with_installation_error' ].append( repository_identifier_tup )
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = error_message
+ current_repository_installation_error_dict = dict( tool_shed=install_and_test_base_util.galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ].append( current_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
install_and_test_base_util.save_test_results_for_changeset_revision( install_and_test_base_util.galaxy_tool_shed_url,
diff -r d20888b2d96c8a021871a4252b5cc74e09578f07 -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
@@ -147,7 +147,12 @@
install_and_test_statistics_dict.get( 'repositories_with_installation_error', [] )
if repository_identifier_tup not in processed_repositories_with_installation_error:
install_and_test_statistics_dict[ 'repositories_with_installation_error' ].append( repository_identifier_tup )
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = error_message
+ current_repository_installation_error_dict = dict( tool_shed=install_and_test_base_util.galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ].append( current_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
install_and_test_base_util.save_test_results_for_changeset_revision( install_and_test_base_util.galaxy_tool_shed_url,
https://bitbucket.org/galaxy/galaxy-central/commits/4a3c5d044d5a/
Changeset: 4a3c5d044d5a
User: davebgx
Date: 2014-02-21 19:17:21
Summary: Merge bugfix from stable.
Affected #: 3 files
diff -r 6f9d716d00099f557f856f1b909ec73706bf9c99 -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 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
@@ -890,7 +890,7 @@
( changeset_revision, name, owner )
print 'due to the following error getting tool_test_results:\n%s' % str( error_message )
else:
- # The assumption is that the Tool SHed's install and test framework is executed no more than once per 24 hour
+ # The assumption is that the Tool Shed's install and test framework is executed no more than once per 24 hour
# period, so check the required repository's time_last_tested value to see if its tool_test_results column
# has been updated within the past 20 hours to allow for differing test run times (some may be slower than
# others). The RepositoryMetadata class's to_dict() method returns the value of time_last_tested in
@@ -965,7 +965,12 @@
can_update_tool_shed )
else:
# The required repository's installation failed.
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = str( required_repository.error_message )
+ required_repository_installation_error_dict = dict( tool_shed=galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=required_repository.error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'repository_dependencies' ].append( required_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
save_test_results_for_changeset_revision( galaxy_tool_shed_url,
diff -r 6f9d716d00099f557f856f1b909ec73706bf9c99 -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
@@ -218,7 +218,12 @@
install_and_test_statistics_dict.get( 'repositories_with_installation_error', [] )
if repository_identifier_tup not in processed_repositories_with_installation_error:
install_and_test_statistics_dict[ 'repositories_with_installation_error' ].append( repository_identifier_tup )
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = error_message
+ current_repository_installation_error_dict = dict( tool_shed=install_and_test_base_util.galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ].append( current_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
install_and_test_base_util.save_test_results_for_changeset_revision( install_and_test_base_util.galaxy_tool_shed_url,
diff -r 6f9d716d00099f557f856f1b909ec73706bf9c99 -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
@@ -148,7 +148,12 @@
install_and_test_statistics_dict.get( 'repositories_with_installation_error', [] )
if repository_identifier_tup not in processed_repositories_with_installation_error:
install_and_test_statistics_dict[ 'repositories_with_installation_error' ].append( repository_identifier_tup )
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = error_message
+ current_repository_installation_error_dict = dict( tool_shed=install_and_test_base_util.galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ].append( current_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
install_and_test_base_util.save_test_results_for_changeset_revision( install_and_test_base_util.galaxy_tool_shed_url,
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
0
3 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/ba001f4c0326/
Changeset: ba001f4c0326
Branch: stable
User: davebgx
Date: 2014-02-19 21:23:45
Summary: Situations where a migration warning would be incorrectly displayed, and tools with matching filenames would be removed from the tool_conf.xml after running a migration script.
Affected #: 9 files
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 lib/tool_shed/galaxy_install/install_manager.py
--- a/lib/tool_shed/galaxy_install/install_manager.py
+++ b/lib/tool_shed/galaxy_install/install_manager.py
@@ -186,8 +186,7 @@
# Tools outside of sections.
file_path = elem.get( 'file', None )
if file_path:
- file_name = suc.strip_path( file_path )
- if file_name in tool_configs_to_filter:
+ if file_path in tool_configs_to_filter:
root.remove( elem )
persist_required = True
elif elem.tag == 'section':
@@ -196,8 +195,7 @@
if section_elem.tag == 'tool':
file_path = section_elem.get( 'file', None )
if file_path:
- file_name = suc.strip_path( file_path )
- if file_name in tool_configs_to_filter or file_path in tool_configs_to_filter:
+ if file_path in tool_configs_to_filter:
elem.remove( section_elem )
persist_required = True
if persist_required:
@@ -221,8 +219,7 @@
if proprietary_tool_panel_elem.tag == 'tool':
# The proprietary_tool_panel_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />.
proprietary_tool_config = proprietary_tool_panel_elem.get( 'file' )
- proprietary_name = suc.strip_path( proprietary_tool_config )
- if tool_config == proprietary_name or tool_config == proprietary_tool_config:
+ if tool_config == proprietary_tool_config:
# The tool is loaded outside of any sections.
tool_sections.append( None )
if not is_displayed:
@@ -233,8 +230,7 @@
if section_elem.tag == 'tool':
# The section_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />.
proprietary_tool_config = section_elem.get( 'file' )
- proprietary_name = suc.strip_path( proprietary_tool_config )
- if tool_config == proprietary_name or tool_config == proprietary_tool_config:
+ if tool_config == proprietary_tool_config:
# The tool is loaded inside of the section_elem.
tool_sections.append( ToolSection( proprietary_tool_panel_elem ) )
if not is_displayed:
@@ -312,8 +308,7 @@
# Tools outside of sections.
file_path = elem.get( 'file', None )
if file_path:
- name = suc.strip_path( file_path )
- if name in migrated_tool_configs or file_path in migrated_tool_configs:
+ if file_path in migrated_tool_configs:
if elem not in tool_panel_elems:
tool_panel_elems.append( elem )
elif elem.tag == 'section':
@@ -322,8 +317,7 @@
if section_elem.tag == 'tool':
file_path = section_elem.get( 'file', None )
if file_path:
- name = suc.strip_path( file_path )
- if name in migrated_tool_configs or file_path in migrated_tool_configs:
+ if file_path in migrated_tool_configs:
# Append the section, not the tool.
if elem not in tool_panel_elems:
tool_panel_elems.append( elem )
@@ -361,10 +355,8 @@
for tool_panel_dict in v:
# Keep track of tool config file names associated with entries that have been made to the
# migrated_tools_conf.xml file so they can be eliminated from all non-shed-related tool panel configs.
- tool_config_file = tool_panel_dict.get( 'tool_config', None )
- if tool_config_file:
- if tool_config_file not in tool_configs_to_filter:
- tool_configs_to_filter.append( tool_config_file )
+ if tool_config not in tool_configs_to_filter:
+ tool_configs_to_filter.append( tool_config )
else:
print 'The tool "%s" (%s) has not been enabled because it is not defined in a proprietary tool config (%s).' \
% ( guid, tool_config, ", ".join( self.proprietary_tool_confs or [] ) )
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0002_tools.xml
--- a/scripts/migrate_tools/0002_tools.xml
+++ b/scripts/migrate_tools/0002_tools.xml
@@ -2,112 +2,112 @@
<toolshed name="toolshed.g2.bx.psu.edu"><repository name="emboss_datatypes" description="Datatypes for Emboss tools" changeset_revision="a89163f31369" /><repository name="emboss_5" description="Galaxy wrappers for EMBOSS version 5.0.0 tools" changeset_revision="7334f6d0ac17">
- <tool id="EMBOSS: antigenic1" version="5.0.0" file="emboss_antigenic.xml" />
- <tool id="EMBOSS: backtranseq2" version="5.0.0" file="emboss_backtranseq.xml" />
- <tool id="EMBOSS: banana3" version="5.0.0" file="emboss_banana.xml" />
- <tool id="EMBOSS: biosed4" version="5.0.0" file="emboss_biosed.xml" />
- <tool id="EMBOSS: btwisted5" version="5.0.0" file="emboss_btwisted.xml" />
- <tool id="EMBOSS: cai_custom6" version="5.0.0" file="emboss_cai_custom.xml" />
- <tool id="EMBOSS: cai6" version="5.0.0" file="emboss_cai.xml" />
- <tool id="EMBOSS: chaos7" version="5.0.0" file="emboss_chaos.xml" />
- <tool id="EMBOSS: charge8" version="5.0.0" file="emboss_charge.xml" />
- <tool id="EMBOSS: checktrans9" version="5.0.0" file="emboss_checktrans.xml" />
- <tool id="EMBOSS: chips10" version="5.0.0" file="emboss_chips.xml" />
- <tool id="EMBOSS: cirdna11" version="5.0.0" file="emboss_cirdna.xml" />
- <tool id="EMBOSS: codcmp12" version="5.0.0" file="emboss_codcmp.xml" />
- <tool id="EMBOSS: coderet13" version="5.0.0" file="emboss_coderet.xml" />
- <tool id="EMBOSS: compseq14" version="5.0.0" file="emboss_compseq.xml" />
- <tool id="EMBOSS: cpgplot15" version="5.0.0" file="emboss_cpgplot.xml" />
- <tool id="EMBOSS: cpgreport16" version="5.0.0" file="emboss_cpgreport.xml" />
- <tool id="EMBOSS: cusp17" version="5.0.0" file="emboss_cusp.xml" />
- <tool id="EMBOSS: cutseq18" version="5.0.0" file="emboss_cutseq.xml" />
- <tool id="EMBOSS: dan19" version="5.0.0" file="emboss_dan.xml" />
- <tool id="EMBOSS: degapseq20" version="5.0.0" file="emboss_degapseq.xml" />
- <tool id="EMBOSS: descseq21" version="5.0.0" file="emboss_descseq.xml" />
- <tool id="EMBOSS: diffseq22" version="5.0.0" file="emboss_diffseq.xml" />
- <tool id="EMBOSS: digest23" version="5.0.0" file="emboss_digest.xml" />
- <tool id="EMBOSS: dotmatcher24" version="5.0.0" file="emboss_dotmatcher.xml" />
- <tool id="EMBOSS: dotpath25" version="5.0.0" file="emboss_dotpath.xml" />
- <tool id="EMBOSS: dottup26" version="5.0.0" file="emboss_dottup.xml" />
- <tool id="EMBOSS: dreg27" version="5.0.0" file="emboss_dreg.xml" />
- <tool id="EMBOSS: einverted28" version="5.0.0" file="emboss_einverted.xml" />
- <tool id="EMBOSS: epestfind29" version="5.0.0" file="emboss_epestfind.xml" />
- <tool id="EMBOSS: equicktandem31" version="5.0.0" file="emboss_equicktandem.xml" />
- <tool id="EMBOSS: est2genome32" version="5.0.0" file="emboss_est2genome.xml" />
- <tool id="EMBOSS: etandem33" version="5.0.0" file="emboss_etandem.xml" />
- <tool id="EMBOSS: extractfeat34" version="5.0.0" file="emboss_extractfeat.xml" />
- <tool id="EMBOSS: extractseq35" version="5.0.0" file="emboss_extractseq.xml" />
- <tool id="EMBOSS: freak36" version="5.0.0" file="emboss_freak.xml" />
- <tool id="EMBOSS: fuzznuc37" version="5.0.0" file="emboss_fuzznuc.xml" />
- <tool id="EMBOSS: fuzzpro38" version="5.0.0" file="emboss_fuzzpro.xml" />
- <tool id="EMBOSS: fuzztran39" version="5.0.0" file="emboss_fuzztran.xml" />
- <tool id="EMBOSS: garnier40" version="5.0.0" file="emboss_garnier.xml" />
- <tool id="EMBOSS: geecee41" version="5.0.0" file="emboss_geecee.xml" />
- <tool id="EMBOSS: getorf42" version="5.0.0" file="emboss_getorf.xml" />
- <tool id="EMBOSS: helixturnhelix43" version="5.0.0" file="emboss_helixturnhelix.xml" />
- <tool id="EMBOSS: hmoment44" version="5.0.0" file="emboss_hmoment.xml" />
- <tool id="EMBOSS: iep45" version="5.0.0" file="emboss_iep.xml" />
- <tool id="EMBOSS: infoseq46" version="5.0.0" file="emboss_infoseq.xml" />
- <tool id="EMBOSS: isochore47" version="5.0.0" file="emboss_isochore.xml" />
- <tool id="EMBOSS: lindna48" version="5.0.0" file="emboss_lindna.xml" />
- <tool id="EMBOSS: marscan49" version="5.0.0" file="emboss_marscan.xml" />
- <tool id="EMBOSS: maskfeat50" version="5.0.0" file="emboss_maskfeat.xml" />
- <tool id="EMBOSS: maskseq51" version="5.0.0" file="emboss_maskseq.xml" />
- <tool id="EMBOSS: matcher52" version="5.0.0" file="emboss_matcher.xml" />
- <tool id="EMBOSS: megamerger53" version="5.0.0" file="emboss_megamerger.xml" />
- <tool id="EMBOSS: merger54" version="5.0.0" file="emboss_merger.xml" />
- <tool id="EMBOSS: msbar55" version="5.0.0" file="emboss_msbar.xml" />
- <tool id="EMBOSS: needle56" version="5.0.0" file="emboss_needle.xml" />
- <tool id="EMBOSS: newcpgreport57" version="5.0.0" file="emboss_newcpgreport.xml" />
- <tool id="EMBOSS: newcpgseek58" version="5.0.0" file="emboss_newcpgseek.xml" />
- <tool id="EMBOSS: newseq59" version="5.0.0" file="emboss_newseq.xml" />
- <tool id="EMBOSS: noreturn60" version="5.0.0" file="emboss_noreturn.xml" />
- <tool id="EMBOSS: notseq61" version="5.0.0" file="emboss_notseq.xml" />
- <tool id="EMBOSS: nthseq62" version="5.0.0" file="emboss_nthseq.xml" />
- <tool id="EMBOSS: octanol63" version="5.0.0" file="emboss_octanol.xml" />
- <tool id="EMBOSS: oddcomp64" version="5.0.0" file="emboss_oddcomp.xml" />
- <tool id="EMBOSS: palindrome65" version="5.0.0" file="emboss_palindrome.xml" />
- <tool id="EMBOSS: pasteseq66" version="5.0.0" file="emboss_pasteseq.xml" />
- <tool id="EMBOSS: patmatdb67" version="5.0.0" file="emboss_patmatdb.xml" />
- <tool id="EMBOSS: pepcoil68" version="5.0.0" file="emboss_pepcoil.xml" />
- <tool id="EMBOSS: pepinfo69" version="5.0.0" file="emboss_pepinfo.xml" />
- <tool id="EMBOSS: pepnet70" version="5.0.0" file="emboss_pepnet.xml" />
- <tool id="EMBOSS: pepstats71" version="5.0.0" file="emboss_pepstats.xml" />
- <tool id="EMBOSS: pepwheel72" version="5.0.0" file="emboss_pepwheel.xml" />
- <tool id="EMBOSS: pepwindow73" version="5.0.0" file="emboss_pepwindow.xml" />
- <tool id="EMBOSS: pepwindowall74" version="5.0.0" file="emboss_pepwindowall.xml" />
- <tool id="EMBOSS: plotcon75" version="5.0.0" file="emboss_plotcon.xml" />
- <tool id="EMBOSS: plotorf76" version="5.0.0" file="emboss_plotorf.xml" />
- <tool id="EMBOSS: polydot77" version="5.0.0" file="emboss_polydot.xml" />
- <tool id="EMBOSS: preg78" version="5.0.0" file="emboss_preg.xml" />
- <tool id="EMBOSS: prettyplot79" version="5.0.0" file="emboss_prettyplot.xml" />
- <tool id="EMBOSS: prettyseq80" version="5.0.0" file="emboss_prettyseq.xml" />
- <tool id="EMBOSS: primersearch81" version="5.0.0" file="emboss_primersearch.xml" />
- <tool id="EMBOSS: revseq82" version="5.0.0" file="emboss_revseq.xml" />
- <tool id="EMBOSS: seqmatchall83" version="5.0.0" file="emboss_seqmatchall.xml" />
- <tool id="EMBOSS: seqret84" version="5.0.0" file="emboss_seqret.xml" />
- <tool id="EMBOSS: showfeat85" version="5.0.0" file="emboss_showfeat.xml" />
- <tool id="EMBOSS: shuffleseq87" version="5.0.0" file="emboss_shuffleseq.xml" />
- <tool id="EMBOSS: sigcleave88" version="5.0.0" file="emboss_sigcleave.xml" />
- <tool id="EMBOSS: sirna89" version="5.0.0" file="emboss_sirna.xml" />
- <tool id="EMBOSS: sixpack90" version="5.0.0" file="emboss_sixpack.xml" />
- <tool id="EMBOSS: skipseq91" version="5.0.0" file="emboss_skipseq.xml" />
- <tool id="EMBOSS: splitter92" version="5.0.0" file="emboss_splitter.xml" />
- <tool id="EMBOSS: supermatcher95" version="5.0.0" file="emboss_supermatcher.xml" />
- <tool id="EMBOSS: syco96" version="5.0.0" file="emboss_syco.xml" />
- <tool id="EMBOSS: tcode97" version="5.0.0" file="emboss_tcode.xml" />
- <tool id="EMBOSS: textsearch98" version="5.0.0" file="emboss_textsearch.xml" />
- <tool id="EMBOSS: tmap99" version="5.0.0" file="emboss_tmap.xml" />
- <tool id="EMBOSS: tranalign100" version="5.0.0" file="emboss_tranalign.xml" />
- <tool id="EMBOSS: transeq101" version="5.0.0" file="emboss_transeq.xml" />
- <tool id="EMBOSS: trimest102" version="5.0.0" file="emboss_trimest.xml" />
- <tool id="EMBOSS: trimseq103" version="5.0.0" file="emboss_trimseq.xml" />
- <tool id="EMBOSS: twofeat104" version="5.0.0" file="emboss_twofeat.xml" />
- <tool id="EMBOSS: union105" version="5.0.0" file="emboss_union.xml" />
- <tool id="EMBOSS: vectorstrip106" version="5.0.0" file="emboss_vectorstrip.xml" />
- <tool id="EMBOSS: water107" version="5.0.0" file="emboss_water.xml" />
- <tool id="EMBOSS: wobble108" version="5.0.0" file="emboss_wobble.xml" />
- <tool id="EMBOSS: wordcount109" version="5.0.0" file="emboss_wordcount.xml" />
- <tool id="EMBOSS: wordmatch110" version="5.0.0" file="emboss_wordmatch.xml" />
+ <tool id="EMBOSS: antigenic1" version="5.0.0" file="emboss_5/emboss_antigenic.xml" />
+ <tool id="EMBOSS: backtranseq2" version="5.0.0" file="emboss_5/emboss_backtranseq.xml" />
+ <tool id="EMBOSS: banana3" version="5.0.0" file="emboss_5/emboss_banana.xml" />
+ <tool id="EMBOSS: biosed4" version="5.0.0" file="emboss_5/emboss_biosed.xml" />
+ <tool id="EMBOSS: btwisted5" version="5.0.0" file="emboss_5/emboss_btwisted.xml" />
+ <tool id="EMBOSS: cai_custom6" version="5.0.0" file="emboss_5/emboss_cai_custom.xml" />
+ <tool id="EMBOSS: cai6" version="5.0.0" file="emboss_5/emboss_cai.xml" />
+ <tool id="EMBOSS: chaos7" version="5.0.0" file="emboss_5/emboss_chaos.xml" />
+ <tool id="EMBOSS: charge8" version="5.0.0" file="emboss_5/emboss_charge.xml" />
+ <tool id="EMBOSS: checktrans9" version="5.0.0" file="emboss_5/emboss_checktrans.xml" />
+ <tool id="EMBOSS: chips10" version="5.0.0" file="emboss_5/emboss_chips.xml" />
+ <tool id="EMBOSS: cirdna11" version="5.0.0" file="emboss_5/emboss_cirdna.xml" />
+ <tool id="EMBOSS: codcmp12" version="5.0.0" file="emboss_5/emboss_codcmp.xml" />
+ <tool id="EMBOSS: coderet13" version="5.0.0" file="emboss_5/emboss_coderet.xml" />
+ <tool id="EMBOSS: compseq14" version="5.0.0" file="emboss_5/emboss_compseq.xml" />
+ <tool id="EMBOSS: cpgplot15" version="5.0.0" file="emboss_5/emboss_cpgplot.xml" />
+ <tool id="EMBOSS: cpgreport16" version="5.0.0" file="emboss_5/emboss_cpgreport.xml" />
+ <tool id="EMBOSS: cusp17" version="5.0.0" file="emboss_5/emboss_cusp.xml" />
+ <tool id="EMBOSS: cutseq18" version="5.0.0" file="emboss_5/emboss_cutseq.xml" />
+ <tool id="EMBOSS: dan19" version="5.0.0" file="emboss_5/emboss_dan.xml" />
+ <tool id="EMBOSS: degapseq20" version="5.0.0" file="emboss_5/emboss_degapseq.xml" />
+ <tool id="EMBOSS: descseq21" version="5.0.0" file="emboss_5/emboss_descseq.xml" />
+ <tool id="EMBOSS: diffseq22" version="5.0.0" file="emboss_5/emboss_diffseq.xml" />
+ <tool id="EMBOSS: digest23" version="5.0.0" file="emboss_5/emboss_digest.xml" />
+ <tool id="EMBOSS: dotmatcher24" version="5.0.0" file="emboss_5/emboss_dotmatcher.xml" />
+ <tool id="EMBOSS: dotpath25" version="5.0.0" file="emboss_5/emboss_dotpath.xml" />
+ <tool id="EMBOSS: dottup26" version="5.0.0" file="emboss_5/emboss_dottup.xml" />
+ <tool id="EMBOSS: dreg27" version="5.0.0" file="emboss_5/emboss_dreg.xml" />
+ <tool id="EMBOSS: einverted28" version="5.0.0" file="emboss_5/emboss_einverted.xml" />
+ <tool id="EMBOSS: epestfind29" version="5.0.0" file="emboss_5/emboss_epestfind.xml" />
+ <tool id="EMBOSS: equicktandem31" version="5.0.0" file="emboss_5/emboss_equicktandem.xml" />
+ <tool id="EMBOSS: est2genome32" version="5.0.0" file="emboss_5/emboss_est2genome.xml" />
+ <tool id="EMBOSS: etandem33" version="5.0.0" file="emboss_5/emboss_etandem.xml" />
+ <tool id="EMBOSS: extractfeat34" version="5.0.0" file="emboss_5/emboss_extractfeat.xml" />
+ <tool id="EMBOSS: extractseq35" version="5.0.0" file="emboss_5/emboss_extractseq.xml" />
+ <tool id="EMBOSS: freak36" version="5.0.0" file="emboss_5/emboss_freak.xml" />
+ <tool id="EMBOSS: fuzznuc37" version="5.0.0" file="emboss_5/emboss_fuzznuc.xml" />
+ <tool id="EMBOSS: fuzzpro38" version="5.0.0" file="emboss_5/emboss_fuzzpro.xml" />
+ <tool id="EMBOSS: fuzztran39" version="5.0.0" file="emboss_5/emboss_fuzztran.xml" />
+ <tool id="EMBOSS: garnier40" version="5.0.0" file="emboss_5/emboss_garnier.xml" />
+ <tool id="EMBOSS: geecee41" version="5.0.0" file="emboss_5/emboss_geecee.xml" />
+ <tool id="EMBOSS: getorf42" version="5.0.0" file="emboss_5/emboss_getorf.xml" />
+ <tool id="EMBOSS: helixturnhelix43" version="5.0.0" file="emboss_5/emboss_helixturnhelix.xml" />
+ <tool id="EMBOSS: hmoment44" version="5.0.0" file="emboss_5/emboss_hmoment.xml" />
+ <tool id="EMBOSS: iep45" version="5.0.0" file="emboss_5/emboss_iep.xml" />
+ <tool id="EMBOSS: infoseq46" version="5.0.0" file="emboss_5/emboss_infoseq.xml" />
+ <tool id="EMBOSS: isochore47" version="5.0.0" file="emboss_5/emboss_isochore.xml" />
+ <tool id="EMBOSS: lindna48" version="5.0.0" file="emboss_5/emboss_lindna.xml" />
+ <tool id="EMBOSS: marscan49" version="5.0.0" file="emboss_5/emboss_marscan.xml" />
+ <tool id="EMBOSS: maskfeat50" version="5.0.0" file="emboss_5/emboss_maskfeat.xml" />
+ <tool id="EMBOSS: maskseq51" version="5.0.0" file="emboss_5/emboss_maskseq.xml" />
+ <tool id="EMBOSS: matcher52" version="5.0.0" file="emboss_5/emboss_matcher.xml" />
+ <tool id="EMBOSS: megamerger53" version="5.0.0" file="emboss_5/emboss_megamerger.xml" />
+ <tool id="EMBOSS: merger54" version="5.0.0" file="emboss_5/emboss_merger.xml" />
+ <tool id="EMBOSS: msbar55" version="5.0.0" file="emboss_5/emboss_msbar.xml" />
+ <tool id="EMBOSS: needle56" version="5.0.0" file="emboss_5/emboss_needle.xml" />
+ <tool id="EMBOSS: newcpgreport57" version="5.0.0" file="emboss_5/emboss_newcpgreport.xml" />
+ <tool id="EMBOSS: newcpgseek58" version="5.0.0" file="emboss_5/emboss_newcpgseek.xml" />
+ <tool id="EMBOSS: newseq59" version="5.0.0" file="emboss_5/emboss_newseq.xml" />
+ <tool id="EMBOSS: noreturn60" version="5.0.0" file="emboss_5/emboss_noreturn.xml" />
+ <tool id="EMBOSS: notseq61" version="5.0.0" file="emboss_5/emboss_notseq.xml" />
+ <tool id="EMBOSS: nthseq62" version="5.0.0" file="emboss_5/emboss_nthseq.xml" />
+ <tool id="EMBOSS: octanol63" version="5.0.0" file="emboss_5/emboss_octanol.xml" />
+ <tool id="EMBOSS: oddcomp64" version="5.0.0" file="emboss_5/emboss_oddcomp.xml" />
+ <tool id="EMBOSS: palindrome65" version="5.0.0" file="emboss_5/emboss_palindrome.xml" />
+ <tool id="EMBOSS: pasteseq66" version="5.0.0" file="emboss_5/emboss_pasteseq.xml" />
+ <tool id="EMBOSS: patmatdb67" version="5.0.0" file="emboss_5/emboss_patmatdb.xml" />
+ <tool id="EMBOSS: pepcoil68" version="5.0.0" file="emboss_5/emboss_pepcoil.xml" />
+ <tool id="EMBOSS: pepinfo69" version="5.0.0" file="emboss_5/emboss_pepinfo.xml" />
+ <tool id="EMBOSS: pepnet70" version="5.0.0" file="emboss_5/emboss_pepnet.xml" />
+ <tool id="EMBOSS: pepstats71" version="5.0.0" file="emboss_5/emboss_pepstats.xml" />
+ <tool id="EMBOSS: pepwheel72" version="5.0.0" file="emboss_5/emboss_pepwheel.xml" />
+ <tool id="EMBOSS: pepwindow73" version="5.0.0" file="emboss_5/emboss_pepwindow.xml" />
+ <tool id="EMBOSS: pepwindowall74" version="5.0.0" file="emboss_5/emboss_pepwindowall.xml" />
+ <tool id="EMBOSS: plotcon75" version="5.0.0" file="emboss_5/emboss_plotcon.xml" />
+ <tool id="EMBOSS: plotorf76" version="5.0.0" file="emboss_5/emboss_plotorf.xml" />
+ <tool id="EMBOSS: polydot77" version="5.0.0" file="emboss_5/emboss_polydot.xml" />
+ <tool id="EMBOSS: preg78" version="5.0.0" file="emboss_5/emboss_preg.xml" />
+ <tool id="EMBOSS: prettyplot79" version="5.0.0" file="emboss_5/emboss_prettyplot.xml" />
+ <tool id="EMBOSS: prettyseq80" version="5.0.0" file="emboss_5/emboss_prettyseq.xml" />
+ <tool id="EMBOSS: primersearch81" version="5.0.0" file="emboss_5/emboss_primersearch.xml" />
+ <tool id="EMBOSS: revseq82" version="5.0.0" file="emboss_5/emboss_revseq.xml" />
+ <tool id="EMBOSS: seqmatchall83" version="5.0.0" file="emboss_5/emboss_seqmatchall.xml" />
+ <tool id="EMBOSS: seqret84" version="5.0.0" file="emboss_5/emboss_seqret.xml" />
+ <tool id="EMBOSS: showfeat85" version="5.0.0" file="emboss_5/emboss_showfeat.xml" />
+ <tool id="EMBOSS: shuffleseq87" version="5.0.0" file="emboss_5/emboss_shuffleseq.xml" />
+ <tool id="EMBOSS: sigcleave88" version="5.0.0" file="emboss_5/emboss_sigcleave.xml" />
+ <tool id="EMBOSS: sirna89" version="5.0.0" file="emboss_5/emboss_sirna.xml" />
+ <tool id="EMBOSS: sixpack90" version="5.0.0" file="emboss_5/emboss_sixpack.xml" />
+ <tool id="EMBOSS: skipseq91" version="5.0.0" file="emboss_5/emboss_skipseq.xml" />
+ <tool id="EMBOSS: splitter92" version="5.0.0" file="emboss_5/emboss_splitter.xml" />
+ <tool id="EMBOSS: supermatcher95" version="5.0.0" file="emboss_5/emboss_supermatcher.xml" />
+ <tool id="EMBOSS: syco96" version="5.0.0" file="emboss_5/emboss_syco.xml" />
+ <tool id="EMBOSS: tcode97" version="5.0.0" file="emboss_5/emboss_tcode.xml" />
+ <tool id="EMBOSS: textsearch98" version="5.0.0" file="emboss_5/emboss_textsearch.xml" />
+ <tool id="EMBOSS: tmap99" version="5.0.0" file="emboss_5/emboss_tmap.xml" />
+ <tool id="EMBOSS: tranalign100" version="5.0.0" file="emboss_5/emboss_tranalign.xml" />
+ <tool id="EMBOSS: transeq101" version="5.0.0" file="emboss_5/emboss_transeq.xml" />
+ <tool id="EMBOSS: trimest102" version="5.0.0" file="emboss_5/emboss_trimest.xml" />
+ <tool id="EMBOSS: trimseq103" version="5.0.0" file="emboss_5/emboss_trimseq.xml" />
+ <tool id="EMBOSS: twofeat104" version="5.0.0" file="emboss_5/emboss_twofeat.xml" />
+ <tool id="EMBOSS: union105" version="5.0.0" file="emboss_5/emboss_union.xml" />
+ <tool id="EMBOSS: vectorstrip106" version="5.0.0" file="emboss_5/emboss_vectorstrip.xml" />
+ <tool id="EMBOSS: water107" version="5.0.0" file="emboss_5/emboss_water.xml" />
+ <tool id="EMBOSS: wobble108" version="5.0.0" file="emboss_5/emboss_wobble.xml" />
+ <tool id="EMBOSS: wordcount109" version="5.0.0" file="emboss_5/emboss_wordcount.xml" />
+ <tool id="EMBOSS: wordmatch110" version="5.0.0" file="emboss_5/emboss_wordmatch.xml" /></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0003_tools.xml
--- a/scripts/migrate_tools/0003_tools.xml
+++ b/scripts/migrate_tools/0003_tools.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="freebayes" description="Galaxy Freebayes Bayesian genetic variant detector tool" changeset_revision="213a3d6b579a">
- <tool id="freebayes" version="0.0.2 " file="freebayes.xml" />
+ <tool id="freebayes" version="0.0.2 " file="variant_detection/freebayes.xml" /></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0004_tools.xml
--- a/scripts/migrate_tools/0004_tools.xml
+++ b/scripts/migrate_tools/0004_tools.xml
@@ -2,11 +2,11 @@
<toolshed name="toolshed.g2.bx.psu.edu"><repository name="blast_datatypes" description="Datatypes for BLAST" changeset_revision="e1c29f302301" /><repository name="ncbi_blast_plus" description="Galaxy wrappers for NCBI BLAST+" changeset_revision="d375502056f1">
- <tool id="blastxml_to_tabular" version="0.0.8" file="blastxml_to_tabular.xml"/>
- <tool id="ncbi_blastn_wrapper" version="0.0.11" file="ncbi_blastn_wrapper.xml"/>
- <tool id="ncbi_blastp_wrapper" version="0.0.11" file="ncbi_blastp_wrapper.xml"/>
- <tool id="ncbi_blastx_wrapper" version="0.0.11" file="ncbi_blastx_wrapper.xml"/>
- <tool id="ncbi_tblastn_wrapper" version="0.0.11" file="ncbi_tblastn_wrapper.xml"/>
- <tool id="ncbi_tblastx_wrapper" version="0.0.11" file="ncbi_tblastx_wrapper.xml"/>
+ <tool id="blastxml_to_tabular" version="0.0.8" file="ncbi_blast_plus/blastxml_to_tabular.xml"/>
+ <tool id="ncbi_blastn_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastn_wrapper.xml"/>
+ <tool id="ncbi_blastp_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastp_wrapper.xml"/>
+ <tool id="ncbi_blastx_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastx_wrapper.xml"/>
+ <tool id="ncbi_tblastn_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_tblastn_wrapper.xml"/>
+ <tool id="ncbi_tblastx_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_tblastx_wrapper.xml"/></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0005_tools.xml
--- a/scripts/migrate_tools/0005_tools.xml
+++ b/scripts/migrate_tools/0005_tools.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="bwa_wrappers" description="Galaxy wrappers for the BWA short read aligner." changeset_revision="ffa8aaa14f7c">
- <tool id="bwa_wrapper" version="1.2.3" file="bwa_wrapper.xml"/>
- <tool id="bwa_color_wrapper" version="1.0.2" file="bwa_color_wrapper.xml"/>
+ <tool id="bwa_wrapper" version="1.2.3" file="sr_mapping/bwa_wrapper.xml"/>
+ <tool id="bwa_color_wrapper" version="1.0.2" file="sr_mapping/bwa_color_wrapper.xml"/></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0006_tools.xml
--- a/scripts/migrate_tools/0006_tools.xml
+++ b/scripts/migrate_tools/0006_tools.xml
@@ -1,18 +1,18 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="picard" description="Galaxy wrappers for the Picard SAM/BAM manipulation tools." changeset_revision="e0232cbac965">
- <tool id="picard_FastqToSam" version="1.56.0" file="picard_FastqToSam.xml" />
- <tool id="picard_SamToFastq" version="1.56.1" file="picard_SamToFastq.xml" />
- <tool id="picard_BamIndexStats" version="1.56.0" file="picard_BamIndexStats.xml" />
- <tool id="PicardASMetrics" version="1.56.0" file="rgPicardASMetrics.xml" />
- <tool id="PicardGCBiasMetrics" version="1.56.0" file="rgPicardGCBiasMetrics.xml" />
- <tool id="rgEstLibComp" version="1.56.0" file="rgPicardLibComplexity.xml" />
- <tool id="PicardInsertSize" version="1.56.0" file="rgPicardInsertSize.xml" />
- <tool id="PicardHsMetrics" version="1.56.0" file="rgPicardHsMetrics.xml" />
- <tool id="picard_ARRG" version="1.56.0" file="picard_AddOrReplaceReadGroups.xml" />
- <tool id="picard_ReorderSam" version="1.56.0" file="picard_ReorderSam.xml" />
- <tool id="picard_ReplaceSamHeader" version="1.56.0" file="picard_ReplaceSamHeader.xml" />
- <tool id="rgPicFixMate" version="1.56.0" file="rgPicardFixMate.xml" />
- <tool id="rgPicardMarkDups" version="1.56.0" file="rgPicardMarkDups.xml" />
+ <tool id="picard_FastqToSam" version="1.56.0" file="picard/picard_FastqToSam.xml" />
+ <tool id="picard_SamToFastq" version="1.56.1" file="picard/picard_SamToFastq.xml" />
+ <tool id="picard_BamIndexStats" version="1.56.0" file="picard/picard_BamIndexStats.xml" />
+ <tool id="PicardASMetrics" version="1.56.0" file="picard/rgPicardASMetrics.xml" />
+ <tool id="PicardGCBiasMetrics" version="1.56.0" file="picard/rgPicardGCBiasMetrics.xml" />
+ <tool id="rgEstLibComp" version="1.56.0" file="picard/rgPicardLibComplexity.xml" />
+ <tool id="PicardInsertSize" version="1.56.0" file="picard/rgPicardInsertSize.xml" />
+ <tool id="PicardHsMetrics" version="1.56.0" file="picard/rgPicardHsMetrics.xml" />
+ <tool id="picard_ARRG" version="1.56.0" file="picard/picard_AddOrReplaceReadGroups.xml" />
+ <tool id="picard_ReorderSam" version="1.56.0" file="picard/picard_ReorderSam.xml" />
+ <tool id="picard_ReplaceSamHeader" version="1.56.0" file="picard/picard_ReplaceSamHeader.xml" />
+ <tool id="rgPicFixMate" version="1.56.0" file="picard/rgPicardFixMate.xml" />
+ <tool id="rgPicardMarkDups" version="1.56.0" file="picard/rgPicardMarkDups.xml" /></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0007_tools.xml
--- a/scripts/migrate_tools/0007_tools.xml
+++ b/scripts/migrate_tools/0007_tools.xml
@@ -1,15 +1,15 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="bowtie_wrappers" description="Galaxy wrappers for the Bowtie short read mapping tools." changeset_revision="0c7e4eadfb3c">
- <tool id="bowtie_wrapper" version="1.1.2" file="bowtie_wrapper.xml" />
+ <tool id="bowtie_wrapper" version="1.1.2" file="sr_mapping/bowtie_wrapper.xml" /></repository><repository name="bowtie_color_wrappers" description="Galaxy wrappers for the Bowtie short read mapping tools on color space reads" changeset_revision="fd0914e451c5">
- <tool id="bowtie_color_wrapper" version="1.1.2" file="bowtie_color_wrapper.xml" />
+ <tool id="bowtie_color_wrapper" version="1.1.2" file="sr_mapping/bowtie_color_wrapper.xml" /></repository><repository name="lastz" description="Galaxy wrappers for the Lastz alignment tool" changeset_revision="0801f8207d30">
- <tool id="lastz_wrapper_2" version="1.1.2" file="lastz_wrapper.xml" />
+ <tool id="lastz_wrapper_2" version="1.1.2" file="sr_mapping/lastz_wrapper.xml" /></repository><repository name="lastz_paired_reads" description="Galaxy wrapper for the Lastz alignment tool on paired reads" changeset_revision="96825cee5c25">
- <tool id="lastz_paired_reads_wrapper" version="1.1.1" file="lastz_paired_reads_wrapper.xml" />
+ <tool id="lastz_paired_reads_wrapper" version="1.1.1" file="sr_mapping/lastz_paired_reads_wrapper.xml" /></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0008_tools.xml
--- a/scripts/migrate_tools/0008_tools.xml
+++ b/scripts/migrate_tools/0008_tools.xml
@@ -1,147 +1,147 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository owner="devteam" changeset_revision="dc20f447c0e2" name="bam_to_sam" description="Galaxy wrappers for the tool BAM-to-SAM: converts BAM format to SAM format">
- <tool id="bam_to_sam" version="1.0.3" file="bam_to_sam.xml" />
+ <tool id="bam_to_sam" version="1.0.3" file="samtools/bam_to_sam.xml" /></repository><repository owner="devteam" changeset_revision="586c1f0e1515" name="categorize_elements_satisfying_criteria" description="Galaxy wrappers for the tool Categorize Elements: satisfying criteria">
- <tool id="categorize_elements_satisfying_criteria" version="1.0.0" file="categorize_elements_satisfying_criteria.xml" />
+ <tool id="categorize_elements_satisfying_criteria" version="1.0.0" file="regVariation/categorize_elements_satisfying_criteria.xml" /></repository><repository owner="devteam" changeset_revision="acc3dc5d26e3" name="compute_motif_frequencies_for_all_motifs" description="Galaxy wrappers for the tool Compute Motif Frequencies For All Motifs: motif by motif">
- <tool id="compute_motif_frequencies_for_all_motifs" version="1.0.0" file="compute_motif_frequencies_for_all_motifs.xml" />
+ <tool id="compute_motif_frequencies_for_all_motifs" version="1.0.0" file="regVariation/compute_motif_frequencies_for_all_motifs.xml" /></repository><repository owner="devteam" changeset_revision="46325357b948" name="compute_motifs_frequency" description="Galaxy wrappers for the tool Compute Motif Frequencies: in indel flanking regions">
- <tool id="compute_motifs_frequency" version="1.0.0" file="compute_motifs_frequency.xml" />
+ <tool id="compute_motifs_frequency" version="1.0.0" file="regVariation/compute_motifs_frequency.xml" /></repository><repository owner="devteam" changeset_revision="4a32700dcaa2" name="ctd_batch" description="Galaxy wrappers for the tool CTD: analysis of chemicals, diseases, or genes">
- <tool id="ctdBatch_1" version="1.0.0" file="ctd.xml" />
+ <tool id="ctdBatch_1" version="1.0.0" file="phenotype_association/ctd.xml" /></repository><repository owner="devteam" changeset_revision="9a3f7a890da6" name="cuffcompare" description="Galaxy wrappers for the Cuffcompare tool.">
- <tool id="cuffcompare" version="0.0.5" file="cuffcompare_wrapper.xml" />
+ <tool id="cuffcompare" version="0.0.5" file="ngs_rna/cuffcompare_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="0dabb2ed6eb1" name="cuffdiff" description="Galaxy wrappers for the Cuffdiff tool.">
- <tool id="cuffdiff" version="0.0.6" file="cuffdiff_wrapper.xml" />
+ <tool id="cuffdiff" version="0.0.6" file="ngs_rna/cuffdiff_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="b01956f26c36" name="cufflinks" description="Galaxy wrappers for the Cufflinks tool.">
- <tool id="cufflinks" version="0.0.6" file="cufflinks_wrapper.xml" />
+ <tool id="cufflinks" version="0.0.6" file="ngs_rna/cufflinks_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="fdc55fd74f78" name="cuffmerge" description="Galaxy wrappers for the Cuffmerge tool.">
- <tool id="cuffmerge" version="0.0.5" file="cuffmerge_wrapper.xml" />
+ <tool id="cuffmerge" version="0.0.5" file="ngs_rna/cuffmerge_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="f16000dc644b" name="delete_overlapping_indels" description="Galaxy wrappers for the tool Delete Overlapping Indels: from a chromosome indels file">
- <tool id="delete_overlapping_indels" version="1.0.0" file="delete_overlapping_indels.xml" />
+ <tool id="delete_overlapping_indels" version="1.0.0" file="regVariation/delete_overlapping_indels.xml" /></repository><repository owner="devteam" changeset_revision="de839553d2a2" name="divide_pg_snp" description="Galaxy wrappers for the tool Separate pgSnp alleles: into columns">
- <tool id="dividePgSnp" version="1.0.0" file="dividePgSnpAlleles.xml" />
+ <tool id="dividePgSnp" version="1.0.0" file="phenotype_association/dividePgSnpAlleles.xml" /></repository><repository owner="devteam" changeset_revision="063ecbe59faf" name="draw_stacked_barplots" description="Galaxy wrappers for the tool Draw Stacked Bar Plots: for different categories and different criteria">
- <tool id="draw_stacked_barplots" version="1.0.0" file="draw_stacked_barplots.xml" />
+ <tool id="draw_stacked_barplots" version="1.0.0" file="regVariation/draw_stacked_barplots.xml" /></repository><repository owner="devteam" changeset_revision="f2ab5b44870d" name="fasta_clipping_histogram" description="Galaxy wrappers for the tool Length Distribution chart">
- <tool id="cshl_fasta_clipping_histogram" version="1.0.0" file="fasta_clipping_histogram.xml" />
+ <tool id="cshl_fasta_clipping_histogram" version="1.0.0" file="fastx_toolkit/fasta_clipping_histogram.xml" /></repository><repository owner="devteam" changeset_revision="8f0ae92440b8" name="fasta_formatter" description="Galaxy wrappers for the tool FASTA Width: formatter">
- <tool id="cshl_fasta_formatter" version="1.0.0" file="fasta_formatter.xml" />
+ <tool id="cshl_fasta_formatter" version="1.0.0" file="fastx_toolkit/fasta_formatter.xml" /></repository><repository owner="devteam" changeset_revision="4b41e3076a50" name="fasta_nucleotide_changer" description="Galaxy wrappers for the tool RNA/DNA: converter">
- <tool id="cshl_fasta_nucleotides_changer" version="1.0.0" file="fasta_nucleotide_changer.xml" />
+ <tool id="cshl_fasta_nucleotides_changer" version="1.0.0" file="fastx_toolkit/fasta_nucleotide_changer.xml" /></repository><repository owner="devteam" changeset_revision="e359ce20fbd9" name="fastq_quality_boxplot" description="Galaxy wrappers for the tool Draw quality score boxplot">
- <tool id="cshl_fastq_quality_boxplot" version="1.0.0" file="fastq_quality_boxplot.xml" />
+ <tool id="cshl_fastq_quality_boxplot" version="1.0.0" file="fastx_toolkit/fastq_quality_boxplot.xml" /></repository><repository owner="devteam" changeset_revision="b87c74b61d81" name="fastq_quality_converter" description="Galaxy wrappers for the tool Quality format converter: (ASCII-Numeric)">
- <tool id="cshl_fastq_quality_converter" version="1.0.0" file="fastq_quality_converter.xml" />
+ <tool id="cshl_fastq_quality_converter" version="1.0.0" file="fastx_toolkit/fastq_quality_converter.xml" /></repository><repository owner="devteam" changeset_revision="b145b9b26648" name="fastq_quality_filter" description="Galaxy wrappers for the Filter by quality tool.">
- <tool id="cshl_fastq_quality_filter" version="1.0.0" file="fastq_quality_filter.xml" />
+ <tool id="cshl_fastq_quality_filter" version="1.0.0" file="fastx_toolkit/fastq_quality_filter.xml" /></repository><repository owner="devteam" changeset_revision="04614cf6ed39" name="fastq_to_fasta" description="Galaxy wrappers for the tool FASTQ to FASTA: converter">
- <tool id="cshl_fastq_to_fasta" version="1.0.0" file="fastq_to_fasta.xml" />
+ <tool id="cshl_fastq_to_fasta" version="1.0.0" file="fastx_toolkit/fastq_to_fasta.xml" /></repository><repository owner="devteam" changeset_revision="7f9660a246c0" name="fastx_artifacts_filter" description="Galaxy wrappers for the Remove sequencing artifacts tool.">
- <tool id="cshl_fastx_artifacts_filter" version="1.0.0" file="fastx_artifacts_filter.xml" />
+ <tool id="cshl_fastx_artifacts_filter" version="1.0.0" file="fastx_toolkit/fastx_artifacts_filter.xml" /></repository><repository owner="devteam" changeset_revision="a12850d0559b" name="fastx_barcode_splitter" description="Galaxy wrappers for the Barcode Splitter tool.">
- <tool id="cshl_fastx_barcode_splitter" version="1.0.0" file="fastx_barcode_splitter.xml" />
+ <tool id="cshl_fastx_barcode_splitter" version="1.0.0" file="fastx_toolkit/fastx_barcode_splitter.xml" /></repository><repository owner="devteam" changeset_revision="2fe2d2b9e8e4" name="fastx_clipper" description="Galaxy wrappers for the tool Clip: adapter sequences">
- <tool id="cshl_fastx_clipper" version="1.0.1" file="fastx_clipper.xml" />
+ <tool id="cshl_fastx_clipper" version="1.0.1" file="fastx_toolkit/fastx_clipper.xml" /></repository><repository owner="devteam" changeset_revision="e942fd3a76a5" name="fastx_collapser" description="Galaxy wrappers for the tool Collapse: sequences">
- <tool id="cshl_fastx_collapser" version="1.0.0" file="fastx_collapser.xml" />
+ <tool id="cshl_fastx_collapser" version="1.0.0" file="fastx_toolkit/fastx_collapser.xml" /></repository><repository owner="devteam" changeset_revision="bcc5424a4a3c" name="fastx_nucleotides_distribution" description="Galaxy wrappers for the Draw nucleotides distribution chart tool.">
- <tool id="cshl_fastx_nucleotides_distribution" version="1.0.0" file="fastx_nucleotides_distribution.xml" />
+ <tool id="cshl_fastx_nucleotides_distribution" version="1.0.0" file="fastx_toolkit/fastx_nucleotides_distribution.xml" /></repository><repository owner="devteam" changeset_revision="45f077341b24" name="fastx_quality_statistics" description="Galaxy wrappers for the Compute quality statistics tool.">
- <tool id="cshl_fastx_quality_statistics" version="1.0.0" file="fastx_quality_statistics.xml" />
+ <tool id="cshl_fastx_quality_statistics" version="1.0.0" file="fastx_toolkit/fastx_quality_statistics.xml" /></repository><repository owner="devteam" changeset_revision="d7bce63e6e09" name="fastx_renamer" description="Galaxy wrappers for the Rename sequences tool.">
- <tool id="cshl_fastx_renamer" version="0.0.11" file="fastx_renamer.xml" />
+ <tool id="cshl_fastx_renamer" version="0.0.11" file="fastx_toolkit/fastx_renamer.xml" /></repository><repository owner="devteam" changeset_revision="c58871138668" name="fastx_reverse_complement" description="Galaxy wrappers for the Reverse-Complement tool.">
- <tool id="cshl_fastx_reverse_complement" version="1.0.0" file="fastx_reverse_complement.xml" />
+ <tool id="cshl_fastx_reverse_complement" version="1.0.0" file="fastx_toolkit/fastx_reverse_complement.xml" /></repository><repository owner="devteam" changeset_revision="9cb372481a71" name="fastx_trimmer" description="Galaxy wrappers for the Trim sequences tool.">
- <tool id="cshl_fastx_trimmer" version="1.0.0" file="fastx_trimmer.xml" />
+ <tool id="cshl_fastx_trimmer" version="1.0.0" file="fastx_toolkit/fastx_trimmer.xml" /></repository><repository owner="devteam" changeset_revision="64133669255f" name="hgv_fundo" description="Galaxy wrappers for the tool FunDO: human genes associated with disease terms">
- <tool id="hgv_funDo" version="1.0.0" file="funDo.xml" />
+ <tool id="hgv_funDo" version="1.0.0" file="phenotype_association/funDo.xml" /></repository><repository owner="devteam" changeset_revision="0e80ffa5b7f7" name="hgv_hilbertvis" description="Galaxy wrappers for the tool HVIS: visualization of genomic data with the Hilbert curve">
- <tool id="hgv_hilbertvis" version="1.0.0" file="hilbertvis.xml" />
+ <tool id="hgv_hilbertvis" version="1.0.0" file="phenotype_association/hilbertvis.xml" /></repository><repository owner="devteam" changeset_revision="5ad24b81dd10" name="indels_3way" description="Galaxy wrappers for the tool Fetch Indels: from 3-way alignments">
- <tool id="indels_3way" version="1.0.3" file="getIndels_3way.xml" />
+ <tool id="indels_3way" version="1.0.3" file="regVariation/getIndels_3way.xml" /></repository><repository owner="devteam" changeset_revision="4e31fad3f08e" name="microsatellite_birthdeath" description="Galaxy wrappers for the tool Identify microsatellite births and deaths: and causal mutational mechanisms from previously identified orthologous microsatellite sets">
- <tool id="microsatellite_birthdeath" version="1.0.0" file="microsatellite_birthdeath.xml" />
+ <tool id="microsatellite_birthdeath" version="1.0.0" file="regVariation/microsatellite_birthdeath.xml" /></repository><repository owner="devteam" changeset_revision="275433d3a395" name="multispecies_orthologous_microsats" description="Galaxy wrappers for the tool Extract orthologous microsatellites: for multiple (>2) species alignments">
- <tool id="multispecies_orthologous_microsats" version="1.0.0" file="multispecies_MicrosatDataGenerator_interrupted_GALAXY.xml" />
+ <tool id="multispecies_orthologous_microsats" version="1.0.0" file="regVariation/multispecies_MicrosatDataGenerator_interrupted_GALAXY.xml" /></repository><repository owner="devteam" changeset_revision="8f0af7251167" name="mutate_snp_codon" description="Galaxy wrappers for the tool Mutate Codons: with SNPs">
- <tool id="mutate_snp_codon_1" version="1.0.0" file="mutate_snp_codon.xml" />
+ <tool id="mutate_snp_codon_1" version="1.0.0" file="evolution/mutate_snp_codon.xml" /></repository><repository owner="devteam" changeset_revision="a110f9d6ae24" name="pileup_interval" description="Galaxy wrappers for the tool Pileup-to-Interval: condenses pileup format into ranges of bases">
- <tool id="pileup_interval" version="1.0.0" file="pileup_interval.xml" />
+ <tool id="pileup_interval" version="1.0.0" file="samtools/pileup_interval.xml" /></repository><repository owner="devteam" changeset_revision="ff1ba9b75337" name="pileup_parser" description="Galaxy wrappers for the tool Filter pileup: on coverage and SNPs">
- <tool id="pileup_parser" version="1.0.2" file="pileup_parser.xml" />
+ <tool id="pileup_parser" version="1.0.2" file="samtools/pileup_parser.xml" /></repository><repository owner="devteam" changeset_revision="8c737b8ddc45" name="sam2interval" description="Galaxy wrappers for the tool Convert SAM: to interval">
- <tool id="sam2interval" version="1.0.1" file="sam2interval.xml" />
+ <tool id="sam2interval" version="1.0.1" file="samtools/sam2interval.xml" /></repository><repository owner="devteam" changeset_revision="0b2424a404d9" name="sam_bitwise_flag_filter" description="Galaxy wrappers for the tool Filter SAM: on bitwise flag values">
- <tool id="sam_bw_filter" version="1.0.0" file="sam_bitwise_flag_filter.xml" />
+ <tool id="sam_bw_filter" version="1.0.0" file="samtools/sam_bitwise_flag_filter.xml" /></repository><repository owner="devteam" changeset_revision="a7a49d31c5cf" name="sam_merge" description="Galaxy wrappers for the tool Merge BAM Files: merges BAM files together">
- <tool id="sam_merge2" version="1.1.2" file="sam_merge.xml" />
+ <tool id="sam_merge2" version="1.1.2" file="samtools/sam_merge.xml" /></repository><repository owner="devteam" changeset_revision="95612c159681" name="sam_pileup" description="Galaxy wrappers for the tool Generate pileup: from BAM dataset">
- <tool id="sam_pileup" version="1.1.1" file="sam_pileup.xml" />
+ <tool id="sam_pileup" version="1.1.1" file="samtools/sam_pileup.xml" /></repository><repository owner="devteam" changeset_revision="30fdbaccb96b" name="sam_to_bam" description="Galaxy wrappers for the tool SAM-to-BAM: converts SAM format to BAM format">
- <tool id="sam_to_bam" version="1.1.2" file="sam_to_bam.xml" />
+ <tool id="sam_to_bam" version="1.1.2" file="samtools/sam_to_bam.xml" /></repository><repository owner="devteam" changeset_revision="13c4ad597626" name="samtools_flagstat" description="Galaxy wrappers for the tool flagstat: provides simple stats on BAM files">
- <tool id="samtools_flagstat" version="1.0.0" file="samtools_flagstat.xml" />
+ <tool id="samtools_flagstat" version="1.0.0" file="samtools/samtools_flagstat.xml" /></repository><repository owner="devteam" changeset_revision="44a18a94d7a9" name="samtools_mpileup" description="Galaxy wrappers for the tool MPileup: SNP and indel caller">
- <tool id="samtools_mpileup" version="0.0.1" file="samtools_mpileup.xml" />
+ <tool id="samtools_mpileup" version="0.0.1" file="samtools/samtools_mpileup.xml" /></repository><repository owner="devteam" changeset_revision="7e92b2a53aab" name="samtools_rmdup" description="Galaxy wrappers for the tool rmdup: remove PCR duplicates">
- <tool id="samtools_rmdup" version="1.0.0" file="samtools_rmdup.xml" />
+ <tool id="samtools_rmdup" version="1.0.0" file="samtools/samtools_rmdup.xml" /></repository><repository owner="devteam" changeset_revision="68ba55e96489" name="samtools_slice_bam" description="Galaxy wrappers for the tool Slice BAM: by provided regions">
- <tool id="samtools_slice_bam" version="0.0.1" file="samtools_slice_bam.xml" />
+ <tool id="samtools_slice_bam" version="0.0.1" file="samtools/samtools_slice_bam.xml" /></repository><repository owner="devteam" changeset_revision="36163bff76cc" name="split_paired_reads" description="Galaxy wrappers for the Split paired end reads tool.">
- <tool id="split_paired_reads" version="1.0.0" file="split_paired_reads.xml" />
+ <tool id="split_paired_reads" version="1.0.0" file="metag_tools/split_paired_reads.xml" /></repository><repository owner="devteam" changeset_revision="e6a85a9297b3" name="t_test_two_samples" description="Galaxy wrappers for the T Test for Two Samples tool.">
- <tool id="t_test_two_samples" version="1.0.0" file="t_test_two_samples.xml" />
+ <tool id="t_test_two_samples" version="1.0.0" file="regVariation/t_test_two_samples.xml" /></repository><repository owner="devteam" changeset_revision="acf952549b53" name="xy_plot" description="Galaxy wrappers for the tool Plotting tool: for multiple series and graph types">
- <tool id="XY_Plot_1" version="1.0.1" file="xy_plot.xml" />
+ <tool id="XY_Plot_1" version="1.0.1" file="plotting/xy_plot.xml" /></repository></toolshed>
\ No newline at end of file
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0009_tools.xml
--- a/scripts/migrate_tools/0009_tools.xml
+++ b/scripts/migrate_tools/0009_tools.xml
@@ -1,132 +1,132 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository owner="devteam" changeset_revision="96d2e31a3938" name="bowtie2" description="Bowtie2">
- <tool id="bowtie2" version="0.2" file="bowtie2_wrapper.xml" />
+ <tool id="bowtie2" version="0.2" file="ngs_rna/bowtie2_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="a0c8dc671a23" name="ccat" description="Control-based ChIP-seq Analysis Tool">
- <tool id="peakcalling_ccat" version="0.0.1" file="ccat_wrapper.xml" />
+ <tool id="peakcalling_ccat" version="0.0.1" file="peak_calling/ccat_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="7cc64024fe92" name="clustalw" description="ClustalW multiple sequence alignment program for DNA or proteins">
- <tool id="clustalw" version="0.1" file="rgClustalw.xml" />
+ <tool id="clustalw" version="0.1" file="rgenetics/rgClustalw.xml" /></repository><repository owner="devteam" changeset_revision="6708501767b6" name="dwt_cor_ava_perclass" description="Compute P-values and Correlation Coefficients for Feature Occurrences">
- <tool id="compute_p-values_correlation_coefficients_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_cor_aVa_perClass.xml" />
+ <tool id="compute_p-values_correlation_coefficients_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_cor_aVa_perClass.xml" /></repository><repository owner="devteam" changeset_revision="0f2eda4ea8dc" name="dwt_cor_avb_all" description="Compute P-values and Correlation Coefficients for Occurrences of Two Set of Features">
- <tool id="compute_p-values_correlation_coefficients_featureA_featureB_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_cor_aVb_all.xml" />
+ <tool id="compute_p-values_correlation_coefficients_featureA_featureB_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_cor_aVb_all.xml" /></repository><repository owner="devteam" changeset_revision="0b89b03ad760" name="dwt_ivc_all" description="Compute P-values and Second Moments for Feature Occurrences">
- <tool id="compute_p-values_second_moments_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_IvC_all.xml" />
+ <tool id="compute_p-values_second_moments_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_IvC_all.xml" /></repository><repository owner="devteam" changeset_revision="cb422b6f49d2" name="dwt_var_perclass" description="Compute P-values and Max Variances for Feature Occurrences">
- <tool id="compute_p-values_max_variances_feature_occurrences_in_one_dataset_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_var_perClass.xml" />
+ <tool id="compute_p-values_max_variances_feature_occurrences_in_one_dataset_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_var_perClass.xml" /></repository><repository owner="devteam" changeset_revision="d56c5d2e1a29" name="dwt_var_perfeature" description="Wavelet variance using Discrete Wavelet Transfoms">
- <tool id="dwt_var1" version="1.0.0" file="execute_dwt_var_perFeature.xml" />
+ <tool id="dwt_var1" version="1.0.0" file="discreteWavelet/execute_dwt_var_perFeature.xml" /></repository><repository owner="devteam" changeset_revision="7b0708761d05" name="express" description="Quantify the abundances of a set of target sequences from sampled subsequences">
- <tool id="express" version="1.1.1" file="express_wrapper.xml" />
+ <tool id="express" version="1.1.1" file="ngs_rna/express_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="e28c965eeed4" name="fastqc" description="Read QC reports using FastQC">
- <tool id="fastqc" version="1.0.0" file="rgFastQC.xml" />
+ <tool id="fastqc" version="1.0.0" file="rgenetics/rgFastQC.xml" /></repository><repository owner="devteam" changeset_revision="94306bdd58f7" name="fastq_combiner" description="Combine FASTA and QUAL into FASTQ.">
- <tool id="fastq_combiner" version="1.0.1" file="fastq_combiner.xml" />
+ <tool id="fastq_combiner" version="1.0.1" file="fastq/fastq_combiner.xml" /></repository><repository owner="devteam" changeset_revision="30d9ece6c752" name="fastq_filter" description="Filter FASTQ reads by quality score and length">
- <tool id="fastq_filter" version="1.0.0" file="fastq_filter.xml" />
+ <tool id="fastq_filter" version="1.0.0" file="fastq/fastq_filter.xml" /></repository><repository owner="devteam" changeset_revision="1298445c852b" name="fastq_groomer" description="Convert between various FASTQ quality formats.">
- <tool id="fastq_groomer" version="1.0.4" file="fastq_groomer.xml" />
+ <tool id="fastq_groomer" version="1.0.4" file="fastq/fastq_groomer.xml" /></repository><repository owner="devteam" changeset_revision="5d1e9e13e8db" name="fastq_manipulation" description="Manipulate FASTQ reads on various attributes.">
- <tool id="fastq_manipulation" version="1.0.1" file="fastq_manipulation.xml" />
+ <tool id="fastq_manipulation" version="1.0.1" file="fastq/fastq_manipulation.xml" /></repository><repository owner="devteam" changeset_revision="5a7b5751617b" name="fastq_masker_by_quality" description="FASTQ Masker by quality score">
- <tool id="fastq_masker_by_quality" version="1.0.0" file="fastq_masker_by_quality.xml" />
+ <tool id="fastq_masker_by_quality" version="1.0.0" file="fastq/fastq_masker_by_quality.xml" /></repository><repository owner="devteam" changeset_revision="f0949bc49926" name="fastq_paired_end_deinterlacer" description="FASTQ de-interlacer on paired end reads.">
- <tool id="fastq_paired_end_deinterlacer" version="1.1" file="fastq_paired_end_deinterlacer.xml" />
+ <tool id="fastq_paired_end_deinterlacer" version="1.1" file="fastq/fastq_paired_end_deinterlacer.xml" /></repository><repository owner="devteam" changeset_revision="b89bdf6acb6c" name="fastq_paired_end_interlacer" description="FASTQ interlacer on paired end reads">
- <tool id="fastq_paired_end_interlacer" version="1.1" file="fastq_paired_end_interlacer.xml" />
+ <tool id="fastq_paired_end_interlacer" version="1.1" file="fastq/fastq_paired_end_interlacer.xml" /></repository><repository owner="devteam" changeset_revision="2793d1d765b9" name="fastq_paired_end_joiner" description="FASTQ joiner on paired end reads">
- <tool id="fastq_paired_end_joiner" version="1.0.0" file="fastq_paired_end_joiner.xml" />
+ <tool id="fastq_paired_end_joiner" version="1.0.0" file="fastq/fastq_paired_end_joiner.xml" /></repository><repository owner="devteam" changeset_revision="c549e99026db" name="fastq_paired_end_splitter" description="FASTQ splitter on joined paired end reads">
- <tool id="fastq_paired_end_splitter" version="1.0.0" file="fastq_paired_end_splitter.xml" />
+ <tool id="fastq_paired_end_splitter" version="1.0.0" file="fastq/fastq_paired_end_splitter.xml" /></repository><repository owner="devteam" changeset_revision="9b7b4e0ca9db" name="fastq_stats" description="FASTQ Summary Statistics by column">
- <tool id="fastq_stats" version="1.0.0" file="fastq_stats.xml" />
+ <tool id="fastq_stats" version="1.0.0" file="fastq/fastq_stats.xml" /></repository><repository owner="devteam" changeset_revision="3571553aeb20" name="fastqtofasta" description="FASTQ to FASTA converter">
- <tool id="fastq_to_fasta_python" version="1.0.0" file="fastq_to_fasta.xml" />
+ <tool id="fastq_to_fasta_python" version="1.0.0" file="fastq/fastq_to_fasta.xml" /></repository><repository owner="devteam" changeset_revision="bc9269529e88" name="fastq_to_tabular" description="FASTQ to Tabular converter">
- <tool id="fastq_to_tabular" version="1.1.0" file="fastq_to_tabular.xml" />
+ <tool id="fastq_to_tabular" version="1.1.0" file="fastq/fastq_to_tabular.xml" /></repository><repository owner="devteam" changeset_revision="0b9feb0ed628" name="fastq_trimmer" description="FASTQ Trimmer by quality">
- <tool id="fastq_trimmer" version="1.0.0" file="fastq_trimmer.xml" />
+ <tool id="fastq_trimmer" version="1.0.0" file="fastq/fastq_trimmer.xml" /></repository><repository owner="devteam" changeset_revision="1cdcaf5fc1da" name="fastq_trimmer_by_quality" description="FASTQ Quality Trimmer by sliding window">
- <tool id="fastq_quality_trimmer" version="1.0.0" file="fastq_trimmer_by_quality.xml" />
+ <tool id="fastq_quality_trimmer" version="1.0.0" file="fastq/fastq_trimmer_by_quality.xml" /></repository><repository owner="devteam" changeset_revision="31154ff9f5e1" name="filter_transcripts_via_tracking" description="Filter Combined Transcripts">
- <tool id="filter_combined_via_tracking" version="0.1" file="filter_transcripts_via_tracking.xml" />
+ <tool id="filter_combined_via_tracking" version="0.1" file="ngs_rna/filter_transcripts_via_tracking.xml" /></repository><repository owner="devteam" changeset_revision="acf51ff24c7d" name="find_diag_hits" description="Identify sequence reads corresponding to a particular taxonomic group">
- <tool id="find_diag_hits" version="1.0.0" file="find_diag_hits.xml" />
+ <tool id="find_diag_hits" version="1.0.0" file="taxonomy/find_diag_hits.xml" /></repository><repository owner="devteam" changeset_revision="33a0e6aca936" name="freebayes_wrapper" description="Call SNPS with Freebayes">
- <tool id="freebayes_wrapper" version="0.5.0" file="freebayes.xml" />
+ <tool id="freebayes_wrapper" version="0.5.0" file="phenotype_association/freebayes.xml" /></repository><repository owner="devteam" changeset_revision="7b1b03c4465d" name="gi2taxonomy" description="Fetch taxonomic representation">
- <tool id="Fetch Taxonomic Ranks" version="1.1.0" file="gi2taxonomy.xml" />
+ <tool id="Fetch Taxonomic Ranks" version="1.1.0" file="taxonomy/gi2taxonomy.xml" /></repository><repository owner="devteam" changeset_revision="2cd5ee197ec7" name="gmaj" description="GMAJ Multiple Alignment Viewer">
- <tool id="gmaj_1" version="2.0.1" file="GMAJ.xml" />
+ <tool id="gmaj_1" version="2.0.1" file="visualization/GMAJ.xml" /></repository><repository owner="devteam" changeset_revision="33e8ed5a4601" name="lca_wrapper" description="Find lowest diagnostic rank">
- <tool id="lca1" version="1.0.1" file="lca.xml" />
+ <tool id="lca1" version="1.0.1" file="taxonomy/lca.xml" /></repository><repository owner="devteam" changeset_revision="ae2ec275332a" name="macs" description="Model-based Analysis of ChIP-Seq">
- <tool id="peakcalling_macs" version="1.0.1" file="macs_wrapper.xml" />
+ <tool id="peakcalling_macs" version="1.0.1" file="peak_calling/macs_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="8cd5945559b8" name="poisson2test" description="Poisson two-sample test">
- <tool id="poisson2test" version="1.0.0" file="poisson2test.xml" />
+ <tool id="poisson2test" version="1.0.0" file="taxonomy/poisson2test.xml" /></repository><repository owner="devteam" changeset_revision="82a8234e03f2" name="sicer" description="Statistical approach for the Identification of ChIP-Enriched Regions">
- <tool id="peakcalling_sicer" version="0.0.1" file="sicer_wrapper.xml" />
+ <tool id="peakcalling_sicer" version="0.0.1" file="peak_calling/sicer_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="9e2b9ca7f33a" name="t2ps" description="Draw phylogeny">
- <tool id="Draw_phylogram" version="1.0.0" file="t2ps_wrapper.xml" />
+ <tool id="Draw_phylogram" version="1.0.0" file="taxonomy/t2ps_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="592acb9505fc" name="t2t_report" description="Summarize taxonomy">
- <tool id="t2t_report" version="1.0.0" file="t2t_report.xml" />
+ <tool id="t2t_report" version="1.0.0" file="taxonomy/t2t_report.xml" /></repository><repository owner="devteam" changeset_revision="b334cd1095ea" name="tabular_to_fastq" description="Tabular to FASTQ converter">
- <tool id="tabular_to_fastq" version="1.0.0" file="tabular_to_fastq.xml" />
+ <tool id="tabular_to_fastq" version="1.0.0" file="fastq/tabular_to_fastq.xml" /></repository><repository owner="devteam" changeset_revision="1030acbecce6" name="tophat" description="Find splice junctions using RNA-seq data">
- <tool id="tophat" version="1.5.0" file="tophat_wrapper.xml" />
+ <tool id="tophat" version="1.5.0" file="ngs_rna/tophat_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="ffa30bedbee3" name="tophat2" description="Gapped-read mapper for RNA-seq data">
- <tool id="tophat2" version="0.6" file="tophat2_wrapper.xml" />
+ <tool id="tophat2" version="0.6" file="ngs_rna/tophat2_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="b001b50f2009" name="vcf_annotate" description="Annotate a VCF file (dbSNP, hapmap)">
- <tool id="vcf_annotate" version="1.0.0" file="annotate.xml" />
+ <tool id="vcf_annotate" version="1.0.0" file="vcf_tools/annotate.xml" /></repository><repository owner="devteam" changeset_revision="76ad0b7865b9" name="vcf_extract" description="Extract reads from a specified region">
- <tool id="vcf_extract" version="1.0.0" file="extract.xml" />
+ <tool id="vcf_extract" version="1.0.0" file="vcf_tools/extract.xml" /></repository><repository owner="devteam" changeset_revision="da1a6f33b504" name="vcf_filter" description="Filter a VCF file">
- <tool id="vcf_filter" version="1.0.0" file="filter.xml" />
+ <tool id="vcf_filter" version="1.0.0" file="vcf_tools/filter.xml" /></repository><repository owner="devteam" changeset_revision="9d162bde4113" name="vcf_intersect" description="Generate the intersection of two VCF files"><tool id="vcf_intersect" version="1.0.0" file="vcf_tools/intersect.xml" /></repository><repository owner="devteam" changeset_revision="66253fc0a69b" name="weblogo3" description="Sequence Logo generator for fasta (eg Clustal alignments)">
- <tool id="rgweblogo3" version="0.4" file="rgWebLogo3.xml" />
+ <tool id="rgweblogo3" version="0.4" file="rgenetics/rgWebLogo3.xml" /></repository></toolshed>
\ No newline at end of file
https://bitbucket.org/galaxy/galaxy-central/commits/d20888b2d96c/
Changeset: d20888b2d96c
Branch: stable
User: davebgx
Date: 2014-02-21 00:01:05
Summary: Fix path for bowtie2.
Affected #: 1 file
diff -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 -r d20888b2d96c8a021871a4252b5cc74e09578f07 scripts/migrate_tools/0009_tools.xml
--- a/scripts/migrate_tools/0009_tools.xml
+++ b/scripts/migrate_tools/0009_tools.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository owner="devteam" changeset_revision="96d2e31a3938" name="bowtie2" description="Bowtie2">
- <tool id="bowtie2" version="0.2" file="ngs_rna/bowtie2_wrapper.xml" />
+ <tool id="bowtie2" version="0.2" file="sr_mapping/bowtie2_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="a0c8dc671a23" name="ccat" description="Control-based ChIP-seq Analysis Tool"><tool id="peakcalling_ccat" version="0.0.1" file="peak_calling/ccat_wrapper.xml" />
https://bitbucket.org/galaxy/galaxy-central/commits/6f9d716d0009/
Changeset: 6f9d716d0009
User: davebgx
Date: 2014-02-21 18:38:04
Summary: Merge stable.
Affected #: 0 files
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
0
commit/galaxy-central: martenson: data libraries: ui improvements, sorting, bugfix
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/3ab1e13eab15/
Changeset: 3ab1e13eab15
User: martenson
Date: 2014-02-21 17:26:52
Summary: data libraries: ui improvements, sorting, bugfix
Affected #: 6 files
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d lib/galaxy/webapps/galaxy/api/folder_contents.py
--- a/lib/galaxy/webapps/galaxy/api/folder_contents.py
+++ b/lib/galaxy/webapps/galaxy/api/folder_contents.py
@@ -95,7 +95,6 @@
time_created = ''
# Go through every item in the folder and include its meta-data.
for content_item in self.load_folder_contents( trans, folder ):
-# rval = content_item.to_dict()
return_item = {}
encoded_id = trans.security.encode_id( content_item.id )
time_updated = content_item.update_time.strftime( "%Y-%m-%d %I:%M %p" )
@@ -104,7 +103,6 @@
# For folder return also hierarchy values
if content_item.api_type == 'folder':
encoded_id = 'F' + encoded_id
-# time_updated = content_item.update_time.strftime( "%Y-%m-%d %I:%M %p" )
return_item.update ( dict ( item_count = content_item.item_count ) )
if content_item.api_type == 'file':
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/scripts/galaxy.library.js
--- a/static/scripts/galaxy.library.js
+++ b/static/scripts/galaxy.library.js
@@ -21,44 +21,50 @@
// LIBRARY
var Library = Backbone.Model.extend({
urlRoot: '/api/libraries'
- });
+ });
// FOLDER AS MODEL
var FolderAsModel = Backbone.Model.extend({
urlRoot: '/api/folders'
- });
+ });
// LIBRARIES
var Libraries = Backbone.Collection.extend({
url: '/api/libraries',
- model: Library
- });
+
+ model: Library,
+
+ sort_key: 'name', // default
+
+ sort_order: null, // default
+
+ });
// ITEM
var Item = Backbone.Model.extend({
urlRoot : '/api/libraries/datasets'
- })
+ });
// FOLDER AS COLLECTION
var Folder = Backbone.Collection.extend({
model: Item
- })
+ });
// CONTAINER for folder contents (folders, items and metadata).
var FolderContainer = Backbone.Model.extend({
- defaults : {
- folder : new Folder(),
- full_path : "unknown",
- urlRoot : "/api/folders/",
- id : "unknown"
- },
+ defaults : {
+ folder : new Folder(),
+ full_path : "unknown",
+ urlRoot : "/api/folders/",
+ id : "unknown"
+ },
parse : function(obj) {
this.full_path = obj[0].full_path;
// update the inner collection
this.get("folder").reset(obj[1].folder_contents);
return obj;
}
- })
+ });
// HISTORY ITEM
var HistoryItem = Backbone.Model.extend({
@@ -76,16 +82,6 @@
model : GalaxyHistory
});
- //ROUTER
- var LibraryRouter = Backbone.Router.extend({
- routes: {
- "" : "libraries",
- "folders/:id" : "folder_content",
- "folders/:folder_id/download/:format" : "download"
- }
- });
-
-
// MMMMMMMMMMMMMM
// === VIEWS ====
// MMMMMMMMMMMMMM
@@ -121,15 +117,15 @@
var tmpl_array = [];
// CONTAINER
- tmpl_array.push('<div id="library_container" style="width: 90%; margin: auto; margin-top: 2em; ">');
+ tmpl_array.push('<div class="library_container" style="width: 90%; margin: auto; margin-top: 2em; ">');
tmpl_array.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');
// TOOLBAR
tmpl_array.push('<div id="library_folder_toolbar" >');
- // tmpl_array.push(' <button title="Create New Folder" id="toolbtn_create_folder" class="btn btn-primary" type="button"><span class="fa fa-plus"></span><span class="fa fa-folder-close"></span> folder</button>');
- tmpl_array.push(' <button id="toolbtn_bulk_import" class="btn btn-primary" style="display: none; margin-left: 0.5em;" type="button"><span class="fa fa-external-link"></span> to history</button>');
+ tmpl_array.push(' <button title="Create New Folder" id="toolbtn_create_folder" class="btn btn-primary" type="button"><span class="fa fa-plus"></span><span class="fa fa-folder-close"></span> folder</button>');
+ tmpl_array.push(' <button title="Import selected datasets into history" id="toolbtn_bulk_import" class="btn btn-primary" style="display: none; margin-left: 0.5em;" type="button"><span class="fa fa-external-link"></span> to history</button>');
tmpl_array.push(' <div id="toolbtn_dl" class="btn-group" style="margin-left: 0.5em; display: none; ">');
- tmpl_array.push(' <button id="drop_toggle" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">');
+ tmpl_array.push(' <button title="Download selected datasets" id="drop_toggle" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">');
tmpl_array.push(' <span class="fa fa-download"></span> download <span class="caret"></span>');
tmpl_array.push(' </button>');
tmpl_array.push(' <ul class="dropdown-menu" role="menu">');
@@ -142,19 +138,20 @@
tmpl_array.push('</div>');
// BREADCRUMBS
- tmpl_array.push('<div class="library_breadcrumb">');
- tmpl_array.push('<a title="Return to the list of libraries" href="#">Libraries</a><b>|</b> ');
- tmpl_array.push('<% _.each(path, function(path_item) { %>');
- tmpl_array.push('<% if (path_item[0] != id) { %>');
- tmpl_array.push('<a title="Return to this folder" href="#/folders/<%- path_item[0] %>"><%- path_item[1] %></a><b>|</b> ');
- tmpl_array.push('<% } else { %>');
- tmpl_array.push('<span title="You are in this folder"><%- path_item[1] %></span>');
- tmpl_array.push('<% } %>');
- tmpl_array.push('<% }); %>');
- tmpl_array.push('</div>');
+ tmpl_array.push('<ol class="breadcrumb">');
+ tmpl_array.push(' <li><a title="Return to the list of libraries" href="#">Libraries</a></li>');
+ tmpl_array.push(' <% _.each(path, function(path_item) { %>');
+ tmpl_array.push(' <% if (path_item[0] != id) { %>');
+ tmpl_array.push(' <li><a title="Return to this folder" href="#/folders/<%- path_item[0] %>"><%- path_item[1] %></a></li> ');
+ tmpl_array.push( '<% } else { %>');
+ tmpl_array.push(' <li class="active"><span title="You are in this folder"><%- path_item[1] %></span></li>');
+ tmpl_array.push(' <% } %>');
+ tmpl_array.push(' <% }); %>');
+ tmpl_array.push('</ol>');
+
// FOLDER CONTENT
- tmpl_array.push('<table id="folder_table" class="table table-condensed">');
+ tmpl_array.push('<table id="folder_table" class="library_table table table-condensed">');
tmpl_array.push(' <thead>');
tmpl_array.push(' <th class="button_heading"></th>');
tmpl_array.push(' <th style="text-align: center; width: 20px; "><input id="select-all-checkboxes" style="margin: 0;" type="checkbox"></th>');
@@ -164,8 +161,7 @@
tmpl_array.push(' <th>date (UTC)</th>');
tmpl_array.push(' </thead>');
tmpl_array.push(' <tbody>');
- tmpl_array.push(' <td><button title="Go to parent folder" type="button" data-id="<%- upper_folder_id %>" class="btn_open_folder btn btn-default btn-xs">');
- tmpl_array.push(' ..</td>');
+ tmpl_array.push(' <td><a href="#<% if (upper_folder_id !== 0){ print("folders/" + upper_folder_id)} %>" title="Go to parent folder" class="btn_open_folder btn btn-default btn-xs">..<a></td>');
tmpl_array.push(' <td></td>');
tmpl_array.push(' <td></td>');
tmpl_array.push(' <td></td>');
@@ -173,29 +169,34 @@
tmpl_array.push(' <td></td>');
tmpl_array.push(' </tr>');
tmpl_array.push(' <% _.each(items, function(content_item) { %>');
- tmpl_array.push(' <tr class="folder_row light" id="<%- content_item.id %>">');
tmpl_array.push(' <% if (content_item.get("type") === "folder") { %>'); // folder
- tmpl_array.push(' <td>');
- tmpl_array.push(' <span class="fa fa-folder-open"></span></td>');
- tmpl_array.push(' <td></td>');
- tmpl_array.push(' <td><%- content_item.get("name") %>');
- tmpl_array.push(' <% if (content_item.get("item_count") === 0) { %>'); // empty folder
- tmpl_array.push(' <span class="muted">(empty folder)</span>');
- tmpl_array.push(' <% } %>');
- tmpl_array.push(' </td>');
- tmpl_array.push(' <td>folder</td>');
- tmpl_array.push(' <td><%= _.escape(content_item.get("item_count")) %> item(s)</td>'); // size
+ tmpl_array.push(' <tr class="folder_row light" id="<%- content_item.id %>">');
+ tmpl_array.push(' <td>');
+ tmpl_array.push(' <span title="Folder" class="fa fa-folder-o"></span>');
+ tmpl_array.push(' </td>');
+ tmpl_array.push(' <td></td>');
+ tmpl_array.push(' <td>');
+ tmpl_array.push(' <a href="#folders/<%- content_item.id %>"><%- content_item.get("name") %></a>');
+ tmpl_array.push(' <% if (content_item.get("item_count") === 0) { %>'); // empty folder
+ tmpl_array.push(' <span class="muted">(empty folder)</span>');
+ tmpl_array.push(' <% } %>');
+ tmpl_array.push(' </td>');
+ tmpl_array.push(' <td>folder</td>');
+ tmpl_array.push(' <td><%= _.escape(content_item.get("item_count")) %> item(s)</td>'); // size
+ tmpl_array.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>'); // time updated
+ tmpl_array.push(' </tr>');
tmpl_array.push(' <% } else { %>');
- tmpl_array.push(' <td>');
- tmpl_array.push(' <span class="fa fa-file"></span>');
- tmpl_array.push(' </td>');
- tmpl_array.push(' <td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>');
- tmpl_array.push(' <td><a href="#" class="library-dataset"><%- content_item.get("name") %><a></td>'); // dataset
- tmpl_array.push(' <td><%= _.escape(content_item.get("data_type")) %></td>'); // data type
- tmpl_array.push(' <td><%= _.escape(content_item.get("readable_size")) %></td>'); // size
- tmpl_array.push(' <% } %> ');
- tmpl_array.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>'); // time updated
- tmpl_array.push(' </tr>');
+ tmpl_array.push(' <tr class="dataset_row light" id="<%- content_item.id %>">');
+ tmpl_array.push(' <td>');
+ tmpl_array.push(' <span title="Dataset" class="fa fa-file-o"></span>');
+ tmpl_array.push(' </td>');
+ tmpl_array.push(' <td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>');
+ tmpl_array.push(' <td><a href="#" class="library-dataset"><%- content_item.get("name") %><a></td>'); // dataset
+ tmpl_array.push(' <td><%= _.escape(content_item.get("data_type")) %></td>'); // data type
+ tmpl_array.push(' <td><%= _.escape(content_item.get("readable_size")) %></td>'); // size
+ tmpl_array.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>'); // time updated
+ tmpl_array.push(' </tr>');
+ tmpl_array.push(' <% } %> ');
tmpl_array.push(' <% }); %>');
tmpl_array.push(' ');
tmpl_array.push(' </tbody>');
@@ -207,7 +208,7 @@
templateDatasetModal : function(){
var tmpl_array = [];
- tmpl_array.push('<div id="dataset_info_modal">');
+ tmpl_array.push('<div class="modal_table">');
tmpl_array.push(' <table class="table table-striped table-condensed">');
tmpl_array.push(' <tr>');
tmpl_array.push(' <th scope="row" id="id_row" data-id="<%= _.escape(item.get("ldda_id")) %>">Name</th>');
@@ -329,12 +330,11 @@
// event binding
events: {
'click #select-all-checkboxes' : 'selectAll',
- 'click .folder_row' : 'selectClickedRow',
'click #toolbtn_bulk_import' : 'modalBulkImport',
'click #toolbtn_dl' : 'bulkDownload',
+ 'click #toolbtn_create_folder' : 'createFolderFromModal',
'click .library-dataset' : 'showDatasetDetails',
- 'click #toolbtn_create_folder' : 'createFolderFromModal',
- 'click .btn_open_folder' : 'navigateToFolder'
+ 'click .dataset_row' : 'selectClickedRow'
},
// MMMMMMMMMMMMMMMMMM
@@ -397,18 +397,6 @@
return (Math.round(size) / 10) + unit;
},
- // handles the click on 'open' and 'upper' folder icons
- navigateToFolder : function(event){
- var folder_id = $(event.target).attr('data-id');
- if (typeof folder_id === 'undefined') {
- return false;
- } else if (folder_id === '0'){
- library_router.navigate('/', {trigger: true, replace: false});
- } else {
- library_router.navigate('folders/' + folder_id, {trigger: true, replace: false});
- }
- },
-
//show modal with current dataset info
showDatasetDetails : function(event){
// prevent default
@@ -558,8 +546,6 @@
$row = $(event.target.parentElement);
source = 'td';
}
- if (checkbox === '') {event.stopPropagation(); return;} // button in row was clicked
- if (checkbox === undefined) {event.stopPropagation(); return;} // folder row was clicked
if (checkbox.checked){
if (source==='td'){
@@ -584,6 +570,9 @@
$row.find('a').removeClass('light');
$row.addClass('dark');
$row.find('a').addClass('dark');
+ $row.find('span').removeClass('fa-file-o');
+ $row.find('span').addClass('fa-file');
+
},
makeWhiteRow: function($row){
@@ -591,6 +580,8 @@
$row.find('a').removeClass('dark');
$row.addClass('light');
$row.find('a').addClass('light');
+ $row.find('span').addClass('fa-file-o');
+ $row.find('span').removeClass('fa-file');
},
// show toolbar in case something is selected
@@ -799,8 +790,72 @@
'click #create_new_library_btn' : 'show_library_modal'
},
+ modal: null,
+
+ collection: null,
+
// initialize
initialize : function(){
+ var viewContext = this;
+ this.collection = new Libraries();
+ // this.collection.on('sort', this.render, this);
+
+ this.collection.fetch({
+ success: function(libraries){
+ viewContext.render();
+ },
+ error: function(model, response){
+
+ if (response.statusCode().status === 403){ //TODO open to public
+ mod_toastr.info('Please log in first. Redirecting to login page in 3s.');
+ setTimeout(that.redirectToLogin, 3000);
+ } else {
+ mod_toastr.error('An error occured. Please try again.');
+ }
+ }
+ })
+ // modification of upper DOM element to show scrollbars due to the #center element inheritance
+ $("#center").css('overflow','auto');
+ },
+
+ render: function (models) {
+ var template = this.templateLibraryList();
+ var libraries_to_render = null;
+
+ if (this.collection !== null && typeof models === 'undefined'){
+ libraries_to_render = this.collection.models;
+ } else if (models !== null){
+ libraries_to_render = models;
+ } else {
+ libraries_to_render = [];
+ }
+
+ this.$el.html(template({libraries: libraries_to_render, order: this.collection.sort_order}));
+
+ },
+
+ /** Sorts the underlying collection according to the parameters received through URL.
+ Currently supports only sorting by name. */
+ sortLibraries: function(sort_by, order){
+ if (sort_by === 'name'){
+ if (order === 'asc'){
+ this.collection.sort_order = 'asc';
+ this.collection.comparator = function(libraryA, libraryB){
+ if (libraryA.get('name').toLowerCase() > libraryB.get('name').toLowerCase()) return 1; // after
+ if (libraryB.get('name').toLowerCase() > libraryA.get('name').toLowerCase()) return -1; // before
+ return 0; // equal
+ }
+ } else if (order === 'desc'){
+ this.collection.sort_order = 'desc';
+ this.collection.comparator = function(libraryA, libraryB){
+ if (libraryA.get('name').toLowerCase() > libraryB.get('name').toLowerCase()) return -1; // before
+ if (libraryB.get('name').toLowerCase() > libraryA.get('name').toLowerCase()) return 1; // after
+ return 0; // equal
+ }
+ }
+ this.collection.sort();
+ }
+
},
// MMMMMMMMMMMMMMMMMM
@@ -809,13 +864,13 @@
templateLibraryList: function(){
tmpl_array = [];
- tmpl_array.push('<div id="library_container" style="width: 90%; margin: auto; margin-top: 2em; overflow: auto !important; ">');
+ tmpl_array.push('<div class="library_container" style="width: 90%; margin: auto; margin-top: 2em; overflow: auto !important; ">');
tmpl_array.push('');
tmpl_array.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');
- // tmpl_array.push('<a href="" id="create_new_library_btn" class="btn btn-primary file ">New Library</a>');
- tmpl_array.push('<table class="table table-condensed">');
+ tmpl_array.push('<a href="" id="create_new_library_btn" class="btn btn-primary file ">New Library</a>');
+ tmpl_array.push('<table class="library_table table table-condensed">');
tmpl_array.push(' <thead>');
- tmpl_array.push(' <th>name</th>');
+ tmpl_array.push(' <th><a title="Click to reverse order" href="#sort/name/<% if(order==="desc"||order===null){print("asc")}else{print("desc")} %>">name</a><span title="Sorted alphabetically" class="fa fa-sort-alpha-<%- order %>"></span></th>');
tmpl_array.push(' <th>description</th>');
tmpl_array.push(' <th>synopsis</th> ');
tmpl_array.push(' </thead>');
@@ -831,7 +886,7 @@
tmpl_array.push('</table>');
tmpl_array.push('</div>');
- return tmpl_array.join('');
+ return _.template(tmpl_array.join(''));
},
templateNewLibraryInModal: function(){
@@ -848,29 +903,6 @@
return tmpl_array.join('');
},
- render: function () {
- // modification of upper DOM element to show scrollbars due to the #center element inheritance
- $("#center").css('overflow','auto');
-
- var that = this;
- libraries = new Libraries();
-
- libraries.fetch({
- success: function (libraries) {
- var template = _.template(that.templateLibraryList(), { libraries : libraries.models });
- that.$el.html(template);
- },
- error: function(model, response){
- if (response.statusCode().status === 403){ //TODO open to public
- mod_toastr.info('Please log in first. Redirecting to login page in 3s.');
- setTimeout(that.redirectToLogin, 3000);
- } else {
- mod_toastr.error('An error occured. Please try again.');
- }
- }
- })
- },
-
redirectToHome: function(){
window.location = '../';
},
@@ -878,9 +910,6 @@
window.location = '/user/login';
},
- // own modal
- modal : null,
-
// show/hide create library modal
show_library_modal : function (event){
event.preventDefault();
@@ -908,6 +937,7 @@
var self = this;
library.save(libraryDetails, {
success: function (library) {
+ self.collection.add(library);
self.modal.hide();
self.clear_library_modal();
self.render();
@@ -945,23 +975,42 @@
}
});
+
+//ROUTER
+var LibraryRouter = Backbone.Router.extend({
+ routes: {
+ "" : "libraries",
+ "sort/:sort_by/:order" : "sort_libraries",
+ "folders/:id" : "folder_content",
+ "folders/:folder_id/download/:format" : "download"
+ }
+});
+
// galaxy library wrapper View
var GalaxyLibrary = Backbone.View.extend({
- folderContentView : null,
- galaxyLibraryview : null,
+ // folderContentView : null,
+ // galaxyLibraryview : null,
initialize : function(){
- folderContentView = new FolderContentView();
galaxyLibraryview = new GalaxyLibraryview();
library_router = new LibraryRouter();
+ folderContentView = new FolderContentView();
library_router.on('route:libraries', function() {
// render libraries list
galaxyLibraryview.render();
});
+ library_router.on('route:sort_libraries', function(sort_by, order) {
+ // sort libraries list
+ galaxyLibraryview.sortLibraries(sort_by, order);
+ galaxyLibraryview.render();
+ });
+
library_router.on('route:folder_content', function(id) {
+ // if (this.folderContentView === null){
+ // }
// render folder's contents
folderContentView.render({id: id});
});
@@ -978,10 +1027,8 @@
}
});
-Backbone.history.start({pushState: false});
-
-// return this
-}
+ Backbone.history.start({pushState: false});
+ }
});
// return
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/scripts/packed/galaxy.library.js
--- a/static/scripts/packed/galaxy.library.js
+++ b/static/scripts/packed/galaxy.library.js
@@ -1,1 +1,1 @@
-var view=null;var library_router=null;var responses=[];define(["galaxy.modal","galaxy.masthead","utils/utils","libs/toastr"],function(k,l,h,n){var f=Backbone.Model.extend({urlRoot:"/api/libraries"});var c=Backbone.Model.extend({urlRoot:"/api/folders"});var o=Backbone.Collection.extend({url:"/api/libraries",model:f});var i=Backbone.Model.extend({urlRoot:"/api/libraries/datasets"});var d=Backbone.Collection.extend({model:i});var e=Backbone.Model.extend({defaults:{folder:new d(),full_path:"unknown",urlRoot:"/api/folders/",id:"unknown"},parse:function(r){this.full_path=r[0].full_path;this.get("folder").reset(r[1].folder_contents);return r}});var b=Backbone.Model.extend({urlRoot:"/api/histories/"});var j=Backbone.Model.extend({url:"/api/histories/"});var p=Backbone.Collection.extend({url:"/api/histories",model:j});var q=Backbone.Router.extend({routes:{"":"libraries","folders/:id":"folder_content","folders/:folder_id/download/:format":"download"}});var m=Backbone.View.extend({el:"#center",progress:0,progressStep:1,lastSelectedHistory:"",modal:null,folders:null,initialize:function(){this.folders=[];this.queue=jQuery.Deferred();this.queue.resolve()},templateFolder:function(){var r=[];r.push('<div id="library_container" style="width: 90%; margin: auto; margin-top: 2em; ">');r.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');r.push('<div id="library_folder_toolbar" >');r.push(' <button id="toolbtn_bulk_import" class="btn btn-primary" style="display: none; margin-left: 0.5em;" type="button"><span class="fa fa-external-link"></span> to history</button>');r.push(' <div id="toolbtn_dl" class="btn-group" style="margin-left: 0.5em; display: none; ">');r.push(' <button id="drop_toggle" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">');r.push(' <span class="fa fa-download"></span> download <span class="caret"></span>');r.push(" </button>");r.push(' <ul class="dropdown-menu" role="menu">');r.push(' <li><a href="#/folders/<%= id %>/download/tgz">.tar.gz</a></li>');r.push(' <li><a href="#/folders/<%= id %>/download/tbz">.tar.bz</a></li>');r.push(' <li><a href="#/folders/<%= id %>/download/zip">.zip</a></li>');r.push(" </ul>");r.push(" </div>");r.push("</div>");r.push('<div class="library_breadcrumb">');r.push('<a title="Return to the list of libraries" href="#">Libraries</a><b>|</b> ');r.push("<% _.each(path, function(path_item) { %>");r.push("<% if (path_item[0] != id) { %>");r.push('<a title="Return to this folder" href="#/folders/<%- path_item[0] %>"><%- path_item[1] %></a><b>|</b> ');r.push("<% } else { %>");r.push('<span title="You are in this folder"><%- path_item[1] %></span>');r.push("<% } %>");r.push("<% }); %>");r.push("</div>");r.push('<table id="folder_table" class="table table-condensed">');r.push(" <thead>");r.push(' <th class="button_heading"></th>');r.push(' <th style="text-align: center; width: 20px; "><input id="select-all-checkboxes" style="margin: 0;" type="checkbox"></th>');r.push(" <th>name</th>");r.push(" <th>data type</th>");r.push(" <th>size</th>");r.push(" <th>date (UTC)</th>");r.push(" </thead>");r.push(" <tbody>");r.push(' <td><button title="Go to parent folder" type="button" data-id="<%- upper_folder_id %>" class="btn_open_folder btn btn-default btn-xs">');r.push(" ..</td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" </tr>");r.push(" <% _.each(items, function(content_item) { %>");r.push(' <tr class="folder_row light" id="<%- content_item.id %>">');r.push(' <% if (content_item.get("type") === "folder") { %>');r.push(" <td>");r.push(' <span class="fa fa-folder-open"></span></td>');r.push(" <td></td>");r.push(' <td><%- content_item.get("name") %>');r.push(' <% if (content_item.get("item_count") === 0) { %>');r.push(' <span class="muted">(empty folder)</span>');r.push(" <% } %>");r.push(" </td>");r.push(" <td>folder</td>");r.push(' <td><%= _.escape(content_item.get("item_count")) %> item(s)</td>');r.push(" <% } else { %>");r.push(" <td>");r.push(' <span class="fa fa-file"></span>');r.push(" </td>");r.push(' <td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>');r.push(' <td><a href="#" class="library-dataset"><%- content_item.get("name") %><a></td>');r.push(' <td><%= _.escape(content_item.get("data_type")) %></td>');r.push(' <td><%= _.escape(content_item.get("readable_size")) %></td>');r.push(" <% } %> ");r.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>');r.push(" </tr>");r.push(" <% }); %>");r.push(" ");r.push(" </tbody>");r.push("</table>");r.push("</div>");return r.join("")},templateDatasetModal:function(){var r=[];r.push('<div id="dataset_info_modal">');r.push(' <table class="table table-striped table-condensed">');r.push(" <tr>");r.push(' <th scope="row" id="id_row" data-id="<%= _.escape(item.get("ldda_id")) %>">Name</th>');r.push(' <td><%= _.escape(item.get("name")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Data type</th>');r.push(' <td><%= _.escape(item.get("data_type")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Genome build</th>');r.push(' <td><%= _.escape(item.get("genome_build")) %></td>');r.push(" </tr>");r.push(' <th scope="row">Size</th>');r.push(" <td><%= _.escape(size) %></td>");r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Date uploaded (UTC)</th>');r.push(' <td><%= _.escape(item.get("date_uploaded")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Uploaded by</th>');r.push(' <td><%= _.escape(item.get("uploaded_by")) %></td>');r.push(" </tr>");r.push(' <tr scope="row">');r.push(' <th scope="row">Data Lines</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_data_lines")) %></td>');r.push(" </tr>");r.push(' <th scope="row">Comment Lines</th>');r.push(' <% if (item.get("metadata_comment_lines") === "") { %>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_comment_lines")) %></td>');r.push(" <% } else { %>");r.push(' <td scope="row">unknown</td>');r.push(" <% } %>");r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Number of Columns</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_columns")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Column Types</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_column_types")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Miscellaneous information</th>');r.push(' <td scope="row"><%= _.escape(item.get("misc_blurb")) %></td>');r.push(" </tr>");r.push(" </table>");r.push(' <pre class="peek">');r.push(" </pre>");r.push("</div>");return r.join("")},templateHistorySelectInModal:function(){var r=[];r.push('<span id="history_modal_combo" style="width:90%; margin-left: 1em; margin-right: 1em; ">');r.push("Select history: ");r.push('<select id="dataset_import_single" name="dataset_import_single" style="width:50%; margin-bottom: 1em; "> ');r.push(" <% _.each(histories, function(history) { %>");r.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');r.push(" <% }); %>");r.push("</select>");r.push("</span>");return r.join("")},templateBulkImportInModal:function(){var r=[];r.push('<span id="history_modal_combo_bulk" style="width:90%; margin-left: 1em; margin-right: 1em; ">');r.push("Select history: ");r.push('<select id="dataset_import_bulk" name="dataset_import_bulk" style="width:50%; margin-bottom: 1em; "> ');r.push(" <% _.each(histories, function(history) { %>");r.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');r.push(" <% }); %>");r.push("</select>");r.push("</span>");return r.join("")},templateProgressBar:function(){var r=[];r.push('<div class="import_text">');r.push("Importing selected datasets to history <b><%= _.escape(history_name) %></b>");r.push("</div>");r.push('<div class="progress">');r.push(' <div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">');r.push(' <span class="completion_span">0% Complete</span>');r.push(" </div>");r.push("</div>");r.push("");return r.join("")},templateNewFolderInModal:function(){tmpl_array=[];tmpl_array.push('<div id="new_folder_modal">');tmpl_array.push("<form>");tmpl_array.push('<input type="text" name="Name" value="" placeholder="Name">');tmpl_array.push('<input type="text" name="Description" value="" placeholder="Description">');tmpl_array.push("</form>");tmpl_array.push("</div>");return tmpl_array.join("")},events:{"click #select-all-checkboxes":"selectAll","click .folder_row":"selectClickedRow","click #toolbtn_bulk_import":"modalBulkImport","click #toolbtn_dl":"bulkDownload","click .library-dataset":"showDatasetDetails","click #toolbtn_create_folder":"createFolderFromModal","click .btn_open_folder":"navigateToFolder"},render:function(r){$("#center").css("overflow","auto");view=this;var t=this;var s=new e({id:r.id});s.url=s.attributes.urlRoot+r.id+"/contents";s.fetch({success:function(u){for(var w=0;w<s.attributes.folder.models.length;w++){var v=s.attributes.folder.models[w];if(v.get("type")==="file"){v.set("readable_size",t.size_to_string(v.get("file_size")))}}var y=s.full_path;var z;if(y.length===1){z=0}else{z=y[y.length-2][0]}var x=_.template(t.templateFolder(),{path:s.full_path,items:s.attributes.folder.models,id:r.id,upper_folder_id:z});t.$el.html(x)},error:function(){n.error("An error occured :(")}})},size_to_string:function(r){var s="";if(r>=100000000000){r=r/100000000000;s="TB"}else{if(r>=100000000){r=r/100000000;s="GB"}else{if(r>=100000){r=r/100000;s="MB"}else{if(r>=100){r=r/100;s="KB"}else{r=r*10;s="b"}}}}return(Math.round(r)/10)+s},navigateToFolder:function(s){var r=$(s.target).attr("data-id");if(typeof r==="undefined"){return false}else{if(r==="0"){library_router.navigate("/",{trigger:true,replace:false})}else{library_router.navigate("folders/"+r,{trigger:true,replace:false})}}},showDatasetDetails:function(u){u.preventDefault();var v=$(u.target).parent().parent().parent().attr("id");if(typeof v==="undefined"){v=$(u.target).parent().attr("id")}if(typeof v==="undefined"){v=$(u.target).parent().parent().attr("id")}var t=new i();var s=new p();t.id=v;var r=this;t.fetch({success:function(w){s.fetch({success:function(x){r.renderModalAfterFetch(w,x)},error:function(){n.error("An error occured during fetching histories:(");r.renderModalAfterFetch(w)}})},error:function(){n.error("An error occured during loading dataset details :(")}})},renderModalAfterFetch:function(w,t){var u=this.size_to_string(w.get("file_size"));var v=_.template(this.templateDatasetModal(),{item:w,size:u});var s=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Dataset Details",body:v,buttons:{Import:function(){s.importCurrentIntoHistory()},Download:function(){s.downloadCurrent()},Close:function(){s.modal.hide()}}});$(".peek").html(w.get("peek"));if(typeof history.models!==undefined){var r=_.template(this.templateHistorySelectInModal(),{histories:t.models});$(this.modal.elMain).find(".buttons").prepend(r);if(s.lastSelectedHistory.length>0){$(this.modal.elMain).find("#dataset_import_single").val(s.lastSelectedHistory)}}},downloadCurrent:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var r=[];r.push($("#id_row").attr("data-id"));var s="/api/libraries/datasets/download/uncompressed";var t={ldda_ids:r};folderContentView.processDownload(s,t);this.modal.enableButton("Import");this.modal.enableButton("Download")},importCurrentIntoHistory:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var t=$(this.modal.elMain).find("select[name=dataset_import_single] option:selected").val();this.lastSelectedHistory=t;var r=$("#id_row").attr("data-id");var u=new b();var s=this;u.url=u.urlRoot+t+"/contents";u.save({content:r,source:"library"},{success:function(){n.success("Dataset imported");s.modal.enableButton("Import");s.modal.enableButton("Download")},error:function(){n.error("An error occured! Dataset not imported. Please try again.");s.modal.enableButton("Import");s.modal.enableButton("Download")}})},selectAll:function(s){var r=s.target.checked;that=this;$(":checkbox").each(function(){this.checked=r;$row=$(this.parentElement.parentElement);(r)?that.makeDarkRow($row):that.makeWhiteRow($row)});this.checkTools()},selectClickedRow:function(s){var u="";var r;var t;if(s.target.localName==="input"){u=s.target;r=$(s.target.parentElement.parentElement);t="input"}else{if(s.target.localName==="td"){u=$("#"+s.target.parentElement.id).find(":checkbox")[0];r=$(s.target.parentElement);t="td"}}if(u===""){s.stopPropagation();return}if(u===undefined){s.stopPropagation();return}if(u.checked){if(t==="td"){u.checked="";this.makeWhiteRow(r)}else{if(t==="input"){this.makeDarkRow(r)}}}else{if(t==="td"){u.checked="selected";this.makeDarkRow(r)}else{if(t==="input"){this.makeWhiteRow(r)}}}this.checkTools()},makeDarkRow:function(r){r.removeClass("light");r.find("a").removeClass("light");r.addClass("dark");r.find("a").addClass("dark")},makeWhiteRow:function(r){r.removeClass("dark");r.find("a").removeClass("dark");r.addClass("light");r.find("a").addClass("light")},checkTools:function(){var r=$("#folder_table").find(":checked");if(r.length>0){$("#toolbtn_bulk_import").show();$("#toolbtn_dl").show()}else{$("#toolbtn_bulk_import").hide();$("#toolbtn_dl").hide()}},modalBulkImport:function(){var s=this;var r=new p();r.fetch({success:function(t){var u=_.template(s.templateBulkImportInModal(),{histories:t.models});s.modal=Galaxy.modal;s.modal.show({closing_events:true,title:"Import into History",body:u,buttons:{Import:function(){s.importAllIntoHistory()},Close:function(){s.modal.hide()}}})},error:function(){n.error("An error occured :(")}})},importAllIntoHistory:function(){this.modal.disableButton("Import");var t=$("select[name=dataset_import_bulk] option:selected").val();var x=$("select[name=dataset_import_bulk] option:selected").text();var z=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){z.push(this.parentElement.parentElement.id)}});var y=_.template(this.templateProgressBar(),{history_name:x});$(this.modal.elMain).find(".modal-body").html(y);var u=100/z.length;this.initProgress(u);var r=[];for(var s=z.length-1;s>=0;s--){library_dataset_id=z[s];var v=new b();var w=this;v.url=v.urlRoot+t+"/contents";v.content=library_dataset_id;v.source="library";r.push(v)}this.chainCall(r)},chainCall:function(s){var r=this;var t=s.pop();if(typeof t==="undefined"){n.success("All datasets imported");this.modal.hide();return}var u=$.when(t.save({content:t.content,source:t.source})).done(function(v){r.updateProgress();responses.push(v);r.chainCall(s)})},initProgress:function(r){this.progress=0;this.progressStep=r},updateProgress:function(){this.progress+=this.progressStep;$(".progress-bar-import").width(Math.round(this.progress)+"%");txt_representation=Math.round(this.progress)+"% Complete";$(".completion_span").text(txt_representation)},download:function(r,v){var t=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){t.push(this.parentElement.parentElement.id)}});var s="/api/libraries/datasets/download/"+v;var u={ldda_ids:t};this.processDownload(s,u,"get")},processDownload:function(s,t,u){if(s&&t){t=typeof t=="string"?t:$.param(t);var r="";$.each(t.split("&"),function(){var v=this.split("=");r+='<input type="hidden" name="'+v[0]+'" value="'+v[1]+'" />'});$('<form action="'+s+'" method="'+(u||"post")+'">'+r+"</form>").appendTo("body").submit().remove();n.info("Your download will begin soon")}},createFolderFromModal:function(){event.preventDefault();event.stopPropagation();var r=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Folder",body:this.templateNewFolderInModal(),buttons:{Create:function(){r.create_new_folder_event()},Close:function(){r.modal.hide();r.modal=null}}})},create_new_folder_event:function(){var r=this.serialize_new_folder();if(this.validate_new_folder(r)){var t=new c();url_items=Backbone.history.fragment.split("/");current_folder_id=url_items[url_items.length-1];t.url=t.urlRoot+"/"+current_folder_id;var s=this;t.save(r,{success:function(u){s.modal.hide();n.success("Folder created");s.render({id:current_folder_id})},error:function(){n.error("An error occured :(")}})}else{n.error("Folder's name is missing")}return false},serialize_new_folder:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val()}},validate_new_folder:function(r){return r.name!==""}});var a=Backbone.View.extend({el:"#center",events:{"click #create_new_library_btn":"show_library_modal"},initialize:function(){},templateLibraryList:function(){tmpl_array=[];tmpl_array.push('<div id="library_container" style="width: 90%; margin: auto; margin-top: 2em; overflow: auto !important; ">');tmpl_array.push("");tmpl_array.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');tmpl_array.push('<table class="table table-condensed">');tmpl_array.push(" <thead>");tmpl_array.push(" <th>name</th>");tmpl_array.push(" <th>description</th>");tmpl_array.push(" <th>synopsis</th> ");tmpl_array.push(" </thead>");tmpl_array.push(" <tbody>");tmpl_array.push(" <% _.each(libraries, function(library) { %>");tmpl_array.push(" <tr>");tmpl_array.push(' <td><a href="#folders/<%- library.get("root_folder_id") %>"><%- library.get("name") %></a></td>');tmpl_array.push(' <td><%= _.escape(library.get("description")) %></td>');tmpl_array.push(' <td><%= _.escape(library.get("synopsis")) %></td>');tmpl_array.push(" </tr>");tmpl_array.push(" <% }); %>");tmpl_array.push(" </tbody>");tmpl_array.push("</table>");tmpl_array.push("</div>");return tmpl_array.join("")},templateNewLibraryInModal:function(){tmpl_array=[];tmpl_array.push('<div id="new_library_modal">');tmpl_array.push(" <form>");tmpl_array.push(' <input type="text" name="Name" value="" placeholder="Name">');tmpl_array.push(' <input type="text" name="Description" value="" placeholder="Description">');tmpl_array.push(' <input type="text" name="Synopsis" value="" placeholder="Synopsis">');tmpl_array.push(" </form>");tmpl_array.push("</div>");return tmpl_array.join("")},render:function(){$("#center").css("overflow","auto");var r=this;libraries=new o();libraries.fetch({success:function(s){var t=_.template(r.templateLibraryList(),{libraries:s.models});r.$el.html(t)},error:function(t,s){if(s.statusCode().status===403){n.info("Please log in first. Redirecting to login page in 3s.");setTimeout(r.redirectToLogin,3000)}else{n.error("An error occured. Please try again.")}}})},redirectToHome:function(){window.location="../"},redirectToLogin:function(){window.location="/user/login"},modal:null,show_library_modal:function(s){s.preventDefault();s.stopPropagation();var r=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Library",body:this.templateNewLibraryInModal(),buttons:{Create:function(){r.create_new_library_event()},Close:function(){r.modal.hide()}}})},create_new_library_event:function(){var t=this.serialize_new_library();if(this.validate_new_library(t)){var s=new f();var r=this;s.save(t,{success:function(u){r.modal.hide();r.clear_library_modal();r.render();n.success("Library created")},error:function(){n.error("An error occured :(")}})}else{n.error("Library's name is missing")}return false},clear_library_modal:function(){$("input[name='Name']").val("");$("input[name='Description']").val("");$("input[name='Synopsis']").val("")},serialize_new_library:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val(),synopsis:$("input[name='Synopsis']").val()}},validate_new_library:function(r){return r.name!==""}});var g=Backbone.View.extend({folderContentView:null,galaxyLibraryview:null,initialize:function(){folderContentView=new m();galaxyLibraryview=new a();library_router=new q();library_router.on("route:libraries",function(){galaxyLibraryview.render()});library_router.on("route:folder_content",function(r){folderContentView.render({id:r})});library_router.on("route:download",function(r,s){if($("#center").find(":checked").length===0){library_router.navigate("folders/"+r,{trigger:true,replace:true})}else{folderContentView.download(r,s);library_router.navigate("folders/"+r,{trigger:false,replace:true})}});Backbone.history.start({pushState:false})}});return{GalaxyApp:g}});
\ No newline at end of file
+var view=null;var library_router=null;var responses=[];define(["galaxy.modal","galaxy.masthead","utils/utils","libs/toastr"],function(k,l,h,n){var f=Backbone.Model.extend({urlRoot:"/api/libraries"});var c=Backbone.Model.extend({urlRoot:"/api/folders"});var o=Backbone.Collection.extend({url:"/api/libraries",model:f,sort_key:"name",sort_order:null,});var i=Backbone.Model.extend({urlRoot:"/api/libraries/datasets"});var d=Backbone.Collection.extend({model:i});var e=Backbone.Model.extend({defaults:{folder:new d(),full_path:"unknown",urlRoot:"/api/folders/",id:"unknown"},parse:function(r){this.full_path=r[0].full_path;this.get("folder").reset(r[1].folder_contents);return r}});var b=Backbone.Model.extend({urlRoot:"/api/histories/"});var j=Backbone.Model.extend({url:"/api/histories/"});var p=Backbone.Collection.extend({url:"/api/histories",model:j});var m=Backbone.View.extend({el:"#center",progress:0,progressStep:1,lastSelectedHistory:"",modal:null,folders:null,initialize:function(){this.folders=[];this.queue=jQuery.Deferred();this.queue.resolve()},templateFolder:function(){var r=[];r.push('<div class="library_container" style="width: 90%; margin: auto; margin-top: 2em; ">');r.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');r.push('<div id="library_folder_toolbar" >');r.push(' <button title="Create New Folder" id="toolbtn_create_folder" class="btn btn-primary" type="button"><span class="fa fa-plus"></span><span class="fa fa-folder-close"></span> folder</button>');r.push(' <button title="Import selected datasets into history" id="toolbtn_bulk_import" class="btn btn-primary" style="display: none; margin-left: 0.5em;" type="button"><span class="fa fa-external-link"></span> to history</button>');r.push(' <div id="toolbtn_dl" class="btn-group" style="margin-left: 0.5em; display: none; ">');r.push(' <button title="Download selected datasets" id="drop_toggle" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">');r.push(' <span class="fa fa-download"></span> download <span class="caret"></span>');r.push(" </button>");r.push(' <ul class="dropdown-menu" role="menu">');r.push(' <li><a href="#/folders/<%= id %>/download/tgz">.tar.gz</a></li>');r.push(' <li><a href="#/folders/<%= id %>/download/tbz">.tar.bz</a></li>');r.push(' <li><a href="#/folders/<%= id %>/download/zip">.zip</a></li>');r.push(" </ul>");r.push(" </div>");r.push("</div>");r.push('<ol class="breadcrumb">');r.push(' <li><a title="Return to the list of libraries" href="#">Libraries</a></li>');r.push(" <% _.each(path, function(path_item) { %>");r.push(" <% if (path_item[0] != id) { %>");r.push(' <li><a title="Return to this folder" href="#/folders/<%- path_item[0] %>"><%- path_item[1] %></a></li> ');r.push("<% } else { %>");r.push(' <li class="active"><span title="You are in this folder"><%- path_item[1] %></span></li>');r.push(" <% } %>");r.push(" <% }); %>");r.push("</ol>");r.push('<table id="folder_table" class="library_table table table-condensed">');r.push(" <thead>");r.push(' <th class="button_heading"></th>');r.push(' <th style="text-align: center; width: 20px; "><input id="select-all-checkboxes" style="margin: 0;" type="checkbox"></th>');r.push(" <th>name</th>");r.push(" <th>data type</th>");r.push(" <th>size</th>");r.push(" <th>date (UTC)</th>");r.push(" </thead>");r.push(" <tbody>");r.push(' <td><a href="#<% if (upper_folder_id !== 0){ print("folders/" + upper_folder_id)} %>" title="Go to parent folder" class="btn_open_folder btn btn-default btn-xs">..<a></td>');r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" </tr>");r.push(" <% _.each(items, function(content_item) { %>");r.push(' <% if (content_item.get("type") === "folder") { %>');r.push(' <tr class="folder_row light" id="<%- content_item.id %>">');r.push(" <td>");r.push(' <span title="Folder" class="fa fa-folder-o"></span>');r.push(" </td>");r.push(" <td></td>");r.push(" <td>");r.push(' <a href="#folders/<%- content_item.id %>"><%- content_item.get("name") %></a>');r.push(' <% if (content_item.get("item_count") === 0) { %>');r.push(' <span class="muted">(empty folder)</span>');r.push(" <% } %>");r.push(" </td>");r.push(" <td>folder</td>");r.push(' <td><%= _.escape(content_item.get("item_count")) %> item(s)</td>');r.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>');r.push(" </tr>");r.push(" <% } else { %>");r.push(' <tr class="dataset_row light" id="<%- content_item.id %>">');r.push(" <td>");r.push(' <span title="Dataset" class="fa fa-file-o"></span>');r.push(" </td>");r.push(' <td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>');r.push(' <td><a href="#" class="library-dataset"><%- content_item.get("name") %><a></td>');r.push(' <td><%= _.escape(content_item.get("data_type")) %></td>');r.push(' <td><%= _.escape(content_item.get("readable_size")) %></td>');r.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>');r.push(" </tr>");r.push(" <% } %> ");r.push(" <% }); %>");r.push(" ");r.push(" </tbody>");r.push("</table>");r.push("</div>");return r.join("")},templateDatasetModal:function(){var r=[];r.push('<div class="modal_table">');r.push(' <table class="table table-striped table-condensed">');r.push(" <tr>");r.push(' <th scope="row" id="id_row" data-id="<%= _.escape(item.get("ldda_id")) %>">Name</th>');r.push(' <td><%= _.escape(item.get("name")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Data type</th>');r.push(' <td><%= _.escape(item.get("data_type")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Genome build</th>');r.push(' <td><%= _.escape(item.get("genome_build")) %></td>');r.push(" </tr>");r.push(' <th scope="row">Size</th>');r.push(" <td><%= _.escape(size) %></td>");r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Date uploaded (UTC)</th>');r.push(' <td><%= _.escape(item.get("date_uploaded")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Uploaded by</th>');r.push(' <td><%= _.escape(item.get("uploaded_by")) %></td>');r.push(" </tr>");r.push(' <tr scope="row">');r.push(' <th scope="row">Data Lines</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_data_lines")) %></td>');r.push(" </tr>");r.push(' <th scope="row">Comment Lines</th>');r.push(' <% if (item.get("metadata_comment_lines") === "") { %>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_comment_lines")) %></td>');r.push(" <% } else { %>");r.push(' <td scope="row">unknown</td>');r.push(" <% } %>");r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Number of Columns</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_columns")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Column Types</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_column_types")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Miscellaneous information</th>');r.push(' <td scope="row"><%= _.escape(item.get("misc_blurb")) %></td>');r.push(" </tr>");r.push(" </table>");r.push(' <pre class="peek">');r.push(" </pre>");r.push("</div>");return r.join("")},templateHistorySelectInModal:function(){var r=[];r.push('<span id="history_modal_combo" style="width:90%; margin-left: 1em; margin-right: 1em; ">');r.push("Select history: ");r.push('<select id="dataset_import_single" name="dataset_import_single" style="width:50%; margin-bottom: 1em; "> ');r.push(" <% _.each(histories, function(history) { %>");r.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');r.push(" <% }); %>");r.push("</select>");r.push("</span>");return r.join("")},templateBulkImportInModal:function(){var r=[];r.push('<span id="history_modal_combo_bulk" style="width:90%; margin-left: 1em; margin-right: 1em; ">');r.push("Select history: ");r.push('<select id="dataset_import_bulk" name="dataset_import_bulk" style="width:50%; margin-bottom: 1em; "> ');r.push(" <% _.each(histories, function(history) { %>");r.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');r.push(" <% }); %>");r.push("</select>");r.push("</span>");return r.join("")},templateProgressBar:function(){var r=[];r.push('<div class="import_text">');r.push("Importing selected datasets to history <b><%= _.escape(history_name) %></b>");r.push("</div>");r.push('<div class="progress">');r.push(' <div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">');r.push(' <span class="completion_span">0% Complete</span>');r.push(" </div>");r.push("</div>");r.push("");return r.join("")},templateNewFolderInModal:function(){tmpl_array=[];tmpl_array.push('<div id="new_folder_modal">');tmpl_array.push("<form>");tmpl_array.push('<input type="text" name="Name" value="" placeholder="Name">');tmpl_array.push('<input type="text" name="Description" value="" placeholder="Description">');tmpl_array.push("</form>");tmpl_array.push("</div>");return tmpl_array.join("")},events:{"click #select-all-checkboxes":"selectAll","click #toolbtn_bulk_import":"modalBulkImport","click #toolbtn_dl":"bulkDownload","click #toolbtn_create_folder":"createFolderFromModal","click .library-dataset":"showDatasetDetails","click .dataset_row":"selectClickedRow"},render:function(r){$("#center").css("overflow","auto");view=this;var t=this;var s=new e({id:r.id});s.url=s.attributes.urlRoot+r.id+"/contents";s.fetch({success:function(u){for(var w=0;w<s.attributes.folder.models.length;w++){var v=s.attributes.folder.models[w];if(v.get("type")==="file"){v.set("readable_size",t.size_to_string(v.get("file_size")))}}var y=s.full_path;var z;if(y.length===1){z=0}else{z=y[y.length-2][0]}var x=_.template(t.templateFolder(),{path:s.full_path,items:s.attributes.folder.models,id:r.id,upper_folder_id:z});t.$el.html(x)},error:function(){n.error("An error occured :(")}})},size_to_string:function(r){var s="";if(r>=100000000000){r=r/100000000000;s="TB"}else{if(r>=100000000){r=r/100000000;s="GB"}else{if(r>=100000){r=r/100000;s="MB"}else{if(r>=100){r=r/100;s="KB"}else{r=r*10;s="b"}}}}return(Math.round(r)/10)+s},showDatasetDetails:function(u){u.preventDefault();var v=$(u.target).parent().parent().parent().attr("id");if(typeof v==="undefined"){v=$(u.target).parent().attr("id")}if(typeof v==="undefined"){v=$(u.target).parent().parent().attr("id")}var t=new i();var s=new p();t.id=v;var r=this;t.fetch({success:function(w){s.fetch({success:function(x){r.renderModalAfterFetch(w,x)},error:function(){n.error("An error occured during fetching histories:(");r.renderModalAfterFetch(w)}})},error:function(){n.error("An error occured during loading dataset details :(")}})},renderModalAfterFetch:function(w,t){var u=this.size_to_string(w.get("file_size"));var v=_.template(this.templateDatasetModal(),{item:w,size:u});var s=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Dataset Details",body:v,buttons:{Import:function(){s.importCurrentIntoHistory()},Download:function(){s.downloadCurrent()},Close:function(){s.modal.hide()}}});$(".peek").html(w.get("peek"));if(typeof history.models!==undefined){var r=_.template(this.templateHistorySelectInModal(),{histories:t.models});$(this.modal.elMain).find(".buttons").prepend(r);if(s.lastSelectedHistory.length>0){$(this.modal.elMain).find("#dataset_import_single").val(s.lastSelectedHistory)}}},downloadCurrent:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var r=[];r.push($("#id_row").attr("data-id"));var s="/api/libraries/datasets/download/uncompressed";var t={ldda_ids:r};folderContentView.processDownload(s,t);this.modal.enableButton("Import");this.modal.enableButton("Download")},importCurrentIntoHistory:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var t=$(this.modal.elMain).find("select[name=dataset_import_single] option:selected").val();this.lastSelectedHistory=t;var r=$("#id_row").attr("data-id");var u=new b();var s=this;u.url=u.urlRoot+t+"/contents";u.save({content:r,source:"library"},{success:function(){n.success("Dataset imported");s.modal.enableButton("Import");s.modal.enableButton("Download")},error:function(){n.error("An error occured! Dataset not imported. Please try again.");s.modal.enableButton("Import");s.modal.enableButton("Download")}})},selectAll:function(s){var r=s.target.checked;that=this;$(":checkbox").each(function(){this.checked=r;$row=$(this.parentElement.parentElement);(r)?that.makeDarkRow($row):that.makeWhiteRow($row)});this.checkTools()},selectClickedRow:function(s){var u="";var r;var t;if(s.target.localName==="input"){u=s.target;r=$(s.target.parentElement.parentElement);t="input"}else{if(s.target.localName==="td"){u=$("#"+s.target.parentElement.id).find(":checkbox")[0];r=$(s.target.parentElement);t="td"}}if(u.checked){if(t==="td"){u.checked="";this.makeWhiteRow(r)}else{if(t==="input"){this.makeDarkRow(r)}}}else{if(t==="td"){u.checked="selected";this.makeDarkRow(r)}else{if(t==="input"){this.makeWhiteRow(r)}}}this.checkTools()},makeDarkRow:function(r){r.removeClass("light");r.find("a").removeClass("light");r.addClass("dark");r.find("a").addClass("dark");r.find("span").removeClass("fa-file-o");r.find("span").addClass("fa-file")},makeWhiteRow:function(r){r.removeClass("dark");r.find("a").removeClass("dark");r.addClass("light");r.find("a").addClass("light");r.find("span").addClass("fa-file-o");r.find("span").removeClass("fa-file")},checkTools:function(){var r=$("#folder_table").find(":checked");if(r.length>0){$("#toolbtn_bulk_import").show();$("#toolbtn_dl").show()}else{$("#toolbtn_bulk_import").hide();$("#toolbtn_dl").hide()}},modalBulkImport:function(){var s=this;var r=new p();r.fetch({success:function(t){var u=_.template(s.templateBulkImportInModal(),{histories:t.models});s.modal=Galaxy.modal;s.modal.show({closing_events:true,title:"Import into History",body:u,buttons:{Import:function(){s.importAllIntoHistory()},Close:function(){s.modal.hide()}}})},error:function(){n.error("An error occured :(")}})},importAllIntoHistory:function(){this.modal.disableButton("Import");var t=$("select[name=dataset_import_bulk] option:selected").val();var x=$("select[name=dataset_import_bulk] option:selected").text();var z=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){z.push(this.parentElement.parentElement.id)}});var y=_.template(this.templateProgressBar(),{history_name:x});$(this.modal.elMain).find(".modal-body").html(y);var u=100/z.length;this.initProgress(u);var r=[];for(var s=z.length-1;s>=0;s--){library_dataset_id=z[s];var v=new b();var w=this;v.url=v.urlRoot+t+"/contents";v.content=library_dataset_id;v.source="library";r.push(v)}this.chainCall(r)},chainCall:function(s){var r=this;var t=s.pop();if(typeof t==="undefined"){n.success("All datasets imported");this.modal.hide();return}var u=$.when(t.save({content:t.content,source:t.source})).done(function(v){r.updateProgress();responses.push(v);r.chainCall(s)})},initProgress:function(r){this.progress=0;this.progressStep=r},updateProgress:function(){this.progress+=this.progressStep;$(".progress-bar-import").width(Math.round(this.progress)+"%");txt_representation=Math.round(this.progress)+"% Complete";$(".completion_span").text(txt_representation)},download:function(r,v){var t=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){t.push(this.parentElement.parentElement.id)}});var s="/api/libraries/datasets/download/"+v;var u={ldda_ids:t};this.processDownload(s,u,"get")},processDownload:function(s,t,u){if(s&&t){t=typeof t=="string"?t:$.param(t);var r="";$.each(t.split("&"),function(){var v=this.split("=");r+='<input type="hidden" name="'+v[0]+'" value="'+v[1]+'" />'});$('<form action="'+s+'" method="'+(u||"post")+'">'+r+"</form>").appendTo("body").submit().remove();n.info("Your download will begin soon")}},createFolderFromModal:function(){event.preventDefault();event.stopPropagation();var r=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Folder",body:this.templateNewFolderInModal(),buttons:{Create:function(){r.create_new_folder_event()},Close:function(){r.modal.hide();r.modal=null}}})},create_new_folder_event:function(){var r=this.serialize_new_folder();if(this.validate_new_folder(r)){var t=new c();url_items=Backbone.history.fragment.split("/");current_folder_id=url_items[url_items.length-1];t.url=t.urlRoot+"/"+current_folder_id;var s=this;t.save(r,{success:function(u){s.modal.hide();n.success("Folder created");s.render({id:current_folder_id})},error:function(){n.error("An error occured :(")}})}else{n.error("Folder's name is missing")}return false},serialize_new_folder:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val()}},validate_new_folder:function(r){return r.name!==""}});var a=Backbone.View.extend({el:"#center",events:{"click #create_new_library_btn":"show_library_modal"},modal:null,collection:null,initialize:function(){var r=this;this.collection=new o();this.collection.fetch({success:function(s){r.render()},error:function(t,s){if(s.statusCode().status===403){n.info("Please log in first. Redirecting to login page in 3s.");setTimeout(that.redirectToLogin,3000)}else{n.error("An error occured. Please try again.")}}});$("#center").css("overflow","auto")},render:function(t){var r=this.templateLibraryList();var s=null;if(this.collection!==null&&typeof t==="undefined"){s=this.collection.models}else{if(t!==null){s=t}else{s=[]}}this.$el.html(r({libraries:s,order:this.collection.sort_order}))},sortLibraries:function(s,r){if(s==="name"){if(r==="asc"){this.collection.sort_order="asc";this.collection.comparator=function(u,t){if(u.get("name").toLowerCase()>t.get("name").toLowerCase()){return 1}if(t.get("name").toLowerCase()>u.get("name").toLowerCase()){return -1}return 0}}else{if(r==="desc"){this.collection.sort_order="desc";this.collection.comparator=function(u,t){if(u.get("name").toLowerCase()>t.get("name").toLowerCase()){return -1}if(t.get("name").toLowerCase()>u.get("name").toLowerCase()){return 1}return 0}}}this.collection.sort()}},templateLibraryList:function(){tmpl_array=[];tmpl_array.push('<div class="library_container" style="width: 90%; margin: auto; margin-top: 2em; overflow: auto !important; ">');tmpl_array.push("");tmpl_array.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');tmpl_array.push('<a href="" id="create_new_library_btn" class="btn btn-primary file ">New Library</a>');tmpl_array.push('<table class="library_table table table-condensed">');tmpl_array.push(" <thead>");tmpl_array.push(' <th><a title="Click to reverse order" href="#sort/name/<% if(order==="desc"||order===null){print("asc")}else{print("desc")} %>">name</a><span title="Sorted alphabetically" class="fa fa-sort-alpha-<%- order %>"></span></th>');tmpl_array.push(" <th>description</th>");tmpl_array.push(" <th>synopsis</th> ");tmpl_array.push(" </thead>");tmpl_array.push(" <tbody>");tmpl_array.push(" <% _.each(libraries, function(library) { %>");tmpl_array.push(" <tr>");tmpl_array.push(' <td><a href="#folders/<%- library.get("root_folder_id") %>"><%- library.get("name") %></a></td>');tmpl_array.push(' <td><%= _.escape(library.get("description")) %></td>');tmpl_array.push(' <td><%= _.escape(library.get("synopsis")) %></td>');tmpl_array.push(" </tr>");tmpl_array.push(" <% }); %>");tmpl_array.push(" </tbody>");tmpl_array.push("</table>");tmpl_array.push("</div>");return _.template(tmpl_array.join(""))},templateNewLibraryInModal:function(){tmpl_array=[];tmpl_array.push('<div id="new_library_modal">');tmpl_array.push(" <form>");tmpl_array.push(' <input type="text" name="Name" value="" placeholder="Name">');tmpl_array.push(' <input type="text" name="Description" value="" placeholder="Description">');tmpl_array.push(' <input type="text" name="Synopsis" value="" placeholder="Synopsis">');tmpl_array.push(" </form>");tmpl_array.push("</div>");return tmpl_array.join("")},redirectToHome:function(){window.location="../"},redirectToLogin:function(){window.location="/user/login"},show_library_modal:function(s){s.preventDefault();s.stopPropagation();var r=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Library",body:this.templateNewLibraryInModal(),buttons:{Create:function(){r.create_new_library_event()},Close:function(){r.modal.hide()}}})},create_new_library_event:function(){var t=this.serialize_new_library();if(this.validate_new_library(t)){var s=new f();var r=this;s.save(t,{success:function(u){r.collection.add(u);r.modal.hide();r.clear_library_modal();r.render();n.success("Library created")},error:function(){n.error("An error occured :(")}})}else{n.error("Library's name is missing")}return false},clear_library_modal:function(){$("input[name='Name']").val("");$("input[name='Description']").val("");$("input[name='Synopsis']").val("")},serialize_new_library:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val(),synopsis:$("input[name='Synopsis']").val()}},validate_new_library:function(r){return r.name!==""}});var q=Backbone.Router.extend({routes:{"":"libraries","sort/:sort_by/:order":"sort_libraries","folders/:id":"folder_content","folders/:folder_id/download/:format":"download"}});var g=Backbone.View.extend({initialize:function(){galaxyLibraryview=new a();library_router=new q();folderContentView=new m();library_router.on("route:libraries",function(){galaxyLibraryview.render()});library_router.on("route:sort_libraries",function(s,r){galaxyLibraryview.sortLibraries(s,r);galaxyLibraryview.render()});library_router.on("route:folder_content",function(r){folderContentView.render({id:r})});library_router.on("route:download",function(r,s){if($("#center").find(":checked").length===0){library_router.navigate("folders/"+r,{trigger:true,replace:true})}else{folderContentView.download(r,s);library_router.navigate("folders/"+r,{trigger:false,replace:true})}});Backbone.history.start({pushState:false})}});return{GalaxyApp:g}});
\ No newline at end of file
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/style/blue/base.css
--- a/static/style/blue/base.css
+++ b/static/style/blue/base.css
@@ -1286,15 +1286,19 @@
div.libraryItemBody{padding:4px 4px 2px 4px}
li.folderRow,li.datasetRow{border-top:solid 1px #c6bfa8}
li.folderRow:hover,li.datasetRow:hover{background-color:#f9f9f9}
+.library_table td{border-top:1px solid #5f6990 !important}
+.library_table th{border-bottom:2px solid #5f6990 !important}
+.library_table a{color:#0A143D}.library_table a:hover{color:maroon}
tr.light td{background-color:white;color:black}
-tr.light:hover td{background-color:#f5f5f5;color:#8389a1}
+tr.light:hover td{background-color:#A2A9C8}
tr.dark td{background-color:#8389a1;color:white}
tr.dark:hover td{background-color:#bbbfd0;color:white}
-a.dark:hover{color:yellow}
a.dark{color:white}
+.modal_table tr{border-bottom:1px solid #5f6990 !important}
+.modal_table th{border:none !important}
+.modal_table td{border:none !important}
th.button_heading{width:2em}
-div.library_breadcrumb{padding-top:0.8em;padding-bottom:0.8em}
-div.library_breadcrumb a:hover{color:green}
+#library_folder_toolbar{margin-bottom:1em}
img.expanderIcon{padding-right:4px}
input.datasetCheckbox,li,ul{padding:0;margin:0}
.rowTitle{padding:2px}
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/style/blue/library.css
--- a/static/style/blue/library.css
+++ b/static/style/blue/library.css
@@ -6,15 +6,19 @@
div.libraryItemBody{padding:4px 4px 2px 4px}
li.folderRow,li.datasetRow{border-top:solid 1px #c6bfa8}
li.folderRow:hover,li.datasetRow:hover{background-color:#f9f9f9}
+.library_table td{border-top:1px solid #5f6990 !important}
+.library_table th{border-bottom:2px solid #5f6990 !important}
+.library_table a{color:#0A143D}.library_table a:hover{color:maroon}
tr.light td{background-color:white;color:black}
-tr.light:hover td{background-color:#f5f5f5;color:#8389a1}
+tr.light:hover td{background-color:#A2A9C8}
tr.dark td{background-color:#8389a1;color:white}
tr.dark:hover td{background-color:#bbbfd0;color:white}
-a.dark:hover{color:yellow}
a.dark{color:white}
+.modal_table tr{border-bottom:1px solid #5f6990 !important}
+.modal_table th{border:none !important}
+.modal_table td{border:none !important}
th.button_heading{width:2em}
-div.library_breadcrumb{padding-top:0.8em;padding-bottom:0.8em}
-div.library_breadcrumb a:hover{color:green}
+#library_folder_toolbar{margin-bottom:1em}
img.expanderIcon{padding-right:4px}
input.datasetCheckbox,li,ul{padding:0;margin:0}
.rowTitle{padding:2px}
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/style/src/less/library.less
--- a/static/style/src/less/library.less
+++ b/static/style/src/less/library.less
@@ -30,6 +30,21 @@
}
+.library_table{
+ td {
+ border-top:1px solid #5f6990 !important;
+ }
+ th {
+ border-bottom: 2px solid #5f6990 !important;
+ }
+ a {
+ color: #0A143D;
+ &:hover{
+ color: maroon;
+ }
+ }
+}
+
tr.light td
{
background-color: white;
@@ -37,8 +52,8 @@
}
tr.light:hover td
{
- background-color: #f5f5f5;
- color: #8389a1;
+ background-color: #A2A9C8;
+ // color: #8389a1;
}
tr.dark td
{
@@ -50,28 +65,42 @@
background-color: #bbbfd0;
color: white;
}
-a.dark:hover
-{
- color: yellow;
- // text-decoration: none;
-}
a.dark
{
color: white;
- // text-decoration: none;
}
+
+
+
+.modal_table{
+ tr {
+ border-bottom: 1px solid #5f6990 !important;
+ }
+ th{
+ border: none !important;
+ }
+ td{
+ border: none !important;
+ }
+}
+
+
+
+
+
+
+
+
+
+
th.button_heading
{
width: 2em;
}
-div.library_breadcrumb{
- padding-top: 0.8em;
- padding-bottom: 0.8em;
+
+#library_folder_toolbar {
+ margin-bottom: 1em;
}
-div.library_breadcrumb a:hover{
- color:green;
-}
-
img.expanderIcon {
padding-right: 4px;
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
0
commit/galaxy-central: dan: remove extraneous comment from 7732e2da1563.
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/bbd48fc01abd/
Changeset: bbd48fc01abd
User: dan
Date: 2014-02-21 16:42:23
Summary: remove extraneous comment from 7732e2da1563.
Affected #: 1 file
diff -r 7732e2da1563682b911e08e445f103e7e58af78b -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 lib/galaxy/tools/parameters/basic.py
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -1781,7 +1781,7 @@
# Both of these values indicate that no dataset is selected. However, 'None'
# indicates that the dataset is optional, while '' indicates that it is not.
none_values = [ None, '', 'None' ]
- if value in none_values:# is None or value == '' or value == 'None':
+ if value in none_values:
return value
if isinstance(value, str) and value.find(",") > -1:
values = value.split(",")
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
0
commit/galaxy-central: dan: More fixes for multiple datasets with None Datasets.
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/7732e2da1563/
Changeset: 7732e2da1563
User: dan
Date: 2014-02-21 16:39:28
Summary: More fixes for multiple datasets with None Datasets.
Affected #: 1 file
diff -r 320dca6064fcbb0381c8d4b75c92c91b02285e2e -r 7732e2da1563682b911e08e445f103e7e58af78b lib/galaxy/tools/parameters/basic.py
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -1780,12 +1780,13 @@
def to_python( self, value, app ):
# Both of these values indicate that no dataset is selected. However, 'None'
# indicates that the dataset is optional, while '' indicates that it is not.
- if value is None or value == '' or value == 'None':
+ none_values = [ None, '', 'None' ]
+ if value in none_values:# is None or value == '' or value == 'None':
return value
if isinstance(value, str) and value.find(",") > -1:
values = value.split(",")
# TODO: Optimize. -John
- return [app.model.context.query( app.model.HistoryDatasetAssociation ).get( int( val ) ) for val in values]
+ return [ app.model.context.query( app.model.HistoryDatasetAssociation ).get( int( val ) ) for val in values if val not in none_values ]
return app.model.context.query( app.model.HistoryDatasetAssociation ).get( int( value ) )
def to_param_dict_string( self, value, other_values={} ):
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
0
commit/galaxy-central: davebgx: Fix missing import in install and test framework.
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/320dca6064fc/
Changeset: 320dca6064fc
User: davebgx
Date: 2014-02-21 14:57:49
Summary: Fix missing import in install and test framework.
Affected #: 2 files
diff -r b706c7c0844f3120952f39d6fc6826e111f267d3 -r 320dca6064fcbb0381c8d4b75c92c91b02285e2e test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
@@ -43,6 +43,7 @@
from galaxy.app import UniverseApplication
from galaxy.util.json import from_json_string
+from galaxy.util import asbool
from galaxy.util import unicodify
from galaxy.web import buildapp
from functional_tests import generate_config_file
diff -r b706c7c0844f3120952f39d6fc6826e111f267d3 -r 320dca6064fcbb0381c8d4b75c92c91b02285e2e test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
@@ -42,6 +42,7 @@
from base.tool_shed_util import parse_tool_panel_config
from galaxy.app import UniverseApplication
+from galaxy.util import asbool
from galaxy.util import unicodify
from galaxy.web import buildapp
from functional_tests import generate_config_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.
1
0
commit/galaxy-central: jmchilton: Add functional tests for @kellrott's workflow usage additions.
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/b706c7c0844f/
Changeset: b706c7c0844f
User: jmchilton
Date: 2014-02-21 03:27:26
Summary: Add functional tests for @kellrott's workflow usage additions.
Affected #: 1 file
diff -r e87d6516105d6def9751cfb6df6e69b23bfacb14 -r b706c7c0844f3120952f39d6fc6826e111f267d3 test/functional/api/test_workflows.py
--- a/test/functional/api/test_workflows.py
+++ b/test/functional/api/test_workflows.py
@@ -103,6 +103,29 @@
pja = pjas[ 0 ]
self._assert_has_keys( pja, "action_type", "output_name", "action_arguments" )
+ def test_invocation_usage( self ):
+ workflow = self.workflow_populator.load_workflow( name="test_usage" )
+ workflow_request, history_id = self._setup_workflow_run( workflow )
+ workflow_id = workflow_request[ "workflow_id" ]
+ response = self._get( "workflows/%s/usage" % workflow_id )
+ self._assert_status_code_is( response, 200 )
+ assert len( response.json() ) == 0
+ run_workflow_response = self._post( "workflows", data=workflow_request )
+ self._assert_status_code_is( run_workflow_response, 200 )
+
+ response = self._get( "workflows/%s/usage" % workflow_id )
+ self._assert_status_code_is( response, 200 )
+ usages = response.json()
+ assert len( usages ) == 1
+
+ usage_details_response = self._get( "workflows/%s/usage/%s" % ( workflow_id, usages[ 0 ][ "id" ] ) )
+ self._assert_status_code_is( usage_details_response, 200 )
+ usage_details = usage_details_response.json()
+ # Assert some high-level things about the structure of data returned.
+ self._assert_has_keys( usage_details, "inputs", "steps" )
+ for step in usage_details[ "steps" ].values():
+ self._assert_has_keys( step, "workflow_step_id", "order_index" )
+
def test_post_job_action( self ):
""" Tests both import and execution of post job actions.
"""
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
0
commit/galaxy-central: kellrott: Merged galaxy/galaxy-central into default
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/b304bf48192e/
Changeset: b304bf48192e
User: kellrott
Date: 2013-06-27 23:05:56
Summary: Merged galaxy/galaxy-central into default
Affected #: 2 files
diff -r 63b58d89dedd942ad9842958476dd9d364fe1fe0 -r b304bf48192eca003b434870f73f324639697c2c lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
--- a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
+++ b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
@@ -1147,8 +1147,6 @@
Inspect the repository dependency hierarchy for a specified repository and attempt to make sure they are all properly installed as well as
each repository's tool dependencies.
"""
- # TODO: figure out how to handle installing repositories and tool dependencies consecutively since each redirects to an ajaxian grid. This
- # is not a problem in that Galaxy API.
message = kwd.get( 'message', '' )
status = kwd.get( 'status', 'done' )
repository_id = kwd.get( 'id', None )
@@ -1160,15 +1158,27 @@
message=message,
status=status ) )
tool_shed_repository = suc.get_installed_tool_shed_repository( trans, repository_id )
+ if kwd.get( 'repair_repository_button', False ):
+ repair_dict = kwd.get( 'repair_dict', None )
+ if not repair_dict:
+ repair_dict = repository_util.get_repair_dict( trans, tool_shed_repository )
+ ordered_tsr_ids = repair_dict.get( 'ordered_tsr_ids', [] )
+ ordered_repo_info_dicts = repair_dict.get( 'ordered_repo_info_dicts', [] )
+ if ordered_tsr_ids and ordered_repo_info_dicts:
+ return trans.response.send_redirect( web.url_for( controller='admin_toolshed',
+ action='manage_repositories',
+ operation='repair',
+ ordered_tsr_ids=ordered_tsr_ids,
+ ordered_repo_info_dicts=ordered_repo_info_dicts ) )
+ tool_shed_repository = suc.get_installed_tool_shed_repository( trans, repository_id )
repair_dict = repository_util.get_repair_dict( trans, tool_shed_repository )
ordered_tsr_ids = repair_dict.get( 'ordered_tsr_ids', [] )
ordered_repo_info_dicts = repair_dict.get( 'ordered_repo_info_dicts', [] )
- if ordered_tsr_ids and ordered_repo_info_dicts:
- return trans.response.send_redirect( web.url_for( controller='admin_toolshed',
- action='manage_repositories',
- operation='repair',
- ordered_tsr_ids=ordered_tsr_ids,
- ordered_repo_info_dicts=ordered_repo_info_dicts ) )
+ return trans.fill_template( 'admin/tool_shed_repository/repair_repository.mako',
+ repository=tool_shed_repository,
+ repair_dict=repair_dict,
+ message=message,
+ status=status )
@web.json
def repository_installation_status_updates( self, trans, ids=None, status_list=None ):
diff -r 63b58d89dedd942ad9842958476dd9d364fe1fe0 -r b304bf48192eca003b434870f73f324639697c2c templates/admin/tool_shed_repository/repair_repository.mako
--- /dev/null
+++ b/templates/admin/tool_shed_repository/repair_repository.mako
@@ -0,0 +1,51 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+<%namespace file="/admin/tool_shed_repository/repository_actions_menu.mako" import="*" />
+
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ ${h.css( "library" )}
+</%def>
+
+<%def name="javascripts()">
+ ${parent.javascripts()}
+</%def>
+
+${render_galaxy_repository_actions( repository )}
+
+%if message:
+ ${render_msg( message, status )}
+%endif
+
+<div class="warningmessage">
+ The following repositories will be inspected and repaired in the order listed to ensure each repository and all of it's tool dependencies are correctly
+ installed. Click <b>Repair</b> to inspect and repair these repositories.
+</div>
+
+<div class="toolForm">
+ <div class="toolFormTitle">Repair tool shed repository '${repository.name}'</div>
+ <br/><br/>
+ <form name="repair_repository" id="repair_repository" action="${h.url_for( controller='admin_toolshed', action='repair_repository', id=trans.security.encode_id( repository.id ), repair_dict=repair_dict )}" method="post" >
+ <% ordered_repo_info_dicts = repair_dict.get( 'ordered_repo_info_dicts', [] ) %>
+ <table class="grid">
+ <tr><th bgcolor="#D8D8D8">Name</th><th bgcolor="#D8D8D8">Owner</th><th bgcolor="#D8D8D8">Changeset revision</th></tr>
+ %for repo_info_dict in ordered_repo_info_dicts:
+ <%
+ for name, repo_info_tuple in repo_info_dict.items():
+ description, repository_clone_url, changeset_revision, ctx_rev, repository_owner, repository_dependencies, tool_dependencies = repo_info_tuple
+ break
+ %>
+ <tr>
+ <td>${name | h}</td>
+ <td>${repository_owner | h}</td>
+ <td>${changeset_revision | h}</td>
+ </tr>
+ %endfor
+ </table>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <input type="submit" name="repair_repository_button" value="Repair"/>
+ </div>
+ </form>
+ </div>
+</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
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/a561dea97563/
Changeset: a561dea97563
Branch: /use-placeholder-instead-of-value-in-html-1392839097891
User: trevorw
Date: 2014-02-19 20:46:26
Summary: use `placeholder` instead of `value` in html5 - editor.mako
Affected #: 1 file
diff -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 -r a561dea97563b04d0cff617f1692ede4438fafe3 templates/webapps/galaxy/workflow/editor.mako
--- a/templates/webapps/galaxy/workflow/editor.mako
+++ b/templates/webapps/galaxy/workflow/editor.mako
@@ -302,7 +302,7 @@
<div class="unified-panel-body" style="overflow: auto;"><div class="toolMenu"><div id="tool-search" style="padding-bottom: 5px; position: relative; display: block; width: 100%">
- <input type="text" name="query" value="search tools" id="tool-search-query" class="search-query parent-width" />
+ <input type="text" name="query" placeholder="search tools" id="tool-search-query" class="search-query parent-width" /><img src="${h.url_for('/static/images/loading_small_white_bg.gif')}" id="search-spinner" class="search-spinner" /></div><div class="toolSectionList">
https://bitbucket.org/galaxy/galaxy-central/commits/65de107dc224/
Changeset: 65de107dc224
User: jmchilton
Date: 2014-02-21 03:25:31
Summary: Merged in trevorw/galaxy-central-1//use-placeholder-instead-of-value-in-html-1392839097891 (pull request #325)
use `placeholder` instead of `value` in html5 - editor.mako
Affected #: 1 file
diff -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f -r 65de107dc224a90943057b9df2b1de521b26544d templates/webapps/galaxy/workflow/editor.mako
--- a/templates/webapps/galaxy/workflow/editor.mako
+++ b/templates/webapps/galaxy/workflow/editor.mako
@@ -302,7 +302,7 @@
<div class="unified-panel-body" style="overflow: auto;"><div class="toolMenu"><div id="tool-search" style="padding-bottom: 5px; position: relative; display: block; width: 100%">
- <input type="text" name="query" value="search tools" id="tool-search-query" class="search-query parent-width" />
+ <input type="text" name="query" placeholder="search tools" id="tool-search-query" class="search-query parent-width" /><img src="${h.url_for('/static/images/loading_small_white_bg.gif')}" id="search-spinner" class="search-spinner" /></div><div class="toolSectionList">
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
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/8bd6b50a9fc1/
Changeset: 8bd6b50a9fc1
User: trevorw
Date: 2014-02-21 01:14:09
Summary: whitespace
Affected #: 7 files
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 8bd6b50a9fc10b334647a5df755d845d341612ee lib/galaxy/datatypes/registry.py
--- a/lib/galaxy/datatypes/registry.py
+++ b/lib/galaxy/datatypes/registry.py
@@ -350,7 +350,7 @@
except Exception, e:
self.log.exception( 'Error calling method %s from class %s: %s', str( datatype_class_name ), str( module ), str( e ) )
ok = False
- if ok:
+ if ok:
if deactivate:
# We are deactivating or uninstalling an installed Tool Shed repository, so eliminate the appropriate sniffers.
sniffer_class = elem.get( 'type', None )
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 8bd6b50a9fc10b334647a5df755d845d341612ee lib/galaxy/model/__init__.py
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -1850,7 +1850,7 @@
if hda.copied_from_library_dataset_dataset_association is not None:
rval['copied_from_ldda_id'] = hda.copied_from_library_dataset_dataset_association.id
-
+
if hda.history is not None:
rval['history_id'] = hda.history.id
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 8bd6b50a9fc10b334647a5df755d845d341612ee lib/galaxy/tools/parameters/basic.py
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -1621,7 +1621,7 @@
if type( value ) != list:
value = [ value ]
field = form_builder.SelectField( self.name, self.multiple, None, self.refresh_on_change, refresh_on_change_values=self.refresh_on_change_values )
-
+
# CRUCIAL: the dataset_collector function needs to be local to DataToolParameter.get_html_field()
def dataset_collector( hdas, parent_hid ):
current_user_roles = trans.get_current_user_roles()
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 8bd6b50a9fc10b334647a5df755d845d341612ee lib/galaxy/tools/parameters/grouping.py
--- a/lib/galaxy/tools/parameters/grouping.py
+++ b/lib/galaxy/tools/parameters/grouping.py
@@ -501,7 +501,7 @@
else:
input.visit_inputs( prefix, value[input.name], callback )
def get_initial_value( self, trans, context, history=None ):
- # State for a conditional is a plain dictionary.
+ # State for a conditional is a plain dictionary.
rval = {}
# Get the default value for the 'test element' and use it
# to determine the current case
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 8bd6b50a9fc10b334647a5df755d845d341612ee lib/galaxy/webapps/galaxy/buildapp.py
--- a/lib/galaxy/webapps/galaxy/buildapp.py
+++ b/lib/galaxy/webapps/galaxy/buildapp.py
@@ -138,9 +138,9 @@
webapp.mapper.resource( 'workflow', 'workflows', path_prefix='/api' )
webapp.mapper.resource_with_deleted( 'history', 'histories', path_prefix='/api' )
webapp.mapper.resource( 'configuration', 'configuration', path_prefix='/api' )
- webapp.mapper.resource( 'datatype',
- 'datatypes',
- path_prefix='/api',
+ webapp.mapper.resource( 'datatype',
+ 'datatypes',
+ path_prefix='/api',
collection={ 'sniffers': 'GET' },
parent_resources=dict( member_name='datatype', collection_name='datatypes' ) )
#webapp.mapper.connect( 'run_workflow', '/api/workflow/{workflow_id}/library/{library_id}', controller='workflows', action='run', workflow_id=None, library_id=None, conditions=dict(method=["GET"]) )
@@ -180,41 +180,41 @@
# ============================
webapp.mapper.connect( 'api_key_retrieval',
- '/api/authenticate/baseauth/',
- controller='authenticate',
- action='get_api_key',
+ '/api/authenticate/baseauth/',
+ controller='authenticate',
+ action='get_api_key',
conditions=dict( method=[ "GET" ] ) )
# =======================
# ===== LIBRARY API =====
# =======================
-
+
webapp.mapper.connect( 'show_lda_item',
- '/api/libraries/datasets/:id',
- controller='lda_datasets',
- action='show',
+ '/api/libraries/datasets/:id',
+ controller='lda_datasets',
+ action='show',
conditions=dict( method=[ "GET" ] ) )
- webapp.mapper.connect( 'download_lda_items',
- '/api/libraries/datasets/download/:format',
- controller='lda_datasets',
- action='download',
+ webapp.mapper.connect( 'download_lda_items',
+ '/api/libraries/datasets/download/:format',
+ controller='lda_datasets',
+ action='download',
conditions=dict( method=[ "POST", "GET" ] ) )
- webapp.mapper.connect( 'create_folder',
- '/api/folders/:encoded_parent_folder_id',
- controller='folders',
- action='create',
+ webapp.mapper.connect( 'create_folder',
+ '/api/folders/:encoded_parent_folder_id',
+ controller='folders',
+ action='create',
conditions=dict( method=[ "POST" ] ) )
webapp.mapper.resource_with_deleted( 'library',
- 'libraries',
+ 'libraries',
path_prefix='/api' )
- webapp.mapper.resource( 'folder',
- 'folders',
+ webapp.mapper.resource( 'folder',
+ 'folders',
path_prefix='/api' )
- webapp.mapper.resource( 'content',
+ webapp.mapper.resource( 'content',
'contents',
controller='folder_contents',
name_prefix='folder_',
@@ -233,9 +233,9 @@
'permissions',
path_prefix='/api/libraries/:library_id',
parent_resources=dict( member_name='library', collection_name='libraries' ) )
-
- webapp.mapper.resource( 'job',
- 'jobs',
+
+ webapp.mapper.resource( 'job',
+ 'jobs',
path_prefix='/api' )
webapp.mapper.connect( 'job_search', '/api/jobs/search', controller='jobs', action='search', conditions=dict( method=['POST'] ) )
@@ -243,7 +243,7 @@
_add_item_extended_metadata_controller( webapp,
name_prefix="library_dataset_",
path_prefix='/api/libraries/:library_id/contents/:library_content_id' )
-
+
_add_item_extended_metadata_controller( webapp,
name_prefix="history_dataset_",
path_prefix='/api/histories/:history_id/contents/:history_content_id' )
@@ -251,14 +251,14 @@
# ====================
# ===== TOOLSHED =====
# ====================
-
+
# Handle displaying tool help images and README file images contained in repositories installed from the tool shed.
webapp.add_route( '/admin_toolshed/static/images/:repository_id/:image_file',
controller='admin_toolshed',
action='display_image_in_repository',
repository_id=None,
image_file=None )
-
+
# Galaxy API for tool shed features.
webapp.mapper.resource( 'tool_shed_repository',
'tool_shed_repositories',
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 8bd6b50a9fc10b334647a5df755d845d341612ee lib/galaxy/webapps/galaxy/controllers/tool_runner.py
--- a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
+++ b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
@@ -239,7 +239,7 @@
Redirects a user accessing a Data Source tool to its target action link.
This method will subvert mix-mode content blocking in several browsers when
accessing non-https data_source tools from an https galaxy server.
-
+
Tested as working on Safari 7.0 and FireFox 26
Subverting did not work on Chrome 31
"""
@@ -255,13 +255,13 @@
trans.log_event( "Tool id '%s' does not exist" % tool_id )
trans.response.status = 404
return "Tool '%s' does not exist, kwd=%s " % ( tool_id, kwd )
-
+
if isinstance( tool, DataSourceTool ):
link = url_for( tool.action, **tool.get_static_param_values( trans ) )
else:
link = url_for( controller='tool_runner', tool_id=tool.id )
return trans.response.send_redirect( link )
-
+
@web.expose
def redirect( self, trans, redirect_url=None, **kwd ):
if not redirect_url:
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 8bd6b50a9fc10b334647a5df755d845d341612ee tools/data_source/upload.py
--- a/tools/data_source/upload.py
+++ b/tools/data_source/upload.py
@@ -126,7 +126,7 @@
elif is_gzipped and is_valid:
if link_data_only == 'copy_files':
# We need to uncompress the temp_name file, but BAM files must remain compressed in the BGZF format
- CHUNK_SIZE = 2**20 # 1Mb
+ CHUNK_SIZE = 2**20 # 1Mb
fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_gunzip_' % dataset.dataset_id, dir=os.path.dirname( output_path ), text=False )
gzipped_file = gzip.GzipFile( dataset.path, 'rb' )
while 1:
@@ -159,7 +159,7 @@
elif is_bzipped and is_valid:
if link_data_only == 'copy_files':
# We need to uncompress the temp_name file
- CHUNK_SIZE = 2**20 # 1Mb
+ CHUNK_SIZE = 2**20 # 1Mb
fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_bunzip2_' % dataset.dataset_id, dir=os.path.dirname( output_path ), text=False )
bzipped_file = bz2.BZ2File( dataset.path, 'rb' )
while 1:
https://bitbucket.org/galaxy/galaxy-central/commits/1f2383ac9a8e/
Changeset: 1f2383ac9a8e
User: jmchilton
Date: 2014-02-21 03:25:04
Summary: Merged in trevorw/galaxy-central (pull request #331)
whitespace
Affected #: 7 files
diff -r d7c8982b89def2729638c5c4fad3fa14325f608e -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f lib/galaxy/datatypes/registry.py
--- a/lib/galaxy/datatypes/registry.py
+++ b/lib/galaxy/datatypes/registry.py
@@ -350,7 +350,7 @@
except Exception, e:
self.log.exception( 'Error calling method %s from class %s: %s', str( datatype_class_name ), str( module ), str( e ) )
ok = False
- if ok:
+ if ok:
if deactivate:
# We are deactivating or uninstalling an installed Tool Shed repository, so eliminate the appropriate sniffers.
sniffer_class = elem.get( 'type', None )
diff -r d7c8982b89def2729638c5c4fad3fa14325f608e -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f lib/galaxy/model/__init__.py
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -1850,7 +1850,7 @@
if hda.copied_from_library_dataset_dataset_association is not None:
rval['copied_from_ldda_id'] = hda.copied_from_library_dataset_dataset_association.id
-
+
if hda.history is not None:
rval['history_id'] = hda.history.id
diff -r d7c8982b89def2729638c5c4fad3fa14325f608e -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f lib/galaxy/tools/parameters/basic.py
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -1621,7 +1621,7 @@
if type( value ) != list:
value = [ value ]
field = form_builder.SelectField( self.name, self.multiple, None, self.refresh_on_change, refresh_on_change_values=self.refresh_on_change_values )
-
+
# CRUCIAL: the dataset_collector function needs to be local to DataToolParameter.get_html_field()
def dataset_collector( hdas, parent_hid ):
current_user_roles = trans.get_current_user_roles()
diff -r d7c8982b89def2729638c5c4fad3fa14325f608e -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f lib/galaxy/tools/parameters/grouping.py
--- a/lib/galaxy/tools/parameters/grouping.py
+++ b/lib/galaxy/tools/parameters/grouping.py
@@ -501,7 +501,7 @@
else:
input.visit_inputs( prefix, value[input.name], callback )
def get_initial_value( self, trans, context, history=None ):
- # State for a conditional is a plain dictionary.
+ # State for a conditional is a plain dictionary.
rval = {}
# Get the default value for the 'test element' and use it
# to determine the current case
diff -r d7c8982b89def2729638c5c4fad3fa14325f608e -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f lib/galaxy/webapps/galaxy/buildapp.py
--- a/lib/galaxy/webapps/galaxy/buildapp.py
+++ b/lib/galaxy/webapps/galaxy/buildapp.py
@@ -138,9 +138,9 @@
webapp.mapper.resource( 'workflow', 'workflows', path_prefix='/api' )
webapp.mapper.resource_with_deleted( 'history', 'histories', path_prefix='/api' )
webapp.mapper.resource( 'configuration', 'configuration', path_prefix='/api' )
- webapp.mapper.resource( 'datatype',
- 'datatypes',
- path_prefix='/api',
+ webapp.mapper.resource( 'datatype',
+ 'datatypes',
+ path_prefix='/api',
collection={ 'sniffers': 'GET' },
parent_resources=dict( member_name='datatype', collection_name='datatypes' ) )
#webapp.mapper.connect( 'run_workflow', '/api/workflow/{workflow_id}/library/{library_id}', controller='workflows', action='run', workflow_id=None, library_id=None, conditions=dict(method=["GET"]) )
@@ -180,41 +180,41 @@
# ============================
webapp.mapper.connect( 'api_key_retrieval',
- '/api/authenticate/baseauth/',
- controller='authenticate',
- action='get_api_key',
+ '/api/authenticate/baseauth/',
+ controller='authenticate',
+ action='get_api_key',
conditions=dict( method=[ "GET" ] ) )
# =======================
# ===== LIBRARY API =====
# =======================
-
+
webapp.mapper.connect( 'show_lda_item',
- '/api/libraries/datasets/:id',
- controller='lda_datasets',
- action='show',
+ '/api/libraries/datasets/:id',
+ controller='lda_datasets',
+ action='show',
conditions=dict( method=[ "GET" ] ) )
- webapp.mapper.connect( 'download_lda_items',
- '/api/libraries/datasets/download/:format',
- controller='lda_datasets',
- action='download',
+ webapp.mapper.connect( 'download_lda_items',
+ '/api/libraries/datasets/download/:format',
+ controller='lda_datasets',
+ action='download',
conditions=dict( method=[ "POST", "GET" ] ) )
- webapp.mapper.connect( 'create_folder',
- '/api/folders/:encoded_parent_folder_id',
- controller='folders',
- action='create',
+ webapp.mapper.connect( 'create_folder',
+ '/api/folders/:encoded_parent_folder_id',
+ controller='folders',
+ action='create',
conditions=dict( method=[ "POST" ] ) )
webapp.mapper.resource_with_deleted( 'library',
- 'libraries',
+ 'libraries',
path_prefix='/api' )
- webapp.mapper.resource( 'folder',
- 'folders',
+ webapp.mapper.resource( 'folder',
+ 'folders',
path_prefix='/api' )
- webapp.mapper.resource( 'content',
+ webapp.mapper.resource( 'content',
'contents',
controller='folder_contents',
name_prefix='folder_',
@@ -233,9 +233,9 @@
'permissions',
path_prefix='/api/libraries/:library_id',
parent_resources=dict( member_name='library', collection_name='libraries' ) )
-
- webapp.mapper.resource( 'job',
- 'jobs',
+
+ webapp.mapper.resource( 'job',
+ 'jobs',
path_prefix='/api' )
webapp.mapper.connect( 'job_search', '/api/jobs/search', controller='jobs', action='search', conditions=dict( method=['POST'] ) )
@@ -243,7 +243,7 @@
_add_item_extended_metadata_controller( webapp,
name_prefix="library_dataset_",
path_prefix='/api/libraries/:library_id/contents/:library_content_id' )
-
+
_add_item_extended_metadata_controller( webapp,
name_prefix="history_dataset_",
path_prefix='/api/histories/:history_id/contents/:history_content_id' )
@@ -251,14 +251,14 @@
# ====================
# ===== TOOLSHED =====
# ====================
-
+
# Handle displaying tool help images and README file images contained in repositories installed from the tool shed.
webapp.add_route( '/admin_toolshed/static/images/:repository_id/:image_file',
controller='admin_toolshed',
action='display_image_in_repository',
repository_id=None,
image_file=None )
-
+
# Galaxy API for tool shed features.
webapp.mapper.resource( 'tool_shed_repository',
'tool_shed_repositories',
diff -r d7c8982b89def2729638c5c4fad3fa14325f608e -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f lib/galaxy/webapps/galaxy/controllers/tool_runner.py
--- a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
+++ b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
@@ -239,7 +239,7 @@
Redirects a user accessing a Data Source tool to its target action link.
This method will subvert mix-mode content blocking in several browsers when
accessing non-https data_source tools from an https galaxy server.
-
+
Tested as working on Safari 7.0 and FireFox 26
Subverting did not work on Chrome 31
"""
@@ -255,13 +255,13 @@
trans.log_event( "Tool id '%s' does not exist" % tool_id )
trans.response.status = 404
return "Tool '%s' does not exist, kwd=%s " % ( tool_id, kwd )
-
+
if isinstance( tool, DataSourceTool ):
link = url_for( tool.action, **tool.get_static_param_values( trans ) )
else:
link = url_for( controller='tool_runner', tool_id=tool.id )
return trans.response.send_redirect( link )
-
+
@web.expose
def redirect( self, trans, redirect_url=None, **kwd ):
if not redirect_url:
diff -r d7c8982b89def2729638c5c4fad3fa14325f608e -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f tools/data_source/upload.py
--- a/tools/data_source/upload.py
+++ b/tools/data_source/upload.py
@@ -126,7 +126,7 @@
elif is_gzipped and is_valid:
if link_data_only == 'copy_files':
# We need to uncompress the temp_name file, but BAM files must remain compressed in the BGZF format
- CHUNK_SIZE = 2**20 # 1Mb
+ CHUNK_SIZE = 2**20 # 1Mb
fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_gunzip_' % dataset.dataset_id, dir=os.path.dirname( output_path ), text=False )
gzipped_file = gzip.GzipFile( dataset.path, 'rb' )
while 1:
@@ -159,7 +159,7 @@
elif is_bzipped and is_valid:
if link_data_only == 'copy_files':
# We need to uncompress the temp_name file
- CHUNK_SIZE = 2**20 # 1Mb
+ CHUNK_SIZE = 2**20 # 1Mb
fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_bunzip2_' % dataset.dataset_id, dir=os.path.dirname( output_path ), text=False )
bzipped_file = bz2.BZ2File( dataset.path, 'rb' )
while 1:
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
0
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/d7c8982b89de/
Changeset: d7c8982b89de
User: guerler
Date: 2014-02-21 02:11:07
Summary: Pack scripts
Affected #: 1 file
diff -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 -r d7c8982b89def2729638c5c4fad3fa14325f608e static/scripts/packed/mvc/ui/ui-portlet.js
--- /dev/null
+++ b/static/scripts/packed/mvc/ui/ui-portlet.js
@@ -0,0 +1,1 @@
+define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,optionsDefault:{label:"",icon:"fa-tasks",buttons:null,body:null,height:null,operations:null,placement:"bottom",overflow:"auto"},$content:null,initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this.template(this.options));this.$content=this.$el.find("#content");if(this.options.height){this.$el.find("#body").css("height",this.options.height);this.$el.find("#content").css("overflow",this.options.overflow)}this.$buttons=$(this.el).find("#buttons");if(this.options.buttons){var c=this;$.each(this.options.buttons,function(e,f){f.$el.prop("id",e);c.$buttons.append(f.$el)})}else{this.$buttons.remove()}this.$operations=$(this.el).find("#operations");if(this.options.operations){var c=this;$.each(this.options.operations,function(e,f){f.$el.prop("id",e);c.$operations.append(f.$el)})}if(this.options.body){this.append(this.options.body)}},append:function(c){this.$content.append(a.wrap(c))},content:function(){return this.$content},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},enableButton:function(c){this.$buttons.find("#"+c).prop("disabled",false)},disableButton:function(c){this.$buttons.find("#"+c).prop("disabled",true)},hideOperation:function(c){this.$operations.find("#"+c).hide()},showOperation:function(c){this.$operations.find("#"+c).show()},setOperation:function(e,d){var c=this.$operations.find("#"+e);c.off("click");c.on("click",d)},label:function(c){var d=this.$el.find("#label");if(c){d.html(c)}return d.html()},template:function(d){var c='<div class="toolForm">';if(d.label||d.icon){c+='<div id="title" class="toolFormTitle" style="overflow:hidden;"><div id="operations" style="float: right;"></div><div style="overflow: hidden">';if(d.icon){c+='<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa '+d.icon+'"> </i>'}c+='<div id="label" style="padding-top: 2px; float: left;">'+d.label+"</div>";c+="</div></div>"}c+='<div id="body" class="toolFormBody">';if(d.placement=="top"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+='<div id="content" class="content" style="height: inherit; padding: 10px;"></div>';if(d.placement=="bottom"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+="</div></div>";return c}});return{View:b}});
\ 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.
1
0
commit/galaxy-central: guerler: Ui: Add portlet to ui library and use it in charts app
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/86f8a8311fec/
Changeset: 86f8a8311fec
User: guerler
Date: 2014-02-21 02:09:44
Summary: Ui: Add portlet to ui library and use it in charts app
Affected #: 29 files
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/app.js
--- a/config/plugins/visualizations/charts/static/app.js
+++ b/config/plugins/visualizations/charts/static/app.js
@@ -1,7 +1,7 @@
// dependencies
-define(['library/portlet', 'library/ui', 'library/utils',
- 'views/charts', 'views/viewport', 'views/chart', 'views/group',
- 'models/config', 'models/datasets', 'models/chart', 'models/charts', 'models/group', 'models/types'],
+define(['mvc/ui/ui-portlet', 'plugin/library/ui', 'utils/utils',
+ 'plugin/views/charts', 'plugin/views/viewport', 'plugin/views/chart', 'plugin/views/group',
+ 'plugin/models/config', 'plugin/models/datasets', 'plugin/models/chart', 'plugin/models/charts', 'plugin/models/group', 'plugin/models/types'],
function( Portlet, Ui, Utils,
ChartsView, ViewportView, ChartView, GroupView,
Config, Datasets, Chart, Charts, Group, Types
@@ -42,7 +42,7 @@
// create portlet
if (!this.options.config.widget) {
- this.portlet = new Portlet({icon : 'fa-bar-chart-o', label : 'Charts'});
+ this.portlet = new Portlet.View({icon : 'fa-bar-chart-o', label : 'Charts'});
} else {
this.portlet = $('<div></div>');
}
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/charts/horizontal.js
--- a/config/plugins/visualizations/charts/static/charts/horizontal.js
+++ b/config/plugins/visualizations/charts/static/charts/horizontal.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// widget
return Backbone.View.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/charts/line.js
--- a/config/plugins/visualizations/charts/static/charts/line.js
+++ b/config/plugins/visualizations/charts/static/charts/line.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// widget
return Backbone.View.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/charts/linewithfocus.js
--- a/config/plugins/visualizations/charts/static/charts/linewithfocus.js
+++ b/config/plugins/visualizations/charts/static/charts/linewithfocus.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// widget
return Backbone.View.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/charts/piechart.js
--- a/config/plugins/visualizations/charts/static/charts/piechart.js
+++ b/config/plugins/visualizations/charts/static/charts/piechart.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// widget
return Backbone.View.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/charts/scatterplot.js
--- a/config/plugins/visualizations/charts/static/charts/scatterplot.js
+++ b/config/plugins/visualizations/charts/static/charts/scatterplot.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// widget
return Backbone.View.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/charts/stackedarea.js
--- a/config/plugins/visualizations/charts/static/charts/stackedarea.js
+++ b/config/plugins/visualizations/charts/static/charts/stackedarea.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// widget
return Backbone.View.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/library/portlet.js
--- a/config/plugins/visualizations/charts/static/library/portlet.js
+++ /dev/null
@@ -1,171 +0,0 @@
-// dependencies
-define(['library/utils'], function(Utils) {
-
-// return
-return Backbone.View.extend(
-{
- // visibility
- visible: false,
-
- // defaults options
- optionsDefault: {
- label : '',
- icon : 'fa-tasks',
- buttons : null,
- body : null,
- height : null,
- operations : null,
- placement : 'bottom',
- overflow : 'auto'
- },
-
- // content
- $content : null,
-
- // initialize
- initialize : function(options) {
- // configure options
- this.options = Utils.merge(options, this.optionsDefault);
-
- // create new element
- this.setElement(this.template(this.options));
-
- // link content
- this.$content = this.$el.find('#content');
-
- // set content height
- if (this.options.height) {
- this.$el.find('#body').css('height', this.options.height);
- this.$el.find('#content').css('overflow', this.options.overflow);
- }
-
- // append buttons
- this.$buttons = $(this.el).find('#buttons');
- if (this.options.buttons) {
- // link functions
- var self = this;
- $.each(this.options.buttons, function(name, item) {
- item.$el.prop('id', name);
- self.$buttons.append(item.$el);
- });
- } else {
- this.$buttons.remove();
- }
-
- // append operations
- this.$operations = $(this.el).find('#operations');
- if (this.options.operations) {
- // link functions
- var self = this;
- $.each(this.options.operations, function(name, item) {
- item.$el.prop('id', name);
- self.$operations.append(item.$el);
- });
- }
-
- // add body
- if(this.options.body) {
- this.append(this.options.body);
- }
- },
-
- // append
- append: function($el) {
- this.$content.append(Utils.wrap($el));
- },
-
- // content
- content: function() {
- return this.$content;
- },
-
- // hide modal
- show: function(){
- // fade in
- this.$el.fadeIn('fast');
-
- // set flag
- this.visible = true;
- },
-
- // hide modal
- hide: function(){
- // fade out
- this.$el.fadeOut('fast');
-
- // set flag
- this.visible = false;
- },
-
- // enable buttons
- enableButton: function(id) {
- this.$buttons.find('#' + id).prop('disabled', false);
- },
-
- // disable buttons
- disableButton: function(id) {
- this.$buttons.find('#' + id).prop('disabled', true);
- },
-
- // enable operation
- hideOperation: function(id) {
- this.$operations.find('#' + id).hide();
- },
-
- // disable operation
- showOperation: function(id) {
- this.$operations.find('#' + id).show();
- },
-
- // set operation
- setOperation: function(id, callback) {
- var $el = this.$operations.find('#' + id);
- $el.off('click');
- $el.on('click', callback);
- },
-
- // label
- label: function(new_label) {
- var $el = this.$el.find('#label');
- if (new_label) {
- $el.html(new_label);
- }
- return $el.html();
- },
-
- // fill regular modal template
- template: function(options) {
- var tmpl = '<div class="toolForm">';
-
- if (options.label || options.icon) {
- tmpl += '<div id="title" class="toolFormTitle" style="overflow:hidden;">' +
- '<div id="operations" style="float: right;"></div>' +
- '<div style="overflow: hidden">';
-
- if (options.icon)
- tmpl += '<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa ' + options.icon + '"> </i>';
-
- tmpl += '<div id="label" style="padding-top: 2px; float: left;">' + options.label + '</div>';
-
- tmpl += '</div>' +
- '</div>';
- }
- tmpl += '<div id="body" class="toolFormBody">';
-
- if (options.placement == 'top') {
- tmpl += '<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>';
- }
-
- tmpl += '<div id="content" class="content" style="height: inherit; padding: 10px;"></div>';
-
- if (options.placement == 'bottom') {
- tmpl += '<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>';
- }
-
- tmpl += '</div>' +
- '</div>';
- return tmpl;
- }
-});
-
-});
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/library/table.js
--- a/config/plugins/visualizations/charts/static/library/table.js
+++ b/config/plugins/visualizations/charts/static/library/table.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// return
return Backbone.View.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/library/ui.js
--- a/config/plugins/visualizations/charts/static/library/ui.js
+++ b/config/plugins/visualizations/charts/static/library/ui.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils', 'library/ui.select'], function(Utils, Select) {
+define(['utils/utils', 'plugin/library/ui.select'], function(Utils, Select) {
// plugin
var Label = Backbone.View.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/library/ui.select.js
--- a/config/plugins/visualizations/charts/static/library/ui.select.js
+++ b/config/plugins/visualizations/charts/static/library/ui.select.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// plugin
return Backbone.View.extend(
@@ -55,7 +55,7 @@
},
// label
- label : function () {
+ text : function () {
return this.$el.find('option:selected').text();
},
@@ -84,7 +84,7 @@
},
// remove
- remove: function(value) {
+ del: function(value) {
// remove option
$(this.el).find('option[value=' + value + ']').remove();
$(this.el).trigger('change');
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/library/utils.js
--- a/config/plugins/visualizations/charts/static/library/utils.js
+++ /dev/null
@@ -1,130 +0,0 @@
-// dependencies
-define([], function() {
-
-// get
-function get (url, success, error) {
- request('GET', url, {}, success, error);
-};
-
-// generic function to send json to url
-function request (method, url, data, success, error) {
-
- // encode data into url
- if (method == 'GET' || method == 'DELETE') {
- url = url + "?" + $.param(data);
- }
-
- // prepare request
- var xhr = new XMLHttpRequest();
- xhr.open(method, url, true);
- xhr.setRequestHeader('Accept', 'application/json');
- xhr.setRequestHeader('Cache-Control', 'no-cache');
- xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
- xhr.setRequestHeader('Content-Type', 'application/json');
- xhr.onloadend = function() {
- var status = xhr.status;
- if (status == 200) {
- try {
- response = jQuery.parseJSON(xhr.responseText);
- } catch (e) {
- response = xhr.responseText;
- }
- success && success(response);
- } else {
- error && error(status);
- }
- };
-
- // make request
- if (method == 'GET' || method == 'DELETE') {
- xhr.send();
- } else {
- xhr.send(JSON.stringify(data));
- }
-};
-
-// merge
-function merge (options, optionsDefault) {
- if (options)
- return _.defaults(options, optionsDefault);
- else
- return optionsDefault;
-};
-
-// get css value
-function cssGetAttribute (classnames, name) {
- if (classnames.length == 0) {
- console.log('cssGetAttribute() : Requires a list of classnames');
- }
-
- // place dummy element
- var el = $('<div class="' + classnames[0] + '"></div>');
- var traverse_el = el;
- for (var i in classnames) {
- traverse_el.append('<div class="' + classnames[i] + '"></div>');
- traverse_el = traverse_el.find('.' + classnames[i]);
- }
-
- // required append
- el.appendTo(':eq(0)');
-
- // get value
- var value = el.css(name);
-
- // remove element
- el.remove();
-
- // return css value
- return value;
-};
-
-// load css
-function cssLoadFile (url) {
- // check if css is already available
- if (!$('link[href^="' + url + '"]').length)
- $('<link href="' + galaxy_config.root + url + '" rel="stylesheet">').appendTo('head');
-};
-
-// unique ide
-function uuid(){
- return (new Date().getTime()).toString(36);
-};
-
-// wrap
-function wrap($el) {
- var wrapper = $('<p></p>');
- wrapper.append($el);
- return wrapper;
-};
-
-// time
-function time() {
- // get date object
- var d = new Date();
-
- // format items
- var hours = (d.getHours() < 10 ? "0" : "") + d.getHours();
- var minutes = (d.getMinutes() < 10 ? "0" : "") + d.getMinutes()
-
- // format final stamp
- var datetime = d.getDate() + "/"
- + (d.getMonth() + 1) + "/"
- + d.getFullYear() + ", "
- + hours + ":"
- + minutes;
- return datetime;
-};
-
-// return
-return {
- cssLoadFile : cssLoadFile,
- cssGetAttribute : cssGetAttribute,
- get : get,
- merge : merge,
- request: request,
- uuid: uuid,
- wrap : wrap,
- time : time
-};
-
-});
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/models/chart.js
--- a/config/plugins/visualizations/charts/static/models/chart.js
+++ b/config/plugins/visualizations/charts/static/models/chart.js
@@ -1,5 +1,5 @@
// dependencies
-define(['models/groups'], function(Groups) {
+define(['plugin/models/groups'], function(Groups) {
// model
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/models/charts.js
--- a/config/plugins/visualizations/charts/static/models/charts.js
+++ b/config/plugins/visualizations/charts/static/models/charts.js
@@ -1,5 +1,5 @@
// dependencies
-define(['models/chart'], function(Chart) {
+define(['plugin/models/chart'], function(Chart) {
// collection
return Backbone.Collection.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/models/datasets.js
--- a/config/plugins/visualizations/charts/static/models/datasets.js
+++ b/config/plugins/visualizations/charts/static/models/datasets.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/utils'], function(Utils) {
+define(['utils/utils'], function(Utils) {
// widget
return Backbone.Model.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/models/groups.js
--- a/config/plugins/visualizations/charts/static/models/groups.js
+++ b/config/plugins/visualizations/charts/static/models/groups.js
@@ -1,5 +1,5 @@
// dependencies
-define(['models/group'], function(Group) {
+define(['plugin/models/group'], function(Group) {
// collection
return Backbone.Collection.extend(
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/views/chart.js
--- a/config/plugins/visualizations/charts/static/views/chart.js
+++ b/config/plugins/visualizations/charts/static/views/chart.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/portlet', 'library/table', 'library/ui', 'library/utils', 'models/chart', 'views/groups'],
+define(['mvc/ui/ui-portlet', 'plugin/library/table', 'plugin/library/ui', 'utils/utils', 'plugin/models/chart', 'plugin/views/groups'],
function(Portlet, Table, Ui, Utils, Chart, GroupsView) {
// widget
@@ -82,7 +82,7 @@
// add table to portlet
var self = this;
- this.portlet = new Portlet({
+ this.portlet = new Portlet.View({
icon : 'fa-edit',
label : 'Create a new chart:',
operations : {
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/views/charts.js
--- a/config/plugins/visualizations/charts/static/views/charts.js
+++ b/config/plugins/visualizations/charts/static/views/charts.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/portlet', 'library/table', 'library/ui', 'library/utils'], function(Portlet, Table, Ui, Utils) {
+define(['mvc/ui/ui-portlet', 'plugin/library/table', 'plugin/library/ui', 'utils/utils'], function(Portlet, Table, Ui, Utils) {
// widget
return Backbone.View.extend(
@@ -31,7 +31,7 @@
// add table to portlet
var self = this;
- this.portlet = new Portlet({
+ this.portlet = new Portlet.View({
icon : 'fa-list',
label : 'List of created charts:',
height : 100,
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/views/group.js
--- a/config/plugins/visualizations/charts/static/views/group.js
+++ b/config/plugins/visualizations/charts/static/views/group.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/portlet', 'library/table', 'library/ui', 'library/utils'],
+define(['mvc/ui/ui-portlet', 'plugin/library/table', 'plugin/library/ui', 'utils/utils'],
function(Portlet, Table, Ui, Utils) {
// chart config
@@ -24,7 +24,7 @@
// add table to portlet
var self = this;
- this.portlet = new Portlet({
+ this.portlet = new Portlet.View({
icon : 'fa-edit',
label : 'Define group properties:',
operations : {
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/views/groups.js
--- a/config/plugins/visualizations/charts/static/views/groups.js
+++ b/config/plugins/visualizations/charts/static/views/groups.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/portlet', 'library/table', 'library/ui', 'library/utils'], function(Portlet, Table, Ui, Utils) {
+define(['mvc/ui/ui-portlet', 'plugin/library/table', 'plugin/library/ui', 'utils/utils'], function(Portlet, Table, Ui, Utils) {
// chart config
return Backbone.View.extend(
@@ -28,7 +28,7 @@
// add table to portlet
var self = this;
- this.portlet = new Portlet({
+ this.portlet = new Portlet.View({
icon : '',
label : 'Select data columns:',
height : 100,
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/static/views/viewport.js
--- a/config/plugins/visualizations/charts/static/views/viewport.js
+++ b/config/plugins/visualizations/charts/static/views/viewport.js
@@ -1,5 +1,5 @@
// dependencies
-define(['library/portlet', 'library/ui', 'library/utils'],
+define(['mvc/ui/ui-portlet', 'plugin/library/ui', 'utils/utils'],
function(Portlet, Ui, Utils) {
// widget
@@ -24,7 +24,7 @@
this.options = Utils.merge(options, this.optionsDefault);
// add table to portlet
- this.portlet = new Portlet({
+ this.portlet = new Portlet.View({
label : '',
icon : 'fa-signal',
height : this.options.height,
@@ -121,7 +121,7 @@
// create chart view
var self = this;
- require(['charts/' + chart_type], function(ChartView) {
+ require(['plugin/charts/' + chart_type], function(ChartView) {
// create chart
var view = new ChartView(self.app, {svg_id : svg_id, chart : chart});
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 config/plugins/visualizations/charts/templates/charts.mako
--- a/config/plugins/visualizations/charts/templates/charts.mako
+++ b/config/plugins/visualizations/charts/templates/charts.mako
@@ -47,7 +47,10 @@
// configure require
require.config({
- baseUrl: config.root + "plugins/visualizations/charts/static/",
+ baseUrl: config.root + "static/scripts/",
+ paths: {
+ "plugin": config.root + "plugins/visualizations/charts/static/"
+ },
shim: {
"libs/underscore": { exports: "_" },
"libs/backbone/backbone": { exports: "Backbone" }
@@ -58,7 +61,7 @@
var app = null;
$(function() {
// request application script
- require(['app'], function(App) {
+ require(['plugin/app'], function(App) {
// load options
var options = {
config : ${h.to_json_string( config )},
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 static/scripts/mvc/ui/ui-portlet.js
--- /dev/null
+++ b/static/scripts/mvc/ui/ui-portlet.js
@@ -0,0 +1,175 @@
+// dependencies
+define(['utils/utils'], function(Utils) {
+
+// return
+var View = Backbone.View.extend(
+{
+ // visibility
+ visible: false,
+
+ // defaults options
+ optionsDefault: {
+ label : '',
+ icon : 'fa-tasks',
+ buttons : null,
+ body : null,
+ height : null,
+ operations : null,
+ placement : 'bottom',
+ overflow : 'auto'
+ },
+
+ // content
+ $content : null,
+
+ // initialize
+ initialize : function(options) {
+ // configure options
+ this.options = Utils.merge(options, this.optionsDefault);
+
+ // create new element
+ this.setElement(this.template(this.options));
+
+ // link content
+ this.$content = this.$el.find('#content');
+
+ // set content height
+ if (this.options.height) {
+ this.$el.find('#body').css('height', this.options.height);
+ this.$el.find('#content').css('overflow', this.options.overflow);
+ }
+
+ // append buttons
+ this.$buttons = $(this.el).find('#buttons');
+ if (this.options.buttons) {
+ // link functions
+ var self = this;
+ $.each(this.options.buttons, function(name, item) {
+ item.$el.prop('id', name);
+ self.$buttons.append(item.$el);
+ });
+ } else {
+ this.$buttons.remove();
+ }
+
+ // append operations
+ this.$operations = $(this.el).find('#operations');
+ if (this.options.operations) {
+ // link functions
+ var self = this;
+ $.each(this.options.operations, function(name, item) {
+ item.$el.prop('id', name);
+ self.$operations.append(item.$el);
+ });
+ }
+
+ // add body
+ if(this.options.body) {
+ this.append(this.options.body);
+ }
+ },
+
+ // append
+ append: function($el) {
+ this.$content.append(Utils.wrap($el));
+ },
+
+ // content
+ content: function() {
+ return this.$content;
+ },
+
+ // hide modal
+ show: function(){
+ // fade in
+ this.$el.fadeIn('fast');
+
+ // set flag
+ this.visible = true;
+ },
+
+ // hide modal
+ hide: function(){
+ // fade out
+ this.$el.fadeOut('fast');
+
+ // set flag
+ this.visible = false;
+ },
+
+ // enable buttons
+ enableButton: function(id) {
+ this.$buttons.find('#' + id).prop('disabled', false);
+ },
+
+ // disable buttons
+ disableButton: function(id) {
+ this.$buttons.find('#' + id).prop('disabled', true);
+ },
+
+ // enable operation
+ hideOperation: function(id) {
+ this.$operations.find('#' + id).hide();
+ },
+
+ // disable operation
+ showOperation: function(id) {
+ this.$operations.find('#' + id).show();
+ },
+
+ // set operation
+ setOperation: function(id, callback) {
+ var $el = this.$operations.find('#' + id);
+ $el.off('click');
+ $el.on('click', callback);
+ },
+
+ // label
+ label: function(new_label) {
+ var $el = this.$el.find('#label');
+ if (new_label) {
+ $el.html(new_label);
+ }
+ return $el.html();
+ },
+
+ // fill regular modal template
+ template: function(options) {
+ var tmpl = '<div class="toolForm">';
+
+ if (options.label || options.icon) {
+ tmpl += '<div id="title" class="toolFormTitle" style="overflow:hidden;">' +
+ '<div id="operations" style="float: right;"></div>' +
+ '<div style="overflow: hidden">';
+
+ if (options.icon)
+ tmpl += '<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa ' + options.icon + '"> </i>';
+
+ tmpl += '<div id="label" style="padding-top: 2px; float: left;">' + options.label + '</div>';
+
+ tmpl += '</div>' +
+ '</div>';
+ }
+ tmpl += '<div id="body" class="toolFormBody">';
+
+ if (options.placement == 'top') {
+ tmpl += '<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>';
+ }
+
+ tmpl += '<div id="content" class="content" style="height: inherit; padding: 10px;"></div>';
+
+ if (options.placement == 'bottom') {
+ tmpl += '<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>';
+ }
+
+ tmpl += '</div>' +
+ '</div>';
+ return tmpl;
+ }
+});
+
+return {
+ View : View
+}
+
+});
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 static/scripts/mvc/upload/upload-ftp.js
--- a/static/scripts/mvc/upload/upload-ftp.js
+++ b/static/scripts/mvc/upload/upload-ftp.js
@@ -21,7 +21,7 @@
this.setElement(this._template());
// load extension
- Utils.jsonFromUrl(galaxy_config.root + 'api/ftp_files', function(ftp_files) { self._fill(ftp_files); });
+ Utils.get(galaxy_config.root + 'api/ftp_files', function(ftp_files) { self._fill(ftp_files); });
},
// events
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 static/scripts/mvc/upload/upload-view.js
--- a/static/scripts/mvc/upload/upload-view.js
+++ b/static/scripts/mvc/upload/upload-view.js
@@ -112,7 +112,7 @@
// load extension
var self = this;
- Utils.jsonFromUrl(galaxy_config.root + "api/datatypes?extension_only=False",
+ Utils.get(galaxy_config.root + "api/datatypes?extension_only=False",
function(datatypes) {
for (key in datatypes) {
self.list_extensions.push({
@@ -135,7 +135,7 @@
});
// load genomes
- Utils.jsonFromUrl(galaxy_config.root + "api/genomes",
+ Utils.get(galaxy_config.root + "api/genomes",
function(genomes) {
for (key in genomes) {
self.list_genomes.push({
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 static/scripts/packed/mvc/upload/upload-ftp.js
--- a/static/scripts/packed/mvc/upload/upload-ftp.js
+++ b/static/scripts/packed/mvc/upload/upload-ftp.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){return Backbone.View.extend({options:{class_add:"upload-icon-button fa fa-square-o",class_remove:"upload-icon-button fa fa-check-square-o"},initialize:function(c){this.app=c;var b=this;this.setElement(this._template());a.jsonFromUrl(galaxy_config.root+"api/ftp_files",function(d){b._fill(d)})},events:{mousedown:function(b){b.preventDefault()}},_fill:function(c){if(c.length>0){this.$el.find("#upload-ftp-content").html($(this._template_table()));var b=0;for(key in c){this.add(c[key]);b+=c[key].size}this.$el.find("#upload-ftp-number").html(c.length+" files");this.$el.find("#upload-ftp-disk").html(a.bytesToString(b,true))}else{this.$el.find("#upload-ftp-content").html($(this._template_info()))}this.$el.find("#upload-ftp-wait").hide()},add:function(e){var d=$(this._template_row(e));$(this.el).find("tbody").append(d);var c="";if(this._find(e)){c=this.options.class_remove}else{c=this.options.class_add}d.find("#upload-ftp-add").addClass(c);var b=this;d.find("#upload-ftp-add").on("click",function(){var f=b._find(e);$(this).removeClass();if(!f){b.app.uploadbox.add([{mode:"ftp",name:e.path,size:e.size,path:e.path}]);$(this).addClass(b.options.class_remove)}else{b.app.collection.remove(f);$(this).addClass(b.options.class_add)}})},_find:function(f){var c=this.app.collection.where({file_path:f.path});var b=null;for(var d in c){var e=c[d];if(e.get("status")=="init"&&e.get("file_mode")=="ftp"){b=e.get("id")}}return b},_template_row:function(b){return'<tr><td><div id="upload-ftp-add"/></td><td>'+b.path+'</td><td style="white-space: nowrap;">'+a.bytesToString(b.size)+'</td><td style="white-space: nowrap;">'+b.ctime+"</td></tr>"},_template_table:function(){return'<span style="whitespace: nowrap; float: left;">Available files: </span><span style="whitespace: nowrap; float: right;"><span class="upload-icon fa fa-file-text-o"/><span id="upload-ftp-number"/> <span class="upload-icon fa fa-hdd-o"/><span id="upload-ftp-disk"/></span><table class="grid" style="float: left;"><thead><tr><th></th><th>Name</th><th>Size</th><th>Created</th></tr></thead><tbody></tbody></table>'},_template_info:function(){return'<div class="upload-ftp-warning warningmessage">Your FTP directory does not contain any files.</div>'},_template:function(){return'<div class="upload-ftp"><div id="upload-ftp-wait" class="upload-ftp-wait fa fa-spinner fa-spin"/><div class="upload-ftp-help">This Galaxy server allows you to upload files via FTP. To upload some files, log in to the FTP server at <strong>'+this.app.options.ftp_upload_site+'</strong> using your Galaxy credentials (email address and password).</div><div id="upload-ftp-content"></div><div>'}})});
\ No newline at end of file
+define(["utils/utils"],function(a){return Backbone.View.extend({options:{class_add:"upload-icon-button fa fa-square-o",class_remove:"upload-icon-button fa fa-check-square-o"},initialize:function(c){this.app=c;var b=this;this.setElement(this._template());a.get(galaxy_config.root+"api/ftp_files",function(d){b._fill(d)})},events:{mousedown:function(b){b.preventDefault()}},_fill:function(c){if(c.length>0){this.$el.find("#upload-ftp-content").html($(this._template_table()));var b=0;for(key in c){this.add(c[key]);b+=c[key].size}this.$el.find("#upload-ftp-number").html(c.length+" files");this.$el.find("#upload-ftp-disk").html(a.bytesToString(b,true))}else{this.$el.find("#upload-ftp-content").html($(this._template_info()))}this.$el.find("#upload-ftp-wait").hide()},add:function(e){var d=$(this._template_row(e));$(this.el).find("tbody").append(d);var c="";if(this._find(e)){c=this.options.class_remove}else{c=this.options.class_add}d.find("#upload-ftp-add").addClass(c);var b=this;d.find("#upload-ftp-add").on("click",function(){var f=b._find(e);$(this).removeClass();if(!f){b.app.uploadbox.add([{mode:"ftp",name:e.path,size:e.size,path:e.path}]);$(this).addClass(b.options.class_remove)}else{b.app.collection.remove(f);$(this).addClass(b.options.class_add)}})},_find:function(f){var c=this.app.collection.where({file_path:f.path});var b=null;for(var d in c){var e=c[d];if(e.get("status")=="init"&&e.get("file_mode")=="ftp"){b=e.get("id")}}return b},_template_row:function(b){return'<tr><td><div id="upload-ftp-add"/></td><td>'+b.path+'</td><td style="white-space: nowrap;">'+a.bytesToString(b.size)+'</td><td style="white-space: nowrap;">'+b.ctime+"</td></tr>"},_template_table:function(){return'<span style="whitespace: nowrap; float: left;">Available files: </span><span style="whitespace: nowrap; float: right;"><span class="upload-icon fa fa-file-text-o"/><span id="upload-ftp-number"/> <span class="upload-icon fa fa-hdd-o"/><span id="upload-ftp-disk"/></span><table class="grid" style="float: left;"><thead><tr><th></th><th>Name</th><th>Size</th><th>Created</th></tr></thead><tbody></tbody></table>'},_template_info:function(){return'<div class="upload-ftp-warning warningmessage">Your FTP directory does not contain any files.</div>'},_template:function(){return'<div class="upload-ftp"><div id="upload-ftp-wait" class="upload-ftp-wait fa fa-spinner fa-spin"/><div class="upload-ftp-help">This Galaxy server allows you to upload files via FTP. To upload some files, log in to the FTP server at <strong>'+this.app.options.ftp_upload_site+'</strong> using your Galaxy credentials (email address and password).</div><div id="upload-ftp-content"></div><div>'}})});
\ No newline at end of file
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 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-button","mvc/upload/upload-model","mvc/upload/upload-row","mvc/upload/upload-ftp","mvc/ui/ui-popover","mvc/ui","utils/uploadbox"],function(a,f,e,c,b,g,d){return Backbone.View.extend({options:{nginx_upload_path:""},modal:null,ui_button:null,uploadbox:null,current_history:null,upload_size:0,list_extensions:[],list_genomes:[],auto:{id:"auto",text:"Auto-detect",description:"This system will try to detect the file type automatically. If your file is not detected properly as one of the known formats, it most likely means that it has some format problems (e.g., different number of columns on different rows). You can still coerce the system to set your data to the format you think it should be. You can also upload compressed files, which will automatically be decompressed."},collection:new c.Collection(),ftp:null,counter:{announce:0,success:0,error:0,running:0,reset:function(){this.announce=this.success=this.error=this.running=0}},initialize:function(i){var h=this;if(i){this.options=_.defaults(i,this.options)}if(!Galaxy.currHistoryPanel||!Galaxy.currHistoryPanel.model){window.setTimeout(function(){h.initialize()},500);return}this.ui_button=new e.Model({icon:"fa-upload",tooltip:"Download from URL or upload files from disk",label:"Load Data",onclick:function(j){if(j){h._eventShow(j)}},onunload:function(){if(h.counter.running>0){return"Several uploads are still processing."}}});$("#left .unified-panel-header-inner").append((new e.View(this.ui_button)).$el);var h=this;f.jsonFromUrl(galaxy_config.root+"api/datatypes?extension_only=False",function(j){for(key in j){h.list_extensions.push({id:j[key].extension,text:j[key].extension,description:j[key].description,description_url:j[key].description_url})}h.list_extensions.sort(function(l,k){return l.id>k.id?1:l.id<k.id?-1:0});if(!h.options.datatypes_disable_auto){h.list_extensions.unshift(h.auto)}});f.jsonFromUrl(galaxy_config.root+"api/genomes",function(j){for(key in j){h.list_genomes.push({id:j[key][1],text:j[key][0]})}h.list_genomes.sort(function(l,k){return l.id>k.id?1:l.id<k.id?-1:0})});this.collection.on("remove",function(j){h._eventRemove(j)});this.collection.on("change:genome",function(k){var j=k.get("genome");h.collection.each(function(l){if(l.get("status")=="init"&&l.get("genome")=="?"){l.set("genome",j)}})})},_eventShow:function(j){j.preventDefault();if(!this.modal){var h=this;this.modal=new a.GalaxyModal({title:"Download data directly from web or upload files from your disk",body:this._template("upload-box","upload-info"),buttons:{"Choose local file":function(){h.uploadbox.select()},"Choose FTP file":function(){h._eventFtp()},"Paste/Fetch data":function(){h._eventCreate()},Start:function(){h._eventStart()},Pause:function(){h._eventStop()},Reset:function(){h._eventReset()},Close:function(){h.modal.hide()},},height:"400",width:"900",closing_events:true});this.setElement("#upload-box");var h=this;this.uploadbox=this.$el.uploadbox({announce:function(k,l,m){h._eventAnnounce(k,l,m)},initialize:function(k,l,m){return h._eventInitialize(k,l,m)},progress:function(k,l,m){h._eventProgress(k,l,m)},success:function(k,l,m){h._eventSuccess(k,l,m)},error:function(k,l,m){h._eventError(k,l,m)},complete:function(){h._eventComplete()}});var i=this.modal.getButton("Choose FTP file");this.ftp=new d.View({title:"FTP files",container:i})}this.modal.show();this._updateUser();this._updateScreen()},_eventRemove:function(i){var h=i.get("status");if(h=="success"){this.counter.success--}else{if(h=="error"){this.counter.error--}else{this.counter.announce--}}this._updateScreen();this.uploadbox.remove(i.id)},_eventAnnounce:function(h,i,k){this.counter.announce++;this._updateScreen();var j=new b(this,{id:h,file_name:i.name,file_size:i.size,file_mode:i.mode,file_path:i.path});this.collection.add(j.model);$(this.el).find("tbody:first").append(j.$el);j.render()},_eventInitialize:function(m,j,s){var k=this.collection.get(m);k.set("status","running");var o=k.get("file_name");var n=k.get("file_path");var h=k.get("file_mode");var p=k.get("extension");var r=k.get("genome");var q=k.get("url_paste");var l=k.get("space_to_tabs");var i=k.get("to_posix_lines");if(!q&&!(j.size>0)){return null}this.uploadbox.configure({url:this.options.nginx_upload_path});if(h=="local"){this.uploadbox.configure({paramname:"files_0|file_data"})}else{this.uploadbox.configure({paramname:null})}tool_input={};if(h=="new"){tool_input["files_0|url_paste"]=q}if(h=="ftp"){tool_input["files_0|ftp_files"]=n}tool_input.dbkey=r;tool_input.file_type=p;tool_input["files_0|type"]="upload_dataset";tool_input.space_to_tabs=l;tool_input.to_posix_lines=i;data={};data.history_id=this.current_history;data.tool_id="upload1";data.inputs=JSON.stringify(tool_input);return data},_eventProgress:function(i,j,h){var k=this.collection.get(i);k.set("percentage",h);this.ui_button.set("percentage",this._upload_percentage(h,j.size))},_eventSuccess:function(i,j,l){var k=this.collection.get(i);k.set("percentage",100);k.set("status","success");var h=k.get("file_size");this.ui_button.set("percentage",this._upload_percentage(100,h));this.upload_completed+=h*100;this.counter.announce--;this.counter.success++;this._updateScreen();Galaxy.currHistoryPanel.refreshHdas()},_eventError:function(h,i,k){var j=this.collection.get(h);j.set("percentage",100);j.set("status","error");j.set("info",k);this.ui_button.set("percentage",this._upload_percentage(100,i.size));this.ui_button.set("status","danger");this.upload_completed+=i.size*100;this.counter.announce--;this.counter.error++;this._updateScreen()},_eventComplete:function(){this.collection.each(function(h){if(h.get("status")=="queued"){h.set("status","init")}});this.counter.running=0;this._updateScreen()},_eventFtp:function(){if(!this.ftp.visible){this.ftp.empty();this.ftp.append((new g(this)).$el);this.ftp.show()}else{this.ftp.hide()}},_eventCreate:function(){this.uploadbox.add([{name:"New File",size:0,mode:"new"}])},_eventStart:function(){if(this.counter.announce==0||this.counter.running>0){return}var h=this;this.upload_size=0;this.upload_completed=0;this.collection.each(function(i){if(i.get("status")=="init"){i.set("status","queued");h.upload_size+=i.get("file_size")}});this.ui_button.set("percentage",0);this.ui_button.set("status","success");this.counter.running=this.counter.announce;this._updateScreen();this.uploadbox.start()},_eventStop:function(){if(this.counter.running==0){return}this.ui_button.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.ui_button.set("percentage",0)}},_updateUser:function(){this.current_user=Galaxy.currUser.get("id");this.current_history=null;if(this.current_user){this.current_history=Galaxy.currHistoryPanel.model.get("id")}},_updateScreen:function(){if(this.counter.announce==0){if(this.uploadbox.compatible()){message="You can Drag & Drop files into this box."}else{message="Unfortunately, your browser does not support multiple file uploads or drag&drop.<br>Some supported browsers are: 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 'Start' 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("Start")}else{this.modal.disableButton("Start")}if(this.counter.running>0){this.modal.enableButton("Pause")}else{this.modal.disableButton("Pause")}if(this.counter.running==0){this.modal.enableButton("Choose local file");this.modal.enableButton("Choose FTP file");this.modal.enableButton("Paste/Fetch data")}else{this.modal.disableButton("Choose local file");this.modal.disableButton("Choose FTP file");this.modal.disableButton("Paste/Fetch data")}if(this.current_user&&this.options.ftp_upload_dir&&this.options.ftp_upload_site){this.modal.showButton("Choose FTP file")}else{this.modal.hideButton("Choose FTP file")}if(this.counter.announce+this.counter.success+this.counter.error>0){$(this.el).find("#upload-table").show()}else{$(this.el).find("#upload-table").hide()}},_upload_percentage:function(h,i){return(this.upload_completed+(h*i))/this.upload_size},_template:function(i,h){return'<div id="'+i+'" class="upload-box"><table id="upload-table" class="table table-striped" style="display: none;"><thead><tr><th>Name</th><th>Size</th><th>Type</th><th>Genome</th><th>Settings</th><th>Status</th><th></th></tr></thead><tbody></tbody></table></div><h6 id="'+h+'" class="upload-info"></h6>'}})});
\ No newline at end of file
+define(["galaxy.modal","utils/utils","mvc/upload/upload-button","mvc/upload/upload-model","mvc/upload/upload-row","mvc/upload/upload-ftp","mvc/ui/ui-popover","mvc/ui","utils/uploadbox"],function(a,f,e,c,b,g,d){return Backbone.View.extend({options:{nginx_upload_path:""},modal:null,ui_button:null,uploadbox:null,current_history:null,upload_size:0,list_extensions:[],list_genomes:[],auto:{id:"auto",text:"Auto-detect",description:"This system will try to detect the file type automatically. If your file is not detected properly as one of the known formats, it most likely means that it has some format problems (e.g., different number of columns on different rows). You can still coerce the system to set your data to the format you think it should be. You can also upload compressed files, which will automatically be decompressed."},collection:new c.Collection(),ftp:null,counter:{announce:0,success:0,error:0,running:0,reset:function(){this.announce=this.success=this.error=this.running=0}},initialize:function(i){var h=this;if(i){this.options=_.defaults(i,this.options)}if(!Galaxy.currHistoryPanel||!Galaxy.currHistoryPanel.model){window.setTimeout(function(){h.initialize()},500);return}this.ui_button=new e.Model({icon:"fa-upload",tooltip:"Download from URL or upload files from disk",label:"Load Data",onclick:function(j){if(j){h._eventShow(j)}},onunload:function(){if(h.counter.running>0){return"Several uploads are still processing."}}});$("#left .unified-panel-header-inner").append((new e.View(this.ui_button)).$el);var h=this;f.get(galaxy_config.root+"api/datatypes?extension_only=False",function(j){for(key in j){h.list_extensions.push({id:j[key].extension,text:j[key].extension,description:j[key].description,description_url:j[key].description_url})}h.list_extensions.sort(function(l,k){return l.id>k.id?1:l.id<k.id?-1:0});if(!h.options.datatypes_disable_auto){h.list_extensions.unshift(h.auto)}});f.get(galaxy_config.root+"api/genomes",function(j){for(key in j){h.list_genomes.push({id:j[key][1],text:j[key][0]})}h.list_genomes.sort(function(l,k){return l.id>k.id?1:l.id<k.id?-1:0})});this.collection.on("remove",function(j){h._eventRemove(j)});this.collection.on("change:genome",function(k){var j=k.get("genome");h.collection.each(function(l){if(l.get("status")=="init"&&l.get("genome")=="?"){l.set("genome",j)}})})},_eventShow:function(j){j.preventDefault();if(!this.modal){var h=this;this.modal=new a.GalaxyModal({title:"Download data directly from web or upload files from your disk",body:this._template("upload-box","upload-info"),buttons:{"Choose local file":function(){h.uploadbox.select()},"Choose FTP file":function(){h._eventFtp()},"Paste/Fetch data":function(){h._eventCreate()},Start:function(){h._eventStart()},Pause:function(){h._eventStop()},Reset:function(){h._eventReset()},Close:function(){h.modal.hide()},},height:"400",width:"900",closing_events:true});this.setElement("#upload-box");var h=this;this.uploadbox=this.$el.uploadbox({announce:function(k,l,m){h._eventAnnounce(k,l,m)},initialize:function(k,l,m){return h._eventInitialize(k,l,m)},progress:function(k,l,m){h._eventProgress(k,l,m)},success:function(k,l,m){h._eventSuccess(k,l,m)},error:function(k,l,m){h._eventError(k,l,m)},complete:function(){h._eventComplete()}});var i=this.modal.getButton("Choose FTP file");this.ftp=new d.View({title:"FTP files",container:i})}this.modal.show();this._updateUser();this._updateScreen()},_eventRemove:function(i){var h=i.get("status");if(h=="success"){this.counter.success--}else{if(h=="error"){this.counter.error--}else{this.counter.announce--}}this._updateScreen();this.uploadbox.remove(i.id)},_eventAnnounce:function(h,i,k){this.counter.announce++;this._updateScreen();var j=new b(this,{id:h,file_name:i.name,file_size:i.size,file_mode:i.mode,file_path:i.path});this.collection.add(j.model);$(this.el).find("tbody:first").append(j.$el);j.render()},_eventInitialize:function(m,j,s){var k=this.collection.get(m);k.set("status","running");var o=k.get("file_name");var n=k.get("file_path");var h=k.get("file_mode");var p=k.get("extension");var r=k.get("genome");var q=k.get("url_paste");var l=k.get("space_to_tabs");var i=k.get("to_posix_lines");if(!q&&!(j.size>0)){return null}this.uploadbox.configure({url:this.options.nginx_upload_path});if(h=="local"){this.uploadbox.configure({paramname:"files_0|file_data"})}else{this.uploadbox.configure({paramname:null})}tool_input={};if(h=="new"){tool_input["files_0|url_paste"]=q}if(h=="ftp"){tool_input["files_0|ftp_files"]=n}tool_input.dbkey=r;tool_input.file_type=p;tool_input["files_0|type"]="upload_dataset";tool_input.space_to_tabs=l;tool_input.to_posix_lines=i;data={};data.history_id=this.current_history;data.tool_id="upload1";data.inputs=JSON.stringify(tool_input);return data},_eventProgress:function(i,j,h){var k=this.collection.get(i);k.set("percentage",h);this.ui_button.set("percentage",this._upload_percentage(h,j.size))},_eventSuccess:function(i,j,l){var k=this.collection.get(i);k.set("percentage",100);k.set("status","success");var h=k.get("file_size");this.ui_button.set("percentage",this._upload_percentage(100,h));this.upload_completed+=h*100;this.counter.announce--;this.counter.success++;this._updateScreen();Galaxy.currHistoryPanel.refreshHdas()},_eventError:function(h,i,k){var j=this.collection.get(h);j.set("percentage",100);j.set("status","error");j.set("info",k);this.ui_button.set("percentage",this._upload_percentage(100,i.size));this.ui_button.set("status","danger");this.upload_completed+=i.size*100;this.counter.announce--;this.counter.error++;this._updateScreen()},_eventComplete:function(){this.collection.each(function(h){if(h.get("status")=="queued"){h.set("status","init")}});this.counter.running=0;this._updateScreen()},_eventFtp:function(){if(!this.ftp.visible){this.ftp.empty();this.ftp.append((new g(this)).$el);this.ftp.show()}else{this.ftp.hide()}},_eventCreate:function(){this.uploadbox.add([{name:"New File",size:0,mode:"new"}])},_eventStart:function(){if(this.counter.announce==0||this.counter.running>0){return}var h=this;this.upload_size=0;this.upload_completed=0;this.collection.each(function(i){if(i.get("status")=="init"){i.set("status","queued");h.upload_size+=i.get("file_size")}});this.ui_button.set("percentage",0);this.ui_button.set("status","success");this.counter.running=this.counter.announce;this._updateScreen();this.uploadbox.start()},_eventStop:function(){if(this.counter.running==0){return}this.ui_button.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.ui_button.set("percentage",0)}},_updateUser:function(){this.current_user=Galaxy.currUser.get("id");this.current_history=null;if(this.current_user){this.current_history=Galaxy.currHistoryPanel.model.get("id")}},_updateScreen:function(){if(this.counter.announce==0){if(this.uploadbox.compatible()){message="You can Drag & Drop files into this box."}else{message="Unfortunately, your browser does not support multiple file uploads or drag&drop.<br>Some supported browsers are: 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 'Start' 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("Start")}else{this.modal.disableButton("Start")}if(this.counter.running>0){this.modal.enableButton("Pause")}else{this.modal.disableButton("Pause")}if(this.counter.running==0){this.modal.enableButton("Choose local file");this.modal.enableButton("Choose FTP file");this.modal.enableButton("Paste/Fetch data")}else{this.modal.disableButton("Choose local file");this.modal.disableButton("Choose FTP file");this.modal.disableButton("Paste/Fetch data")}if(this.current_user&&this.options.ftp_upload_dir&&this.options.ftp_upload_site){this.modal.showButton("Choose FTP file")}else{this.modal.hideButton("Choose FTP file")}if(this.counter.announce+this.counter.success+this.counter.error>0){$(this.el).find("#upload-table").show()}else{$(this.el).find("#upload-table").hide()}},_upload_percentage:function(h,i){return(this.upload_completed+(h*i))/this.upload_size},_template:function(i,h){return'<div id="'+i+'" class="upload-box"><table id="upload-table" class="table table-striped" style="display: none;"><thead><tr><th>Name</th><th>Size</th><th>Type</th><th>Genome</th><th>Settings</th><th>Status</th><th></th></tr></thead><tbody></tbody></table></div><h6 id="'+h+'" class="upload-info"></h6>'}})});
\ No newline at end of file
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 static/scripts/packed/utils/utils.js
--- a/static/scripts/packed/utils/utils.js
+++ b/static/scripts/packed/utils/utils.js
@@ -1,1 +1,1 @@
-define(["libs/underscore"],function(c){function f(j,i,h){var k=new XMLHttpRequest();k.open("GET",j,true);k.setRequestHeader("Accept","application/json");k.setRequestHeader("Cache-Control","no-cache");k.setRequestHeader("X-Requested-With","XMLHttpRequest");k.onloadend=function(){var l=k.status;if(l==200){try{response=jQuery.parseJSON(k.responseText)}catch(m){response=k.responseText}i&&i(response)}else{h&&h(l)}};k.send()}function b(k,h){var i=$('<div class="'+k+'"></div>');i.appendTo(":eq(0)");var j=i.css(h);i.remove();return j}function a(h){if(!$('link[href^="'+h+'"]').length){$('<link href="'+galaxy_config.root+h+'" rel="stylesheet">').appendTo("head")}}function g(h,i){if(h){return c.defaults(h,i)}else{return i}}function d(i,k){var j="";if(i>=100000000000){i=i/100000000000;j="TB"}else{if(i>=100000000){i=i/100000000;j="GB"}else{if(i>=100000){i=i/100000;j="MB"}else{if(i>=100){i=i/100;j="KB"}else{if(i>0){i=i*10;j="b"}else{return"<strong>-</strong>"}}}}}var h=(Math.round(i)/10);if(k){return h+" "+j}else{return"<strong>"+h+"</strong> "+j}}function e(){return(new Date().getTime()).toString(36)}return{cssLoadFile:a,cssGetAttribute:b,jsonFromUrl:f,merge:g,bytesToString:d,uuid:e}});
\ No newline at end of file
+define(["libs/underscore"],function(j){function d(l,m,k){g("GET",l,{},m,k)}function g(p,l,m,o,k){if(p=="GET"||p=="DELETE"){if(l.indexOf("?")==-1){l+="?"}else{l+="&"}l+=$.param(m)}var n=new XMLHttpRequest();n.open(p,l,true);n.setRequestHeader("Accept","application/json");n.setRequestHeader("Cache-Control","no-cache");n.setRequestHeader("X-Requested-With","XMLHttpRequest");n.setRequestHeader("Content-Type","application/json");n.onloadend=function(){var q=n.status;if(q==200){try{response=jQuery.parseJSON(n.responseText)}catch(r){response=n.responseText}o&&o(response)}else{k&&k(q)}};if(p=="GET"||p=="DELETE"){n.send()}else{n.send(JSON.stringify(m))}}function h(n,k){var l=$('<div class="'+n+'"></div>');l.appendTo(":eq(0)");var m=l.css(k);l.remove();return m}function f(k){if(!$('link[href^="'+k+'"]').length){$('<link href="'+galaxy_config.root+k+'" rel="stylesheet">').appendTo("head")}}function i(k,l){if(k){return j.defaults(k,l)}else{return l}}function b(l,n){var m="";if(l>=100000000000){l=l/100000000000;m="TB"}else{if(l>=100000000){l=l/100000000;m="GB"}else{if(l>=100000){l=l/100000;m="MB"}else{if(l>=100){l=l/100;m="KB"}else{if(l>0){l=l*10;m="b"}else{return"<strong>-</strong>"}}}}}var k=(Math.round(l)/10);if(n){return k+" "+m}else{return"<strong>"+k+"</strong> "+m}}function a(){return(new Date().getTime()).toString(36)}function c(k){var l=$("<p></p>");l.append(k);return l}function e(){var m=new Date();var k=(m.getHours()<10?"0":"")+m.getHours();var l=(m.getMinutes()<10?"0":"")+m.getMinutes();var n=m.getDate()+"/"+(m.getMonth()+1)+"/"+m.getFullYear()+", "+k+":"+l;return n}return{cssLoadFile:f,cssGetAttribute:h,get:d,merge:i,bytesToString:b,uuid:a,time:e,wrap:c,request:g}});
\ No newline at end of file
diff -r 0f65411e40224e7a9b32f3273896113654a742ce -r 86f8a8311fec37d0cfcae2e919e37e96a31ca297 static/scripts/utils/utils.js
--- a/static/scripts/utils/utils.js
+++ b/static/scripts/utils/utils.js
@@ -7,35 +7,50 @@
define(["libs/underscore"], function(_) {
// generic function to recieve json from url
-function jsonFromUrl (url, successHandler, errorHandler) {
+function get (url, success, error) {
+ request('GET', url, {}, success, error);
+};
+
+// generic function to send json to url
+function request (method, url, data, success, error) {
+
+ // encode data into url
+ if (method == 'GET' || method == 'DELETE') {
+ if (url.indexOf('?') == -1) {
+ url += '?';
+ } else {
+ url += '&';
+ }
+ url += $.param(data)
+ }
- // open url
+ // prepare request
var xhr = new XMLHttpRequest();
- xhr.open('GET', url, true);
-
- // configure request
+ xhr.open(method, url, true);
xhr.setRequestHeader('Accept', 'application/json');
xhr.setRequestHeader('Cache-Control', 'no-cache');
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
-
- // on completion
+ xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onloadend = function() {
var status = xhr.status;
if (status == 200) {
- try
- {
+ try {
response = jQuery.parseJSON(xhr.responseText);
} catch (e) {
response = xhr.responseText;
}
- successHandler && successHandler(response);
+ success && success(response);
} else {
- errorHandler && errorHandler(status);
+ error && error(status);
}
};
-
- // submit request
- xhr.send();
+
+ // make request
+ if (method == 'GET' || method == 'DELETE') {
+ xhr.send();
+ } else {
+ xhr.send(JSON.stringify(data));
+ }
};
// get css value
@@ -96,14 +111,42 @@
return (new Date().getTime()).toString(36);
};
+// wrap
+function wrap($el) {
+ var wrapper = $('<p></p>');
+ wrapper.append($el);
+ return wrapper;
+};
+
+// time
+function time() {
+ // get date object
+ var d = new Date();
+
+ // format items
+ var hours = (d.getHours() < 10 ? "0" : "") + d.getHours();
+ var minutes = (d.getMinutes() < 10 ? "0" : "") + d.getMinutes()
+
+ // format final stamp
+ var datetime = d.getDate() + "/"
+ + (d.getMonth() + 1) + "/"
+ + d.getFullYear() + ", "
+ + hours + ":"
+ + minutes;
+ return datetime;
+};
+
// return
return {
cssLoadFile : cssLoadFile,
cssGetAttribute : cssGetAttribute,
- jsonFromUrl : jsonFromUrl,
+ get : get,
merge : merge,
bytesToString: bytesToString,
- uuid: uuid
+ uuid: uuid,
+ time: time,
+ wrap: wrap,
+ request: request
};
});
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
0
commit/galaxy-central: carlfeberhard: (Fix to 8e4196a) Histories embedded in pages: first pass at using panel
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/3c64bf81e1fc/
Changeset: 3c64bf81e1fc
User: carlfeberhard
Date: 2014-02-20 23:44:04
Summary: (Fix to 8e4196a) Histories embedded in pages: first pass at using panel
Affected #: 2 files
diff -r ccbd6e8e64ee76bf64dca24368052fc6ff775623 -r 3c64bf81e1fcbcf0c89b316ee7b80548e10214a8 lib/galaxy/webapps/galaxy/controllers/history.py
--- a/lib/galaxy/webapps/galaxy/controllers/history.py
+++ b/lib/galaxy/webapps/galaxy/controllers/history.py
@@ -753,7 +753,21 @@
history.annotation = self.get_item_annotation_str( trans.sa_session, history.user, history )
for dataset in datasets:
dataset.annotation = self.get_item_annotation_str( trans.sa_session, history.user, dataset )
- return trans.stream_template_mako( "/history/item_content.mako", item = history, item_data = datasets )
+
+ user_is_owner = trans.user == history.user
+ history.annotation = self.get_item_annotation_str( trans.sa_session, history.user, history )
+
+ hda_dicts = []
+ datasets = self.get_history_datasets( trans, history )
+ for hda in datasets:
+ hda_dict = self.get_hda_dict( trans, hda )
+ hda_dict[ 'annotation' ] = self.get_item_annotation_str( trans.sa_session, history.user, hda )
+ hda_dicts.append( hda_dict )
+ history_dict = self.get_history_dict( trans, history, hda_dictionaries=hda_dicts )
+ history_dict[ 'annotation' ] = history.annotation
+
+ return trans.fill_template( "history/item_content.mako", item=history, item_data=datasets,
+ user_is_owner=user_is_owner, history_dict=history_dict, hda_dicts=hda_dicts )
@web.expose
def name_autocomplete_data( self, trans, q=None, limit=None, timestamp=None ):
diff -r ccbd6e8e64ee76bf64dca24368052fc6ff775623 -r 3c64bf81e1fcbcf0c89b316ee7b80548e10214a8 templates/display_base.mako
--- a/templates/display_base.mako
+++ b/templates/display_base.mako
@@ -11,6 +11,7 @@
<%inherit file="${inherit( context )}"/><%namespace file="/tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" /><%namespace file="/display_common.mako" import="*" />
+<%namespace file="webapps/galaxy/history/history_panel.mako" import="history_panel_javascripts" />
##
## Functions used by base.mako and base_panels.mako to display content.
@@ -34,7 +35,7 @@
${parent.javascripts()}
${h.js( "libs/jquery/jstorage", "libs/jquery/jquery.autocomplete", "libs/jquery/jquery.rating",
"galaxy.autocom_tagging" )}
-
+ ${history_panel_javascripts()}
${h.js( "galaxy.panels", "libs/jquery/jstorage", "libs/jquery/jquery.event.drag", "libs/jquery/jquery.event.hover","libs/jquery/jquery.mousewheel", "libs/jquery/jquery-ui", "libs/require", "libs/farbtastic" )}
<script type="text/javascript">
@@ -151,6 +152,18 @@
border-right-style: solid;
border-right-color: #66AA66;
}
+
+ .embedded-item.history .item-content {
+ padding: 8px;
+ background-color: white;
+ border-radius: 0px 0px 4px 4px;
+ }
+ .embedded-item.history hr {
+ margin-bottom: 2px;
+ }
+ .embedded-item.history .history-panel {
+ padding: 2px 0px 8px 0px;
+ }
</style></%def>
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
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/9fff68afbacf/
Changeset: 9fff68afbacf
User: jmchilton
Date: 2014-02-20 22:18:37
Summary: Fix failing api search test.
Affected #: 1 file
diff -r 647946821504986a4941738cab0ec52be2c295cf -r 9fff68afbacf9836d65dbf945a43fddc063ecf55 test/functional/api/test_search.py
--- a/test/functional/api/test_search.py
+++ b/test/functional/api/test_search.py
@@ -16,7 +16,7 @@
delete_url = self._api_url( "workflows/%s" % workflow_id, use_key=True )
delete_request( delete_url )
- search_response = self.__search( "select * from workflow where not deleted" )
+ search_response = self.__search( "select * from workflow where deleted = False" )
assert not self.__has_result_with_name( search_response, "test_for_search (imported from API)" ), search_response.json()
def __search( self, query ):
https://bitbucket.org/galaxy/galaxy-central/commits/ccbd6e8e64ee/
Changeset: ccbd6e8e64ee
User: jmchilton
Date: 2014-02-20 22:28:06
Summary: Fix mock-requests PUT action.
Should fix failing history import/export test on buildbot server that doesn't have requests dependency available.
Affected #: 1 file
diff -r 9fff68afbacf9836d65dbf945a43fddc063ecf55 -r ccbd6e8e64ee76bf64dca24368052fc6ff775623 test/base/interactor.py
--- a/test/base/interactor.py
+++ b/test/base/interactor.py
@@ -461,13 +461,16 @@
def post_request( url, data, files={} ):
return __multipart_request( url, data, files, verb="POST" )
- def put_request( url, data, files={} ):
- return __multipart_request( url, data, files, verb="PUT" )
+ def put_request( url ):
+ return __urllib_request( url, 'PUT' )
def delete_request( url ):
+ return __urllib_request( url, 'DELETE' )
+
+ def __urllib_request( url, verb ):
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(url)
- request.get_method = lambda: 'DELETE'
+ request.get_method = lambda: verb
try:
response = opener.open(request)
return RequestsLikeResponse( response.read(), status_code=response.getcode() )
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
0
4 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/e3e3576a3124/
Changeset: e3e3576a3124
Branch: central-eliminate-fabric
User: inithello
Date: 2014-02-20 15:47:35
Summary: Eliminate the use of fabric when executing commands defined in an <action type="shell_command"> tag.
Affected #: 1 file
diff -r 74ba9422f7f9e01ed59d24163e1873875bb34d42 -r e3e3576a31247e390b3dfafd24d7523c78fa4afc lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
--- a/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
+++ b/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
@@ -4,9 +4,14 @@
import logging
import os
import shutil
+import sys
import tempfile
-import shutil
import td_common_util
+import time
+import shlex
+
+from subprocess import PIPE, Popen
+from threading import Thread
from contextlib import contextmanager
from galaxy.util import unicodify
from galaxy.util.template import fill_template
@@ -16,12 +21,19 @@
eggs.require( 'paramiko' )
eggs.require( 'Fabric' )
+from fabric import state
from fabric.api import env
from fabric.api import hide
from fabric.api import lcd
from fabric.api import local
from fabric.api import settings
from fabric.api import prefix
+from fabric.operations import _AttributeString
+
+try:
+ from Queue import Queue, Empty
+except ImportError:
+ from queue import Queue, Empty
log = logging.getLogger( __name__ )
@@ -120,6 +132,22 @@
if int( version.split( "." )[ 0 ] ) < 1:
raise NotImplementedError( "Install Fabric version 1.0 or later." )
+def enqueue_output( stdout, stdout_queue, stderr, stderr_queue ):
+ stdout_logger = logging.getLogger( 'fabric_util.STDOUT' )
+ stderr_logger = logging.getLogger( 'fabric_util.STDERR' )
+ for line in iter( stdout.readline, b'' ):
+ output = line.rstrip()
+ stdout_logger.debug( output )
+ stdout_queue.put( output )
+ stdout.close()
+ stdout_queue.put(None)
+ for line in iter( stderr.readline, b'' ):
+ output = line.rstrip()
+ stderr_logger.debug( output )
+ stderr_queue.put( output )
+ stderr.close()
+ stderr_queue.put(None)
+
def file_append( text, file_path, skip_if_contained=True, make_executable=True ):
'''
Append a line to a file unless skip_if_contained is True and the line already exists in the file. This method creates the file
@@ -168,10 +196,9 @@
for shell_file_path in shell_file_paths:
env_file_builder.append_line( action="source", value=shell_file_path )
-def handle_command( app, tool_dependency, install_dir, cmd, return_output=False ):
+def handle_command( app, tool_dependency, install_dir, cmd, return_output=False, use_fabric=False ):
context = app.install_model.context
- with settings( warn_only=True ):
- output = local( cmd, capture=True )
+ output = run_local_command( cmd, capture_output=True, stream_output=True )
log_results( cmd, output, os.path.join( install_dir, INSTALLATION_LOG ) )
if output.return_code:
tool_dependency.status = app.install_model.ToolDependency.installation_status.ERROR
@@ -263,7 +290,7 @@
set_prior_environment_commands.append( 'echo "%s: $%s"' % ( inherited_env_var_name, inherited_env_var_name ) )
command = ' ; '.join( set_prior_environment_commands )
# Run the command and capture the output.
- command_return = handle_command( app, tool_dependency, install_dir, command, return_output=True )
+ command_return = handle_command( app, tool_dependency, install_dir, command, return_output=True, use_fabric=True )
# And extract anything labeled with the name of the environment variable we're populating here.
if '%s: ' % inherited_env_var_name in command_return:
environment_variable_value = command_return.split( '\n' )
@@ -370,7 +397,7 @@
filtered_actions = actions[ 1: ]
return_code = handle_command( app, tool_dependency, install_dir, action_dict[ 'command' ] )
if return_code:
- return tool_dependency
+ return tool_dependency
dir = package_name
elif action_type == 'download_file':
# <action type="download_file">http://effectors.org/download/version/TTSS_GUI-1.0.1.jar</action>
@@ -645,7 +672,7 @@
elif action_type == 'shell_command':
with settings( warn_only=True ):
cmd = install_environment.build_command( action_dict[ 'command' ] )
- return_code = handle_command( app, tool_dependency, install_dir, cmd )
+ return_code = handle_command( app, tool_dependency, install_dir, cmd, use_fabric=False )
if return_code:
return tool_dependency
elif action_type == 'template_command':
@@ -755,6 +782,30 @@
if os.path.exists( work_dir ):
local( 'rm -rf %s' % work_dir )
+def run_local_command( command, capture_output=True, stream_output=True ):
+ wrapped_command = shlex.split( "/bin/sh -c '%s'" % command )
+ stdout_queue = Queue()
+ stderr_queue = Queue()
+ process_handle = Popen( wrapped_command, stdout=PIPE, stderr=PIPE, bufsize=1, close_fds=False, cwd=state.env['lcwd'] )
+ stdio_thread = Thread( target=enqueue_output, args=( process_handle.stdout, stdout_queue, process_handle.stderr, stderr_queue ) )
+ stdio_thread.daemon = True
+ stdio_thread.start()
+ stdout, stderr = wait_for_process( process_handle, stream_output, stdout_queue, stderr_queue )
+ # Handle error condition (deal with stdout being None, too)
+ output = _AttributeString( stdout.strip() if stdout else "" )
+ errors = _AttributeString( stderr.strip() if stderr else "" )
+ output.failed = False
+ output.return_code = process_handle.returncode
+ output.stderr = errors
+ if process_handle.returncode not in env.ok_ret_codes:
+ output.failed = True
+ message = "Encountered an error (return code %s) while executing '%s'" % ( process_handle.returncode, command )
+ log.error( message )
+ output.succeeded = not output.failed
+ # If we were capturing, this will be a string; otherwise it will be None.
+ if capture_output:
+ return output
+
def set_galaxy_environment( galaxy_user, tool_dependency_dir, host='localhost', shell='/bin/bash -l -c' ):
"""General Galaxy environment configuration. This method is not currently used."""
env.user = galaxy_user
@@ -764,3 +815,21 @@
env.use_sudo = False
env.safe_cmd = local
return env
+
+def wait_for_process( process_handle, stream_output, stdout_queue, stderr_queue ):
+ standard_out = []
+ standard_err = []
+ process_handle.wait()
+ while True:
+ line = stdout_queue.get()
+ if line is None:
+ break
+ standard_out.append(line)
+ while True:
+ line = stderr_queue.get()
+ if line is None:
+ break
+ standard_err.append(line)
+ stdout = '\n'.join( standard_out )
+ stderr = '\n'.join( standard_err )
+ return stdout, stderr
https://bitbucket.org/galaxy/galaxy-central/commits/496e1d36231c/
Changeset: 496e1d36231c
Branch: central-eliminate-fabric
User: inithello
Date: 2014-02-20 21:45:42
Summary: Code cleanup, documentation.
Affected #: 1 file
diff -r e3e3576a31247e390b3dfafd24d7523c78fa4afc -r 496e1d36231c143333c972fb9f78961b27ce210e lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
--- a/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
+++ b/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
@@ -133,6 +133,14 @@
raise NotImplementedError( "Install Fabric version 1.0 or later." )
def enqueue_output( stdout, stdout_queue, stderr, stderr_queue ):
+ '''
+ This method places streamed stdout and stderr into a threaded IPC queue target, defined as follows:
+
+ stdio_thread = Thread( target=enqueue_output, args=( process_handle.stdout, stdout_queue, process_handle.stderr, stderr_queue ) )
+
+ When input is received, it logs that input to the defined logger, and saves it to that thread's queue. The calling thread
+ can then retrieve that data using thread.stdout and thread.stderr.
+ '''
stdout_logger = logging.getLogger( 'fabric_util.STDOUT' )
stderr_logger = logging.getLogger( 'fabric_util.STDERR' )
for line in iter( stdout.readline, b'' ):
@@ -140,13 +148,13 @@
stdout_logger.debug( output )
stdout_queue.put( output )
stdout.close()
- stdout_queue.put(None)
+ stdout_queue.put( None )
for line in iter( stderr.readline, b'' ):
output = line.rstrip()
stderr_logger.debug( output )
stderr_queue.put( output )
stderr.close()
- stderr_queue.put(None)
+ stderr_queue.put( None )
def file_append( text, file_path, skip_if_contained=True, make_executable=True ):
'''
@@ -786,7 +794,7 @@
wrapped_command = shlex.split( "/bin/sh -c '%s'" % command )
stdout_queue = Queue()
stderr_queue = Queue()
- process_handle = Popen( wrapped_command, stdout=PIPE, stderr=PIPE, bufsize=1, close_fds=False, cwd=state.env['lcwd'] )
+ process_handle = Popen( wrapped_command, stdout=PIPE, stderr=PIPE, bufsize=1, close_fds=False, cwd=state.env[ 'lcwd' ] )
stdio_thread = Thread( target=enqueue_output, args=( process_handle.stdout, stdout_queue, process_handle.stderr, stderr_queue ) )
stdio_thread.daemon = True
stdio_thread.start()
https://bitbucket.org/galaxy/galaxy-central/commits/df8d1dfe007e/
Changeset: df8d1dfe007e
Branch: central-eliminate-fabric
User: inithello
Date: 2014-02-20 22:00:21
Summary: Use the provided use_fabric parameter in handle_command.
Affected #: 1 file
diff -r 496e1d36231c143333c972fb9f78961b27ce210e -r df8d1dfe007e56529a26f696a97a4159827d706b lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
--- a/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
+++ b/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
@@ -206,7 +206,11 @@
def handle_command( app, tool_dependency, install_dir, cmd, return_output=False, use_fabric=False ):
context = app.install_model.context
- output = run_local_command( cmd, capture_output=True, stream_output=True )
+ if use_fabric:
+ with settings( warn_only=True ):
+ output = local( cmd, capture=True )
+ else:
+ output = run_local_command( cmd, capture_output=True, stream_output=True )
log_results( cmd, output, os.path.join( install_dir, INSTALLATION_LOG ) )
if output.return_code:
tool_dependency.status = app.install_model.ToolDependency.installation_status.ERROR
https://bitbucket.org/galaxy/galaxy-central/commits/647946821504/
Changeset: 647946821504
User: davebgx
Date: 2014-02-20 22:27:11
Summary: Merged in davebgx/galaxy-central/central-eliminate-fabric (pull request #330)
Eliminate use of fabric when executing tool dependency recipes' shell_command actions.
Affected #: 1 file
diff -r 2efd48ff20dc24d7c6ccd94e4abe1319aa52f25d -r 647946821504986a4941738cab0ec52be2c295cf lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
--- a/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
+++ b/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py
@@ -4,9 +4,14 @@
import logging
import os
import shutil
+import sys
import tempfile
-import shutil
import td_common_util
+import time
+import shlex
+
+from subprocess import PIPE, Popen
+from threading import Thread
from contextlib import contextmanager
from galaxy.util import unicodify
from galaxy.util.template import fill_template
@@ -16,12 +21,19 @@
eggs.require( 'paramiko' )
eggs.require( 'Fabric' )
+from fabric import state
from fabric.api import env
from fabric.api import hide
from fabric.api import lcd
from fabric.api import local
from fabric.api import settings
from fabric.api import prefix
+from fabric.operations import _AttributeString
+
+try:
+ from Queue import Queue, Empty
+except ImportError:
+ from queue import Queue, Empty
log = logging.getLogger( __name__ )
@@ -120,6 +132,30 @@
if int( version.split( "." )[ 0 ] ) < 1:
raise NotImplementedError( "Install Fabric version 1.0 or later." )
+def enqueue_output( stdout, stdout_queue, stderr, stderr_queue ):
+ '''
+ This method places streamed stdout and stderr into a threaded IPC queue target, defined as follows:
+
+ stdio_thread = Thread( target=enqueue_output, args=( process_handle.stdout, stdout_queue, process_handle.stderr, stderr_queue ) )
+
+ When input is received, it logs that input to the defined logger, and saves it to that thread's queue. The calling thread
+ can then retrieve that data using thread.stdout and thread.stderr.
+ '''
+ stdout_logger = logging.getLogger( 'fabric_util.STDOUT' )
+ stderr_logger = logging.getLogger( 'fabric_util.STDERR' )
+ for line in iter( stdout.readline, b'' ):
+ output = line.rstrip()
+ stdout_logger.debug( output )
+ stdout_queue.put( output )
+ stdout.close()
+ stdout_queue.put( None )
+ for line in iter( stderr.readline, b'' ):
+ output = line.rstrip()
+ stderr_logger.debug( output )
+ stderr_queue.put( output )
+ stderr.close()
+ stderr_queue.put( None )
+
def file_append( text, file_path, skip_if_contained=True, make_executable=True ):
'''
Append a line to a file unless skip_if_contained is True and the line already exists in the file. This method creates the file
@@ -168,10 +204,13 @@
for shell_file_path in shell_file_paths:
env_file_builder.append_line( action="source", value=shell_file_path )
-def handle_command( app, tool_dependency, install_dir, cmd, return_output=False ):
+def handle_command( app, tool_dependency, install_dir, cmd, return_output=False, use_fabric=False ):
context = app.install_model.context
- with settings( warn_only=True ):
- output = local( cmd, capture=True )
+ if use_fabric:
+ with settings( warn_only=True ):
+ output = local( cmd, capture=True )
+ else:
+ output = run_local_command( cmd, capture_output=True, stream_output=True )
log_results( cmd, output, os.path.join( install_dir, INSTALLATION_LOG ) )
if output.return_code:
tool_dependency.status = app.install_model.ToolDependency.installation_status.ERROR
@@ -263,7 +302,7 @@
set_prior_environment_commands.append( 'echo "%s: $%s"' % ( inherited_env_var_name, inherited_env_var_name ) )
command = ' ; '.join( set_prior_environment_commands )
# Run the command and capture the output.
- command_return = handle_command( app, tool_dependency, install_dir, command, return_output=True )
+ command_return = handle_command( app, tool_dependency, install_dir, command, return_output=True, use_fabric=True )
# And extract anything labeled with the name of the environment variable we're populating here.
if '%s: ' % inherited_env_var_name in command_return:
environment_variable_value = command_return.split( '\n' )
@@ -370,7 +409,7 @@
filtered_actions = actions[ 1: ]
return_code = handle_command( app, tool_dependency, install_dir, action_dict[ 'command' ] )
if return_code:
- return tool_dependency
+ return tool_dependency
dir = package_name
elif action_type == 'download_file':
# <action type="download_file">http://effectors.org/download/version/TTSS_GUI-1.0.1.jar</action>
@@ -645,7 +684,7 @@
elif action_type == 'shell_command':
with settings( warn_only=True ):
cmd = install_environment.build_command( action_dict[ 'command' ] )
- return_code = handle_command( app, tool_dependency, install_dir, cmd )
+ return_code = handle_command( app, tool_dependency, install_dir, cmd, use_fabric=False )
if return_code:
return tool_dependency
elif action_type == 'template_command':
@@ -755,6 +794,30 @@
if os.path.exists( work_dir ):
local( 'rm -rf %s' % work_dir )
+def run_local_command( command, capture_output=True, stream_output=True ):
+ wrapped_command = shlex.split( "/bin/sh -c '%s'" % command )
+ stdout_queue = Queue()
+ stderr_queue = Queue()
+ process_handle = Popen( wrapped_command, stdout=PIPE, stderr=PIPE, bufsize=1, close_fds=False, cwd=state.env[ 'lcwd' ] )
+ stdio_thread = Thread( target=enqueue_output, args=( process_handle.stdout, stdout_queue, process_handle.stderr, stderr_queue ) )
+ stdio_thread.daemon = True
+ stdio_thread.start()
+ stdout, stderr = wait_for_process( process_handle, stream_output, stdout_queue, stderr_queue )
+ # Handle error condition (deal with stdout being None, too)
+ output = _AttributeString( stdout.strip() if stdout else "" )
+ errors = _AttributeString( stderr.strip() if stderr else "" )
+ output.failed = False
+ output.return_code = process_handle.returncode
+ output.stderr = errors
+ if process_handle.returncode not in env.ok_ret_codes:
+ output.failed = True
+ message = "Encountered an error (return code %s) while executing '%s'" % ( process_handle.returncode, command )
+ log.error( message )
+ output.succeeded = not output.failed
+ # If we were capturing, this will be a string; otherwise it will be None.
+ if capture_output:
+ return output
+
def set_galaxy_environment( galaxy_user, tool_dependency_dir, host='localhost', shell='/bin/bash -l -c' ):
"""General Galaxy environment configuration. This method is not currently used."""
env.user = galaxy_user
@@ -764,3 +827,21 @@
env.use_sudo = False
env.safe_cmd = local
return env
+
+def wait_for_process( process_handle, stream_output, stdout_queue, stderr_queue ):
+ standard_out = []
+ standard_err = []
+ process_handle.wait()
+ while True:
+ line = stdout_queue.get()
+ if line is None:
+ break
+ standard_out.append(line)
+ while True:
+ line = stderr_queue.get()
+ if line is None:
+ break
+ standard_err.append(line)
+ stdout = '\n'.join( standard_out )
+ stderr = '\n'.join( standard_err )
+ return stdout, stderr
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
0
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/2efd48ff20dc/
Changeset: 2efd48ff20dc
User: martenson
Date: 2014-02-20 22:24:56
Summary: Merge
Affected #: 2 files
diff -r f33b3f81fe2ba741cded20cb0b29e0708fbc05ed -r 2efd48ff20dc24d7c6ccd94e4abe1319aa52f25d static/scripts/galaxy.menu.js
--- a/static/scripts/galaxy.menu.js
+++ b/static/scripts/galaxy.menu.js
@@ -235,7 +235,7 @@
content : this.options.citation_url,
target : "_blank"
});
- if (!this.options.terms_url)
+ if (this.options.terms_url)
{
tab_help.add({
title : "Terms and Conditions",
diff -r f33b3f81fe2ba741cded20cb0b29e0708fbc05ed -r 2efd48ff20dc24d7c6ccd94e4abe1319aa52f25d static/scripts/packed/galaxy.menu.js
--- a/static/scripts/packed/galaxy.menu.js
+++ b/static/scripts/packed/galaxy.menu.js
@@ -1,1 +1,1 @@
-define(["galaxy.masthead"],function(b){var a=Backbone.Model.extend({options:null,masthead:null,initialize:function(c){this.options=c.config;this.masthead=c.masthead;this.create()},create:function(){var e=new b.GalaxyMastheadTab({id:"analysis",title:"Analyze Data",content:"root/index",title_attribute:"Analysis home view"});this.masthead.append(e);var g={id:"workflow",title:"Workflow",content:"workflow",title_attribute:"Chain tools into workflows"};if(!this.options.user.valid){g.disabled=true}var d=new b.GalaxyMastheadTab(g);this.masthead.append(d);var i=new b.GalaxyMastheadTab({id:"shared",title:"Shared Data",content:"library/index",title_attribute:"Access published resources"});i.add({title:"Data Libraries",content:"library/index"});i.add({title:"Data Libraries Beta",content:"library/list",divider:true});i.add({title:"Published Histories",content:"history/list_published"});i.add({title:"Published Workflows",content:"workflow/list_published"});i.add({title:"Published Visualizations",content:"visualization/list_published"});i.add({title:"Published Pages",content:"page/list_published"});this.masthead.append(i);if(this.options.user.requests){var j=new b.GalaxyMastheadTab({id:"lab",title:"Lab"});j.add({title:"Sequencing Requests",content:"requests/index"});j.add({title:"Find Samples",content:"requests/find_samples_index"});j.add({title:"Help",content:this.options.lims_doc_url});this.masthead.append(j)}var c={id:"visualization",title:"Visualization",content:"visualization/list",title_attribute:"Visualize datasets"};if(!this.options.user.valid){c.disabled=true}var m=new b.GalaxyMastheadTab(c);if(this.options.user.valid){m.add({title:"New Track Browser",content:"visualization/trackster",target:"_frame"});m.add({title:"Saved Visualizations",content:"visualization/list",target:"_frame"})}this.masthead.append(m);if(this.options.enable_cloud_launch){var f=new b.GalaxyMastheadTab({id:"cloud",title:"Cloud",content:"cloudlaunch/index"});f.add({title:"New Cloud Cluster",content:"cloudlaunch/index"});this.masthead.append(f)}if(this.options.is_admin_user){var h=new b.GalaxyMastheadTab({id:"admin",title:"Admin",content:"admin/index",extra_class:"admin-only",title_attribute:"Administer this Galaxy"});this.masthead.append(h)}var l=new b.GalaxyMastheadTab({id:"help",title:"Help",title_attribute:"Support, contact, and community hubs"});if(this.options.biostar_url){l.add({title:"Galaxy Q&A Site",content:this.options.biostar_url_redirect,target:"_blank"});l.add({title:"Ask a question",content:"biostar/biostar_question_redirect",target:"_blank"})}l.add({title:"Support",content:this.options.support_url,target:"_blank"});l.add({title:"Search",content:this.options.search_url,target:"_blank"});l.add({title:"Mailing Lists",content:this.options.mailing_lists,target:"_blank"});l.add({title:"Videos",content:this.options.screencasts_url,target:"_blank"});l.add({title:"Wiki",content:this.options.wiki_url,target:"_blank"});l.add({title:"How to Cite Galaxy",content:this.options.citation_url,target:"_blank"});if(!this.options.terms_url){l.add({title:"Terms and Conditions",content:this.options.terms_url,target:"_blank"})}this.masthead.append(l);if(!this.options.user.valid){var k=new b.GalaxyMastheadTab({id:"user",title:"User",extra_class:"loggedout-only",title_attribute:"Account registration or login"});k.add({title:"Login",content:"user/login",target:"galaxy_main"});if(this.options.allow_user_creation){k.add({title:"Register",content:"user/create",target:"galaxy_main"})}this.masthead.append(k)}else{var k=new b.GalaxyMastheadTab({id:"user",title:"User",extra_class:"loggedin-only",title_attribute:"Account preferences and saved data"});k.add({title:"Logged in as "+this.options.user.email});if(this.options.use_remote_user&&this.options.remote_user_logout_href){k.add({title:"Logout",content:this.options.remote_user_logout_href,target:"_top"})}else{k.add({title:"Preferences",content:"user?cntrller=user",target:"galaxy_main"});k.add({title:"Custom Builds",content:"user/dbkeys",target:"galaxy_main"});k.add({title:"Logout",content:"user/logout",target:"_top",divider:true})}k.add({title:"Saved Histories",content:"history/list",target:"galaxy_main"});k.add({title:"Saved Datasets",content:"dataset/list",target:"galaxy_main"});k.add({title:"Saved Pages",content:"page/list",target:"_top"});k.add({title:"API Keys",content:"user/api_keys?cntrller=user",target:"galaxy_main"});if(this.options.use_remote_user){k.add({title:"Public Name",content:"user/edit_username?cntrller=user",target:"galaxy_main"})}this.masthead.append(k)}if(this.options.active_view){this.masthead.highlight(this.options.active_view)}}});return{GalaxyMenu:a}});
\ No newline at end of file
+define(["galaxy.masthead"],function(b){var a=Backbone.Model.extend({options:null,masthead:null,initialize:function(c){this.options=c.config;this.masthead=c.masthead;this.create()},create:function(){var e=new b.GalaxyMastheadTab({id:"analysis",title:"Analyze Data",content:"root/index",title_attribute:"Analysis home view"});this.masthead.append(e);var g={id:"workflow",title:"Workflow",content:"workflow",title_attribute:"Chain tools into workflows"};if(!this.options.user.valid){g.disabled=true}var d=new b.GalaxyMastheadTab(g);this.masthead.append(d);var i=new b.GalaxyMastheadTab({id:"shared",title:"Shared Data",content:"library/index",title_attribute:"Access published resources"});i.add({title:"Data Libraries",content:"library/index"});i.add({title:"Data Libraries Beta",content:"library/list",divider:true});i.add({title:"Published Histories",content:"history/list_published"});i.add({title:"Published Workflows",content:"workflow/list_published"});i.add({title:"Published Visualizations",content:"visualization/list_published"});i.add({title:"Published Pages",content:"page/list_published"});this.masthead.append(i);if(this.options.user.requests){var j=new b.GalaxyMastheadTab({id:"lab",title:"Lab"});j.add({title:"Sequencing Requests",content:"requests/index"});j.add({title:"Find Samples",content:"requests/find_samples_index"});j.add({title:"Help",content:this.options.lims_doc_url});this.masthead.append(j)}var c={id:"visualization",title:"Visualization",content:"visualization/list",title_attribute:"Visualize datasets"};if(!this.options.user.valid){c.disabled=true}var m=new b.GalaxyMastheadTab(c);if(this.options.user.valid){m.add({title:"New Track Browser",content:"visualization/trackster",target:"_frame"});m.add({title:"Saved Visualizations",content:"visualization/list",target:"_frame"})}this.masthead.append(m);if(this.options.enable_cloud_launch){var f=new b.GalaxyMastheadTab({id:"cloud",title:"Cloud",content:"cloudlaunch/index"});f.add({title:"New Cloud Cluster",content:"cloudlaunch/index"});this.masthead.append(f)}if(this.options.is_admin_user){var h=new b.GalaxyMastheadTab({id:"admin",title:"Admin",content:"admin/index",extra_class:"admin-only",title_attribute:"Administer this Galaxy"});this.masthead.append(h)}var l=new b.GalaxyMastheadTab({id:"help",title:"Help",title_attribute:"Support, contact, and community hubs"});if(this.options.biostar_url){l.add({title:"Galaxy Q&A Site",content:this.options.biostar_url_redirect,target:"_blank"});l.add({title:"Ask a question",content:"biostar/biostar_question_redirect",target:"_blank"})}l.add({title:"Support",content:this.options.support_url,target:"_blank"});l.add({title:"Search",content:this.options.search_url,target:"_blank"});l.add({title:"Mailing Lists",content:this.options.mailing_lists,target:"_blank"});l.add({title:"Videos",content:this.options.screencasts_url,target:"_blank"});l.add({title:"Wiki",content:this.options.wiki_url,target:"_blank"});l.add({title:"How to Cite Galaxy",content:this.options.citation_url,target:"_blank"});if(this.options.terms_url){l.add({title:"Terms and Conditions",content:this.options.terms_url,target:"_blank"})}this.masthead.append(l);if(!this.options.user.valid){var k=new b.GalaxyMastheadTab({id:"user",title:"User",extra_class:"loggedout-only",title_attribute:"Account registration or login"});k.add({title:"Login",content:"user/login",target:"galaxy_main"});if(this.options.allow_user_creation){k.add({title:"Register",content:"user/create",target:"galaxy_main"})}this.masthead.append(k)}else{var k=new b.GalaxyMastheadTab({id:"user",title:"User",extra_class:"loggedin-only",title_attribute:"Account preferences and saved data"});k.add({title:"Logged in as "+this.options.user.email});if(this.options.use_remote_user&&this.options.remote_user_logout_href){k.add({title:"Logout",content:this.options.remote_user_logout_href,target:"_top"})}else{k.add({title:"Preferences",content:"user?cntrller=user",target:"galaxy_main"});k.add({title:"Custom Builds",content:"user/dbkeys",target:"galaxy_main"});k.add({title:"Logout",content:"user/logout",target:"_top",divider:true})}k.add({title:"Saved Histories",content:"history/list",target:"galaxy_main"});k.add({title:"Saved Datasets",content:"dataset/list",target:"galaxy_main"});k.add({title:"Saved Pages",content:"page/list",target:"_top"});k.add({title:"API Keys",content:"user/api_keys?cntrller=user",target:"galaxy_main"});if(this.options.use_remote_user){k.add({title:"Public Name",content:"user/edit_username?cntrller=user",target:"galaxy_main"})}this.masthead.append(k)}if(this.options.active_view){this.masthead.highlight(this.options.active_view)}}});return{GalaxyMenu:a}});
\ 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.
1
0
commit/galaxy-central: martenson: bugfix: reverted showing of terms_url
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/f58179ab4888/
Changeset: f58179ab4888
Branch: stable
User: martenson
Date: 2014-02-20 22:21:45
Summary: bugfix: reverted showing of terms_url
Affected #: 2 files
diff -r 2a68e5c0cbec107210d45cd35271ba80a7436f3c -r f58179ab488879a1a54821e98b4c65c048fa2fd6 static/scripts/galaxy.menu.js
--- a/static/scripts/galaxy.menu.js
+++ b/static/scripts/galaxy.menu.js
@@ -235,7 +235,7 @@
content : this.options.citation_url,
target : "_blank"
});
- if (!this.options.terms_url)
+ if (this.options.terms_url)
{
tab_help.add({
title : "Terms and Conditions",
diff -r 2a68e5c0cbec107210d45cd35271ba80a7436f3c -r f58179ab488879a1a54821e98b4c65c048fa2fd6 static/scripts/packed/galaxy.menu.js
--- a/static/scripts/packed/galaxy.menu.js
+++ b/static/scripts/packed/galaxy.menu.js
@@ -1,1 +1,1 @@
-define(["galaxy.masthead"],function(b){var a=Backbone.Model.extend({options:null,masthead:null,initialize:function(c){this.options=c.config;this.masthead=c.masthead;this.create()},create:function(){var e=new b.GalaxyMastheadTab({id:"analysis",title:"Analyze Data",content:"root/index",title_attribute:"Analysis home view"});this.masthead.append(e);var g={id:"workflow",title:"Workflow",content:"workflow",title_attribute:"Chain tools into workflows"};if(!this.options.user.valid){g.disabled=true}var d=new b.GalaxyMastheadTab(g);this.masthead.append(d);var i=new b.GalaxyMastheadTab({id:"shared",title:"Shared Data",content:"library/index",title_attribute:"Access published resources"});i.add({title:"Data Libraries",content:"library/index"});i.add({title:"Data Libraries Beta",content:"library/list",divider:true});i.add({title:"Published Histories",content:"history/list_published"});i.add({title:"Published Workflows",content:"workflow/list_published"});i.add({title:"Published Visualizations",content:"visualization/list_published"});i.add({title:"Published Pages",content:"page/list_published"});this.masthead.append(i);if(this.options.user.requests){var j=new b.GalaxyMastheadTab({id:"lab",title:"Lab"});j.add({title:"Sequencing Requests",content:"requests/index"});j.add({title:"Find Samples",content:"requests/find_samples_index"});j.add({title:"Help",content:this.options.lims_doc_url});this.masthead.append(j)}var c={id:"visualization",title:"Visualization",content:"visualization/list",title_attribute:"Visualize datasets"};if(!this.options.user.valid){c.disabled=true}var m=new b.GalaxyMastheadTab(c);if(this.options.user.valid){m.add({title:"New Track Browser",content:"visualization/trackster",target:"_frame"});m.add({title:"Saved Visualizations",content:"visualization/list",target:"_frame"})}this.masthead.append(m);if(this.options.enable_cloud_launch){var f=new b.GalaxyMastheadTab({id:"cloud",title:"Cloud",content:"cloudlaunch/index"});f.add({title:"New Cloud Cluster",content:"cloudlaunch/index"});this.masthead.append(f)}if(this.options.is_admin_user){var h=new b.GalaxyMastheadTab({id:"admin",title:"Admin",content:"admin/index",extra_class:"admin-only",title_attribute:"Administer this Galaxy"});this.masthead.append(h)}var l=new b.GalaxyMastheadTab({id:"help",title:"Help",title_attribute:"Support, contact, and community hubs"});if(this.options.biostar_url){l.add({title:"Galaxy Q&A Site",content:this.options.biostar_url_redirect,target:"_blank"});l.add({title:"Ask a question",content:"biostar/biostar_question_redirect",target:"_blank"})}l.add({title:"Support",content:this.options.support_url,target:"_blank"});l.add({title:"Search",content:this.options.search_url,target:"_blank"});l.add({title:"Mailing Lists",content:this.options.mailing_lists,target:"_blank"});l.add({title:"Videos",content:this.options.screencasts_url,target:"_blank"});l.add({title:"Wiki",content:this.options.wiki_url,target:"_blank"});l.add({title:"How to Cite Galaxy",content:this.options.citation_url,target:"_blank"});if(!this.options.terms_url){l.add({title:"Terms and Conditions",content:this.options.terms_url,target:"_blank"})}this.masthead.append(l);if(!this.options.user.valid){var k=new b.GalaxyMastheadTab({id:"user",title:"User",extra_class:"loggedout-only",title_attribute:"Account registration or login"});k.add({title:"Login",content:"user/login",target:"galaxy_main"});if(this.options.allow_user_creation){k.add({title:"Register",content:"user/create",target:"galaxy_main"})}this.masthead.append(k)}else{var k=new b.GalaxyMastheadTab({id:"user",title:"User",extra_class:"loggedin-only",title_attribute:"Account preferences and saved data"});k.add({title:"Logged in as "+this.options.user.email});if(this.options.use_remote_user&&this.options.remote_user_logout_href){k.add({title:"Logout",content:this.options.remote_user_logout_href,target:"_top"})}else{k.add({title:"Preferences",content:"user?cntrller=user",target:"galaxy_main"});k.add({title:"Custom Builds",content:"user/dbkeys",target:"galaxy_main"});k.add({title:"Logout",content:"user/logout",target:"_top",divider:true})}k.add({title:"Saved Histories",content:"history/list",target:"galaxy_main"});k.add({title:"Saved Datasets",content:"dataset/list",target:"galaxy_main"});k.add({title:"Saved Pages",content:"page/list",target:"_top"});k.add({title:"API Keys",content:"user/api_keys?cntrller=user",target:"galaxy_main"});if(this.options.use_remote_user){k.add({title:"Public Name",content:"user/edit_username?cntrller=user",target:"galaxy_main"})}this.masthead.append(k)}if(this.options.active_view){this.masthead.highlight(this.options.active_view)}}});return{GalaxyMenu:a}});
\ No newline at end of file
+define(["galaxy.masthead"],function(b){var a=Backbone.Model.extend({options:null,masthead:null,initialize:function(c){this.options=c.config;this.masthead=c.masthead;this.create()},create:function(){var e=new b.GalaxyMastheadTab({id:"analysis",title:"Analyze Data",content:"root/index",title_attribute:"Analysis home view"});this.masthead.append(e);var g={id:"workflow",title:"Workflow",content:"workflow",title_attribute:"Chain tools into workflows"};if(!this.options.user.valid){g.disabled=true}var d=new b.GalaxyMastheadTab(g);this.masthead.append(d);var i=new b.GalaxyMastheadTab({id:"shared",title:"Shared Data",content:"library/index",title_attribute:"Access published resources"});i.add({title:"Data Libraries",content:"library/index"});i.add({title:"Data Libraries Beta",content:"library/list",divider:true});i.add({title:"Published Histories",content:"history/list_published"});i.add({title:"Published Workflows",content:"workflow/list_published"});i.add({title:"Published Visualizations",content:"visualization/list_published"});i.add({title:"Published Pages",content:"page/list_published"});this.masthead.append(i);if(this.options.user.requests){var j=new b.GalaxyMastheadTab({id:"lab",title:"Lab"});j.add({title:"Sequencing Requests",content:"requests/index"});j.add({title:"Find Samples",content:"requests/find_samples_index"});j.add({title:"Help",content:this.options.lims_doc_url});this.masthead.append(j)}var c={id:"visualization",title:"Visualization",content:"visualization/list",title_attribute:"Visualize datasets"};if(!this.options.user.valid){c.disabled=true}var m=new b.GalaxyMastheadTab(c);if(this.options.user.valid){m.add({title:"New Track Browser",content:"visualization/trackster",target:"_frame"});m.add({title:"Saved Visualizations",content:"visualization/list",target:"_frame"})}this.masthead.append(m);if(this.options.enable_cloud_launch){var f=new b.GalaxyMastheadTab({id:"cloud",title:"Cloud",content:"cloudlaunch/index"});f.add({title:"New Cloud Cluster",content:"cloudlaunch/index"});this.masthead.append(f)}if(this.options.is_admin_user){var h=new b.GalaxyMastheadTab({id:"admin",title:"Admin",content:"admin/index",extra_class:"admin-only",title_attribute:"Administer this Galaxy"});this.masthead.append(h)}var l=new b.GalaxyMastheadTab({id:"help",title:"Help",title_attribute:"Support, contact, and community hubs"});if(this.options.biostar_url){l.add({title:"Galaxy Q&A Site",content:this.options.biostar_url_redirect,target:"_blank"});l.add({title:"Ask a question",content:"biostar/biostar_question_redirect",target:"_blank"})}l.add({title:"Support",content:this.options.support_url,target:"_blank"});l.add({title:"Search",content:this.options.search_url,target:"_blank"});l.add({title:"Mailing Lists",content:this.options.mailing_lists,target:"_blank"});l.add({title:"Videos",content:this.options.screencasts_url,target:"_blank"});l.add({title:"Wiki",content:this.options.wiki_url,target:"_blank"});l.add({title:"How to Cite Galaxy",content:this.options.citation_url,target:"_blank"});if(this.options.terms_url){l.add({title:"Terms and Conditions",content:this.options.terms_url,target:"_blank"})}this.masthead.append(l);if(!this.options.user.valid){var k=new b.GalaxyMastheadTab({id:"user",title:"User",extra_class:"loggedout-only",title_attribute:"Account registration or login"});k.add({title:"Login",content:"user/login",target:"galaxy_main"});if(this.options.allow_user_creation){k.add({title:"Register",content:"user/create",target:"galaxy_main"})}this.masthead.append(k)}else{var k=new b.GalaxyMastheadTab({id:"user",title:"User",extra_class:"loggedin-only",title_attribute:"Account preferences and saved data"});k.add({title:"Logged in as "+this.options.user.email});if(this.options.use_remote_user&&this.options.remote_user_logout_href){k.add({title:"Logout",content:this.options.remote_user_logout_href,target:"_top"})}else{k.add({title:"Preferences",content:"user?cntrller=user",target:"galaxy_main"});k.add({title:"Custom Builds",content:"user/dbkeys",target:"galaxy_main"});k.add({title:"Logout",content:"user/logout",target:"_top",divider:true})}k.add({title:"Saved Histories",content:"history/list",target:"galaxy_main"});k.add({title:"Saved Datasets",content:"dataset/list",target:"galaxy_main"});k.add({title:"Saved Pages",content:"page/list",target:"_top"});k.add({title:"API Keys",content:"user/api_keys?cntrller=user",target:"galaxy_main"});if(this.options.use_remote_user){k.add({title:"Public Name",content:"user/edit_username?cntrller=user",target:"galaxy_main"})}this.masthead.append(k)}if(this.options.active_view){this.masthead.highlight(this.options.active_view)}}});return{GalaxyMenu:a}});
\ 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.
1
0
commit/galaxy-central: carlfeberhard: Remove debugging statement
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/f33b3f81fe2b/
Changeset: f33b3f81fe2b
User: carlfeberhard
Date: 2014-02-20 21:59:22
Summary: Remove debugging statement
Affected #: 2 files
diff -r 7b4be3dda0f29dca1f11da8675273350698c95be -r f33b3f81fe2ba741cded20cb0b29e0708fbc05ed static/scripts/mvc/history/current-history-panel.js
--- a/static/scripts/mvc/history/current-history-panel.js
+++ b/static/scripts/mvc/history/current-history-panel.js
@@ -205,8 +205,8 @@
return this;
},
+ /** perform additional rendering based on preferences */
renderBasedOnPrefs : function(){
- console.debug( 'renderBasedOnPrefs', this.preferences.toJSON() )
if( this.preferences.get( 'searching' ) ){
this.showSearchControls( 0 );
}
diff -r 7b4be3dda0f29dca1f11da8675273350698c95be -r f33b3f81fe2ba741cded20cb0b29e0708fbc05ed static/scripts/packed/mvc/history/current-history-panel.js
--- a/static/scripts/packed/mvc/history/current-history-panel.js
+++ b/static/scripts/packed/mvc/history/current-history-panel.js
@@ -1,1 +1,1 @@
-define(["mvc/dataset/hda-edit","mvc/history/history-panel"],function(b,e){var c=SessionStorageModel.extend({defaults:{searching:false,tagsEditorShown:false,annotationEditorShown:false},toString:function(){return"HistoryPanelPrefs("+JSON.stringify(this.toJSON())+")"}});c.storageKey=function d(){return("history-panel")};var a=e.HistoryPanel.extend({HDAViewClass:b.HDAEditView,emptyMsg:_l("This history is empty. Click 'Get Data' on the left pane to start"),noneFoundMsg:_l("No matching datasets found"),initialize:function(f){f=f||{};this.preferences=new c(_.extend({id:c.storageKey()},_.pick(f,_.keys(c.prototype.defaults))));e.HistoryPanel.prototype.initialize.call(this,f);if(this.model){console.debug(this.model);this.model.checkForUpdates()}},loadCurrentHistory:function(g){var f=this;return this.loadHistoryWithHDADetails("current",g).then(function(i,h){f.trigger("current-history",f)})},switchToHistory:function(i,h){var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories/"+i+"/set_as_current")};return this.loadHistoryWithHDADetails(i,h,g).then(function(k,j){f.trigger("switched-history",f)})},createNewHistory:function(h){if(!Galaxy||!Galaxy.currUser||Galaxy.currUser.isAnonymous()){this.displayMessage("error",_l("You must be logged in to create histories"));return $.when()}var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories",{current:true})};return this.loadHistory(undefined,h,g).then(function(j,i){f.trigger("new-history",f)})},setModel:function(h,f,g){g=g||{};e.HistoryPanel.prototype.setModel.call(this,h,f,g);this.model.checkForUpdates();return this},_setUpModelEventHandlers:function(){e.HistoryPanel.prototype._setUpModelEventHandlers.call(this);if(Galaxy&&Galaxy.quotaMeter){this.listenTo(this.model,"change:nice_size",function(){Galaxy.quotaMeter.update()})}this.model.hdas.on("state:ready",function(g,h,f){if((!g.get("visible"))&&(!this.storage.get("show_hidden"))){this.removeHdaView(this.hdaViews[g.id])}},this)},render:function(h,i){h=(h===undefined)?(this.fxSpeed):(h);var f=this,g;if(this.model){g=this.renderModel()}else{g=this.renderWithoutModel()}$(f).queue("fx",[function(j){if(h&&f.$el.is(":visible")){f.$el.fadeOut(h,j)}else{j()}},function(j){f.$el.empty();if(g){f.$el.append(g.children());f.renderBasedOnPrefs()}j()},function(j){if(h&&!f.$el.is(":visible")){f.$el.fadeIn(h,j)}else{j()}},function(j){if(i){i.call(this)}f.trigger("rendered",this);j()}]);return this},renderBasedOnPrefs:function(){console.debug("renderBasedOnPrefs",this.preferences.toJSON());if(this.preferences.get("searching")){this.showSearchControls(0)}},_renderTags:function(f){var g=this;e.HistoryPanel.prototype._renderTags.call(this,f);if(this.preferences.get("tagsEditorShown")){this.tagsEditor.toggle(true)}this.tagsEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(h){g.preferences.set("tagsEditorShown",h.hidden)})},_renderAnnotation:function(f){var g=this;e.HistoryPanel.prototype._renderAnnotation.call(this,f);if(this.preferences.get("annotationEditorShown")){this.annotationEditor.toggle(true)}this.annotationEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(h){g.preferences.set("annotationEditorShown",h.hidden)})},connectToQuotaMeter:function(f){if(!f){return this}this.listenTo(f,"quota:over",this.showQuotaMessage);this.listenTo(f,"quota:under",this.hideQuotaMessage);this.on("rendered rendered:initial",function(){if(f&&f.isOverQuota()){this.showQuotaMessage()}});return this},showQuotaMessage:function(){var f=this.$el.find(".quota-message");if(f.is(":hidden")){f.slideDown(this.fxSpeed)}},hideQuotaMessage:function(){var f=this.$el.find(".quota-message");if(!f.is(":hidden")){f.slideUp(this.fxSpeed)}},connectToOptionsMenu:function(f){if(!f){return this}this.on("new-storage",function(h,g){if(f&&h){f.findItemByHtml(_l("Include Deleted Datasets")).checked=h.get("show_deleted");f.findItemByHtml(_l("Include Hidden Datasets")).checked=h.get("show_hidden")}});return this},toString:function(){return"CurrentHistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});return{CurrentHistoryPanel:a}});
\ No newline at end of file
+define(["mvc/dataset/hda-edit","mvc/history/history-panel"],function(b,e){var c=SessionStorageModel.extend({defaults:{searching:false,tagsEditorShown:false,annotationEditorShown:false},toString:function(){return"HistoryPanelPrefs("+JSON.stringify(this.toJSON())+")"}});c.storageKey=function d(){return("history-panel")};var a=e.HistoryPanel.extend({HDAViewClass:b.HDAEditView,emptyMsg:_l("This history is empty. Click 'Get Data' on the left pane to start"),noneFoundMsg:_l("No matching datasets found"),initialize:function(f){f=f||{};this.preferences=new c(_.extend({id:c.storageKey()},_.pick(f,_.keys(c.prototype.defaults))));e.HistoryPanel.prototype.initialize.call(this,f);if(this.model){console.debug(this.model);this.model.checkForUpdates()}},loadCurrentHistory:function(g){var f=this;return this.loadHistoryWithHDADetails("current",g).then(function(i,h){f.trigger("current-history",f)})},switchToHistory:function(i,h){var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories/"+i+"/set_as_current")};return this.loadHistoryWithHDADetails(i,h,g).then(function(k,j){f.trigger("switched-history",f)})},createNewHistory:function(h){if(!Galaxy||!Galaxy.currUser||Galaxy.currUser.isAnonymous()){this.displayMessage("error",_l("You must be logged in to create histories"));return $.when()}var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories",{current:true})};return this.loadHistory(undefined,h,g).then(function(j,i){f.trigger("new-history",f)})},setModel:function(h,f,g){g=g||{};e.HistoryPanel.prototype.setModel.call(this,h,f,g);this.model.checkForUpdates();return this},_setUpModelEventHandlers:function(){e.HistoryPanel.prototype._setUpModelEventHandlers.call(this);if(Galaxy&&Galaxy.quotaMeter){this.listenTo(this.model,"change:nice_size",function(){Galaxy.quotaMeter.update()})}this.model.hdas.on("state:ready",function(g,h,f){if((!g.get("visible"))&&(!this.storage.get("show_hidden"))){this.removeHdaView(this.hdaViews[g.id])}},this)},render:function(h,i){h=(h===undefined)?(this.fxSpeed):(h);var f=this,g;if(this.model){g=this.renderModel()}else{g=this.renderWithoutModel()}$(f).queue("fx",[function(j){if(h&&f.$el.is(":visible")){f.$el.fadeOut(h,j)}else{j()}},function(j){f.$el.empty();if(g){f.$el.append(g.children());f.renderBasedOnPrefs()}j()},function(j){if(h&&!f.$el.is(":visible")){f.$el.fadeIn(h,j)}else{j()}},function(j){if(i){i.call(this)}f.trigger("rendered",this);j()}]);return this},renderBasedOnPrefs:function(){if(this.preferences.get("searching")){this.showSearchControls(0)}},_renderTags:function(f){var g=this;e.HistoryPanel.prototype._renderTags.call(this,f);if(this.preferences.get("tagsEditorShown")){this.tagsEditor.toggle(true)}this.tagsEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(h){g.preferences.set("tagsEditorShown",h.hidden)})},_renderAnnotation:function(f){var g=this;e.HistoryPanel.prototype._renderAnnotation.call(this,f);if(this.preferences.get("annotationEditorShown")){this.annotationEditor.toggle(true)}this.annotationEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(h){g.preferences.set("annotationEditorShown",h.hidden)})},connectToQuotaMeter:function(f){if(!f){return this}this.listenTo(f,"quota:over",this.showQuotaMessage);this.listenTo(f,"quota:under",this.hideQuotaMessage);this.on("rendered rendered:initial",function(){if(f&&f.isOverQuota()){this.showQuotaMessage()}});return this},showQuotaMessage:function(){var f=this.$el.find(".quota-message");if(f.is(":hidden")){f.slideDown(this.fxSpeed)}},hideQuotaMessage:function(){var f=this.$el.find(".quota-message");if(!f.is(":hidden")){f.slideUp(this.fxSpeed)}},connectToOptionsMenu:function(f){if(!f){return this}this.on("new-storage",function(h,g){if(f&&h){f.findItemByHtml(_l("Include Deleted Datasets")).checked=h.get("show_deleted");f.findItemByHtml(_l("Include Hidden Datasets")).checked=h.get("show_hidden")}});return this},toString:function(){return"CurrentHistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});return{CurrentHistoryPanel:a}});
\ 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.
1
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/2a68e5c0cbec/
Changeset: 2a68e5c0cbec
Branch: stable
User: davebgx
Date: 2014-02-19 21:21:12
Summary: Fix for situation where duplicate database records would be created if a repository was uninstalled and reinstalled after getting updates from the tool shed.
Affected #: 2 files
diff -r 1480f00e6bdcebe043b695fa1daaa0220fc0c086 -r 2a68e5c0cbec107210d45cd35271ba80a7436f3c lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
--- a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
+++ b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
@@ -1381,7 +1381,7 @@
repository_dependencies = repository_dependency_util.get_repository_dependencies_for_installed_tool_shed_repository( trans, tool_shed_repository )
repo_info_dict = repository_util.create_repo_info_dict( trans=trans,
repository_clone_url=repository_clone_url,
- changeset_revision=tool_shed_repository.changeset_revision,
+ changeset_revision=tool_shed_repository.installed_changeset_revision,
ctx_rev=tool_shed_repository.ctx_rev,
repository_owner=tool_shed_repository.owner,
repository_name=tool_shed_repository.name,
diff -r 1480f00e6bdcebe043b695fa1daaa0220fc0c086 -r 2a68e5c0cbec107210d45cd35271ba80a7436f3c lib/tool_shed/util/shed_util_common.py
--- a/lib/tool_shed/util/shed_util_common.py
+++ b/lib/tool_shed/util/shed_util_common.py
@@ -1617,6 +1617,13 @@
except:
pass
+def __repository_query( app ):
+ if app.name == "galaxy":
+ query = app.install_model.context.query( app.install_model.ToolShedRepository )
+ else:
+ query = app.model.context.query( app.model.Repository )
+ return query
+
def repository_was_previously_installed( trans, tool_shed_url, repository_name, repo_info_tuple ):
"""
Find out if a repository is already installed into Galaxy - there are several scenarios where this
@@ -1866,10 +1873,3 @@
for arg in args:
parts.append( arg.strip( '/' ) )
return '/'.join( parts )
-
-def __repository_query( app ):
- if app.name == "galaxy":
- query = app.install_model.context.query( app.install_model.ToolShedRepository )
- else:
- query = app.model.context.query( app.model.Repository )
- return query
https://bitbucket.org/galaxy/galaxy-central/commits/7b4be3dda0f2/
Changeset: 7b4be3dda0f2
User: davebgx
Date: 2014-02-20 21:52:09
Summary: Merge stable.
Affected #: 1 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.
1
0
commit/galaxy-central: carlfeberhard: Fix to persistance between page loads of tags, annotations shown/hidden in history panel
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/5d7c48b9d167/
Changeset: 5d7c48b9d167
User: carlfeberhard
Date: 2014-02-20 20:03:21
Summary: Fix to persistance between page loads of tags, annotations shown/hidden in history panel
Affected #: 4 files
diff -r b90d953f77fa633f0c4a46e177118562191bc1b7 -r 5d7c48b9d16761daaac1ecf7674812e440558f18 static/scripts/mvc/history/current-history-panel.js
--- a/static/scripts/mvc/history/current-history-panel.js
+++ b/static/scripts/mvc/history/current-history-panel.js
@@ -206,11 +206,39 @@
},
renderBasedOnPrefs : function(){
+ console.debug( 'renderBasedOnPrefs', this.preferences.toJSON() )
if( this.preferences.get( 'searching' ) ){
this.showSearchControls( 0 );
}
},
+ _renderTags : function( $where ){
+ var panel = this;
+ // render tags and show/hide based on preferences
+ hpanel.HistoryPanel.prototype._renderTags.call( this, $where );
+ if( this.preferences.get( 'tagsEditorShown' ) ){
+ this.tagsEditor.toggle( true );
+ }
+ // store preference when shown or hidden
+ this.tagsEditor.on( 'hiddenUntilActivated:shown hiddenUntilActivated:hidden',
+ function( tagsEditor ){
+ panel.preferences.set( 'tagsEditorShown', tagsEditor.hidden );
+ });
+ },
+ _renderAnnotation : function( $where ){
+ var panel = this;
+ // render annotation and show/hide based on preferences
+ hpanel.HistoryPanel.prototype._renderAnnotation.call( this, $where );
+ if( this.preferences.get( 'annotationEditorShown' ) ){
+ this.annotationEditor.toggle( true );
+ }
+ // store preference when shown or hidden
+ this.annotationEditor.on( 'hiddenUntilActivated:shown hiddenUntilActivated:hidden',
+ function( annotationEditor ){
+ panel.preferences.set( 'annotationEditorShown', annotationEditor.hidden );
+ });
+ },
+
// ........................................................................ external objects/MVC
//TODO: remove quota meter from panel and remove this
/** add listeners to an external quota meter (mvc/user/user-quotameter.js) */
diff -r b90d953f77fa633f0c4a46e177118562191bc1b7 -r 5d7c48b9d16761daaac1ecf7674812e440558f18 static/scripts/mvc/history/history-panel.js
--- a/static/scripts/mvc/history/history-panel.js
+++ b/static/scripts/mvc/history/history-panel.js
@@ -255,8 +255,8 @@
selectable : this.selecting,
hasUser : this.model.ownedByCurrUser(),
logger : this.logger,
- tagsEditorShown : ( this.tagsEditor && !this.tagsEditor.isHidden() ),
- annotationEditorShown : ( this.annotationEditor && !this.annotationEditor.isHidden() )
+ tagsEditorShown : ( this.tagsEditor && !this.tagsEditor.hidden ),
+ annotationEditorShown : ( this.annotationEditor && !this.annotationEditor.hidden )
});
this._setUpHdaListeners( hdaView );
return hdaView;
diff -r b90d953f77fa633f0c4a46e177118562191bc1b7 -r 5d7c48b9d16761daaac1ecf7674812e440558f18 static/scripts/packed/mvc/history/current-history-panel.js
--- a/static/scripts/packed/mvc/history/current-history-panel.js
+++ b/static/scripts/packed/mvc/history/current-history-panel.js
@@ -1,1 +1,1 @@
-define(["mvc/dataset/hda-edit","mvc/history/history-panel"],function(b,e){var c=SessionStorageModel.extend({defaults:{searching:false,tagsEditorShown:false,annotationEditorShown:false},toString:function(){return"HistoryPanelPrefs("+JSON.stringify(this.toJSON())+")"}});c.storageKey=function d(){return("history-panel")};var a=e.HistoryPanel.extend({HDAViewClass:b.HDAEditView,emptyMsg:_l("This history is empty. Click 'Get Data' on the left pane to start"),noneFoundMsg:_l("No matching datasets found"),initialize:function(f){f=f||{};this.preferences=new c(_.extend({id:c.storageKey()},_.pick(f,_.keys(c.prototype.defaults))));e.HistoryPanel.prototype.initialize.call(this,f);if(this.model){console.debug(this.model);this.model.checkForUpdates()}},loadCurrentHistory:function(g){var f=this;return this.loadHistoryWithHDADetails("current",g).then(function(i,h){f.trigger("current-history",f)})},switchToHistory:function(i,h){var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories/"+i+"/set_as_current")};return this.loadHistoryWithHDADetails(i,h,g).then(function(k,j){f.trigger("switched-history",f)})},createNewHistory:function(h){if(!Galaxy||!Galaxy.currUser||Galaxy.currUser.isAnonymous()){this.displayMessage("error",_l("You must be logged in to create histories"));return $.when()}var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories",{current:true})};return this.loadHistory(undefined,h,g).then(function(j,i){f.trigger("new-history",f)})},setModel:function(h,f,g){g=g||{};e.HistoryPanel.prototype.setModel.call(this,h,f,g);this.model.checkForUpdates();return this},_setUpModelEventHandlers:function(){e.HistoryPanel.prototype._setUpModelEventHandlers.call(this);if(Galaxy&&Galaxy.quotaMeter){this.listenTo(this.model,"change:nice_size",function(){Galaxy.quotaMeter.update()})}this.model.hdas.on("state:ready",function(g,h,f){if((!g.get("visible"))&&(!this.storage.get("show_hidden"))){this.removeHdaView(this.hdaViews[g.id])}},this)},render:function(h,i){h=(h===undefined)?(this.fxSpeed):(h);var f=this,g;if(this.model){g=this.renderModel()}else{g=this.renderWithoutModel()}$(f).queue("fx",[function(j){if(h&&f.$el.is(":visible")){f.$el.fadeOut(h,j)}else{j()}},function(j){f.$el.empty();if(g){f.$el.append(g.children());f.renderBasedOnPrefs()}j()},function(j){if(h&&!f.$el.is(":visible")){f.$el.fadeIn(h,j)}else{j()}},function(j){if(i){i.call(this)}f.trigger("rendered",this);j()}]);return this},renderBasedOnPrefs:function(){if(this.preferences.get("searching")){this.showSearchControls(0)}},connectToQuotaMeter:function(f){if(!f){return this}this.listenTo(f,"quota:over",this.showQuotaMessage);this.listenTo(f,"quota:under",this.hideQuotaMessage);this.on("rendered rendered:initial",function(){if(f&&f.isOverQuota()){this.showQuotaMessage()}});return this},showQuotaMessage:function(){var f=this.$el.find(".quota-message");if(f.is(":hidden")){f.slideDown(this.fxSpeed)}},hideQuotaMessage:function(){var f=this.$el.find(".quota-message");if(!f.is(":hidden")){f.slideUp(this.fxSpeed)}},connectToOptionsMenu:function(f){if(!f){return this}this.on("new-storage",function(h,g){if(f&&h){f.findItemByHtml(_l("Include Deleted Datasets")).checked=h.get("show_deleted");f.findItemByHtml(_l("Include Hidden Datasets")).checked=h.get("show_hidden")}});return this},toString:function(){return"CurrentHistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});return{CurrentHistoryPanel:a}});
\ No newline at end of file
+define(["mvc/dataset/hda-edit","mvc/history/history-panel"],function(b,e){var c=SessionStorageModel.extend({defaults:{searching:false,tagsEditorShown:false,annotationEditorShown:false},toString:function(){return"HistoryPanelPrefs("+JSON.stringify(this.toJSON())+")"}});c.storageKey=function d(){return("history-panel")};var a=e.HistoryPanel.extend({HDAViewClass:b.HDAEditView,emptyMsg:_l("This history is empty. Click 'Get Data' on the left pane to start"),noneFoundMsg:_l("No matching datasets found"),initialize:function(f){f=f||{};this.preferences=new c(_.extend({id:c.storageKey()},_.pick(f,_.keys(c.prototype.defaults))));e.HistoryPanel.prototype.initialize.call(this,f);if(this.model){console.debug(this.model);this.model.checkForUpdates()}},loadCurrentHistory:function(g){var f=this;return this.loadHistoryWithHDADetails("current",g).then(function(i,h){f.trigger("current-history",f)})},switchToHistory:function(i,h){var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories/"+i+"/set_as_current")};return this.loadHistoryWithHDADetails(i,h,g).then(function(k,j){f.trigger("switched-history",f)})},createNewHistory:function(h){if(!Galaxy||!Galaxy.currUser||Galaxy.currUser.isAnonymous()){this.displayMessage("error",_l("You must be logged in to create histories"));return $.when()}var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories",{current:true})};return this.loadHistory(undefined,h,g).then(function(j,i){f.trigger("new-history",f)})},setModel:function(h,f,g){g=g||{};e.HistoryPanel.prototype.setModel.call(this,h,f,g);this.model.checkForUpdates();return this},_setUpModelEventHandlers:function(){e.HistoryPanel.prototype._setUpModelEventHandlers.call(this);if(Galaxy&&Galaxy.quotaMeter){this.listenTo(this.model,"change:nice_size",function(){Galaxy.quotaMeter.update()})}this.model.hdas.on("state:ready",function(g,h,f){if((!g.get("visible"))&&(!this.storage.get("show_hidden"))){this.removeHdaView(this.hdaViews[g.id])}},this)},render:function(h,i){h=(h===undefined)?(this.fxSpeed):(h);var f=this,g;if(this.model){g=this.renderModel()}else{g=this.renderWithoutModel()}$(f).queue("fx",[function(j){if(h&&f.$el.is(":visible")){f.$el.fadeOut(h,j)}else{j()}},function(j){f.$el.empty();if(g){f.$el.append(g.children());f.renderBasedOnPrefs()}j()},function(j){if(h&&!f.$el.is(":visible")){f.$el.fadeIn(h,j)}else{j()}},function(j){if(i){i.call(this)}f.trigger("rendered",this);j()}]);return this},renderBasedOnPrefs:function(){console.debug("renderBasedOnPrefs",this.preferences.toJSON());if(this.preferences.get("searching")){this.showSearchControls(0)}},_renderTags:function(f){var g=this;e.HistoryPanel.prototype._renderTags.call(this,f);if(this.preferences.get("tagsEditorShown")){this.tagsEditor.toggle(true)}this.tagsEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(h){g.preferences.set("tagsEditorShown",h.hidden)})},_renderAnnotation:function(f){var g=this;e.HistoryPanel.prototype._renderAnnotation.call(this,f);if(this.preferences.get("annotationEditorShown")){this.annotationEditor.toggle(true)}this.annotationEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(h){g.preferences.set("annotationEditorShown",h.hidden)})},connectToQuotaMeter:function(f){if(!f){return this}this.listenTo(f,"quota:over",this.showQuotaMessage);this.listenTo(f,"quota:under",this.hideQuotaMessage);this.on("rendered rendered:initial",function(){if(f&&f.isOverQuota()){this.showQuotaMessage()}});return this},showQuotaMessage:function(){var f=this.$el.find(".quota-message");if(f.is(":hidden")){f.slideDown(this.fxSpeed)}},hideQuotaMessage:function(){var f=this.$el.find(".quota-message");if(!f.is(":hidden")){f.slideUp(this.fxSpeed)}},connectToOptionsMenu:function(f){if(!f){return this}this.on("new-storage",function(h,g){if(f&&h){f.findItemByHtml(_l("Include Deleted Datasets")).checked=h.get("show_deleted");f.findItemByHtml(_l("Include Hidden Datasets")).checked=h.get("show_hidden")}});return this},toString:function(){return"CurrentHistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});return{CurrentHistoryPanel:a}});
\ No newline at end of file
diff -r b90d953f77fa633f0c4a46e177118562191bc1b7 -r 5d7c48b9d16761daaac1ecf7674812e440558f18 static/scripts/packed/mvc/history/history-panel.js
--- a/static/scripts/packed/mvc/history/history-panel.js
+++ b/static/scripts/packed/mvc/history/history-panel.js
@@ -1,1 +1,1 @@
-define(["mvc/dataset/hda-model","mvc/dataset/hda-edit","mvc/history/readonly-history-panel"],function(c,a,b){var d=b.ReadOnlyHistoryPanel.extend({HDAViewClass:a.HDAEditView,initialize:function(e){e=e||{};this.selectedHdaIds=[];this.tagsEditor=null;this.annotationEditor=null;this.selecting=e.selecting||false;this.annotationEditorShown=e.annotationEditorShown||false;this.tagsEditorShown=e.tagsEditorShown||false;b.ReadOnlyHistoryPanel.prototype.initialize.call(this,e)},_setUpModelEventHandlers:function(){b.ReadOnlyHistoryPanel.prototype._setUpModelEventHandlers.call(this);this.model.on("change:nice_size",this.updateHistoryDiskSize,this);this.model.hdas.on("change:deleted",this.handleHdaDeletionChange,this);this.model.hdas.on("change:visible",this.handleHdaVisibleChange,this);this.model.hdas.on("change:purged",function(e){this.model.fetch()},this)},renderModel:function(){var e=$("<div/>");e.append(d.templates.historyPanel(this.model.toJSON()));if(Galaxy.currUser.id&&Galaxy.currUser.id===this.model.get("user_id")){this._renderTags(e);this._renderAnnotation(e)}e.find(".history-secondary-actions").prepend(this._renderSelectButton());e.find(".history-dataset-actions").toggle(this.selecting);e.find(".history-secondary-actions").prepend(this._renderSearchButton());this._setUpBehaviours(e);this.renderHdas(e);return e},_renderTags:function(e){var f=this;this.tagsEditor=new TagsEditor({model:this.model,el:e.find(".history-controls .tags-display"),onshowFirstTime:function(){this.render()},onshow:function(){f.toggleHDATagEditors(true,f.fxSpeed)},onhide:function(){f.toggleHDATagEditors(false,f.fxSpeed)},$activator:faIconButton({title:_l("Edit history tags"),classes:"history-tag-btn",faIcon:"fa-tags"}).appendTo(e.find(".history-secondary-actions"))})},_renderAnnotation:function(e){var f=this;this.annotationEditor=new AnnotationEditor({model:this.model,el:e.find(".history-controls .annotation-display"),onshowFirstTime:function(){this.render()},onshow:function(){f.toggleHDAAnnotationEditors(true,f.fxSpeed)},onhide:function(){f.toggleHDAAnnotationEditors(false,f.fxSpeed)},$activator:faIconButton({title:_l("Edit history Annotation"),classes:"history-annotate-btn",faIcon:"fa-comment"}).appendTo(e.find(".history-secondary-actions"))})},_renderSelectButton:function(e){return faIconButton({title:_l("Operations on multiple datasets"),classes:"history-select-btn",faIcon:"fa-check-square-o"})},_setUpBehaviours:function(e){e=e||this.$el;e.find("[title]").tooltip({placement:"bottom"});if(!this.model){return}this._setUpDatasetActionsPopup(e);if((!Galaxy.currUser||Galaxy.currUser.isAnonymous())||(Galaxy.currUser.id!==this.model.get("user_id"))){return}var f=this;e.find(".history-name").attr("title",_l("Click to rename history")).tooltip({placement:"bottom"}).make_text_editable({on_finish:function(g){var h=f.model.get("name");if(g&&g!==h){f.$el.find(".history-name").text(g);f.model.save({name:g}).fail(function(){f.$el.find(".history-name").text(f.model.previous("name"))})}else{f.$el.find(".history-name").text(h)}}})},_setUpDatasetActionsPopup:function(e){var f=this;(new PopupMenu(e.find(".history-dataset-action-popup-btn"),[{html:_l("Hide datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.hide;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Unhide datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.unhide;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Delete datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype["delete"];f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Undelete datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.undelete;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Permanently delete datasets"),func:function(){if(confirm(_l("This will permanently remove the data in your datasets. Are you sure?"))){var g=c.HistoryDatasetAssociation.prototype.purge;f.getSelectedHdaCollection().ajaxQueue(g)}}}]))},handleHdaDeletionChange:function(e){if(e.get("deleted")&&!this.storage.get("show_deleted")){this.removeHdaView(this.hdaViews[e.id])}},handleHdaVisibleChange:function(e){if(e.hidden()&&!this.storage.get("show_hidden")){this.removeHdaView(this.hdaViews[e.id])}},createHdaView:function(f){var e=f.get("id"),g=new this.HDAViewClass({model:f,linkTarget:this.linkTarget,expanded:this.storage.get("expandedHdas")[e],selectable:this.selecting,hasUser:this.model.ownedByCurrUser(),logger:this.logger,tagsEditorShown:(this.tagsEditor&&!this.tagsEditor.isHidden()),annotationEditorShown:(this.annotationEditor&&!this.annotationEditor.isHidden())});this._setUpHdaListeners(g);return g},_setUpHdaListeners:function(f){var e=this;b.ReadOnlyHistoryPanel.prototype._setUpHdaListeners.call(this,f);f.on("selected",function(g){var h=g.model.get("id");e.selectedHdaIds=_.union(e.selectedHdaIds,[h])});f.on("de-selected",function(g){var h=g.model.get("id");e.selectedHdaIds=_.without(e.selectedHdaIds,h)})},toggleHDATagEditors:function(e){var f=arguments;_.each(this.hdaViews,function(g){if(g.tagsEditor){g.tagsEditor.toggle.apply(g.tagsEditor,f)}})},toggleHDAAnnotationEditors:function(e){var f=arguments;_.each(this.hdaViews,function(g){if(g.annotationEditor){g.annotationEditor.toggle.apply(g.annotationEditor,f)}})},removeHdaView:function(f){if(!f){return}var e=this;f.$el.fadeOut(e.fxSpeed,function(){f.off();f.remove();delete e.hdaViews[f.model.id];if(_.isEmpty(e.hdaViews)){e.$el.find(e.emptyMsgSelector).fadeIn(e.fxSpeed,function(){e.trigger("empty-history",e)})}})},events:_.extend(_.clone(b.ReadOnlyHistoryPanel.prototype.events),{"click .history-select-btn":function(f){this.toggleSelectors(this.fxSpeed)},"click .history-select-all-datasets-btn":"selectAllDatasets","click .history-deselect-all-datasets-btn":"deselectAllDatasets"}),updateHistoryDiskSize:function(){this.$el.find(".history-size").text(this.model.get("nice_size"))},showSelectors:function(e){this.selecting=true;this.$el.find(".history-dataset-actions").slideDown(e);_.each(this.hdaViews,function(f){f.showSelector(e)});this.selectedHdaIds=[]},hideSelectors:function(e){this.selecting=false;this.$el.find(".history-dataset-actions").slideUp(e);_.each(this.hdaViews,function(f){f.hideSelector(e)});this.selectedHdaIds=[]},toggleSelectors:function(e){if(!this.selecting){this.showSelectors(e)}else{this.hideSelectors(e)}},selectAllDatasets:function(e){_.each(this.hdaViews,function(f){f.select(e)})},deselectAllDatasets:function(e){_.each(this.hdaViews,function(f){f.deselect(e)})},getSelectedHdaViews:function(){return _.filter(this.hdaViews,function(e){return e.selected})},getSelectedHdaCollection:function(){return new c.HDACollection(_.map(this.getSelectedHdaViews(),function(e){return e.model}),{historyId:this.model.id})},toString:function(){return"HistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});return{HistoryPanel:d}});
\ No newline at end of file
+define(["mvc/dataset/hda-model","mvc/dataset/hda-edit","mvc/history/readonly-history-panel"],function(c,a,b){var d=b.ReadOnlyHistoryPanel.extend({HDAViewClass:a.HDAEditView,initialize:function(e){e=e||{};this.selectedHdaIds=[];this.tagsEditor=null;this.annotationEditor=null;this.selecting=e.selecting||false;this.annotationEditorShown=e.annotationEditorShown||false;this.tagsEditorShown=e.tagsEditorShown||false;b.ReadOnlyHistoryPanel.prototype.initialize.call(this,e)},_setUpModelEventHandlers:function(){b.ReadOnlyHistoryPanel.prototype._setUpModelEventHandlers.call(this);this.model.on("change:nice_size",this.updateHistoryDiskSize,this);this.model.hdas.on("change:deleted",this.handleHdaDeletionChange,this);this.model.hdas.on("change:visible",this.handleHdaVisibleChange,this);this.model.hdas.on("change:purged",function(e){this.model.fetch()},this)},renderModel:function(){var e=$("<div/>");e.append(d.templates.historyPanel(this.model.toJSON()));if(Galaxy.currUser.id&&Galaxy.currUser.id===this.model.get("user_id")){this._renderTags(e);this._renderAnnotation(e)}e.find(".history-secondary-actions").prepend(this._renderSelectButton());e.find(".history-dataset-actions").toggle(this.selecting);e.find(".history-secondary-actions").prepend(this._renderSearchButton());this._setUpBehaviours(e);this.renderHdas(e);return e},_renderTags:function(e){var f=this;this.tagsEditor=new TagsEditor({model:this.model,el:e.find(".history-controls .tags-display"),onshowFirstTime:function(){this.render()},onshow:function(){f.toggleHDATagEditors(true,f.fxSpeed)},onhide:function(){f.toggleHDATagEditors(false,f.fxSpeed)},$activator:faIconButton({title:_l("Edit history tags"),classes:"history-tag-btn",faIcon:"fa-tags"}).appendTo(e.find(".history-secondary-actions"))})},_renderAnnotation:function(e){var f=this;this.annotationEditor=new AnnotationEditor({model:this.model,el:e.find(".history-controls .annotation-display"),onshowFirstTime:function(){this.render()},onshow:function(){f.toggleHDAAnnotationEditors(true,f.fxSpeed)},onhide:function(){f.toggleHDAAnnotationEditors(false,f.fxSpeed)},$activator:faIconButton({title:_l("Edit history Annotation"),classes:"history-annotate-btn",faIcon:"fa-comment"}).appendTo(e.find(".history-secondary-actions"))})},_renderSelectButton:function(e){return faIconButton({title:_l("Operations on multiple datasets"),classes:"history-select-btn",faIcon:"fa-check-square-o"})},_setUpBehaviours:function(e){e=e||this.$el;e.find("[title]").tooltip({placement:"bottom"});if(!this.model){return}this._setUpDatasetActionsPopup(e);if((!Galaxy.currUser||Galaxy.currUser.isAnonymous())||(Galaxy.currUser.id!==this.model.get("user_id"))){return}var f=this;e.find(".history-name").attr("title",_l("Click to rename history")).tooltip({placement:"bottom"}).make_text_editable({on_finish:function(g){var h=f.model.get("name");if(g&&g!==h){f.$el.find(".history-name").text(g);f.model.save({name:g}).fail(function(){f.$el.find(".history-name").text(f.model.previous("name"))})}else{f.$el.find(".history-name").text(h)}}})},_setUpDatasetActionsPopup:function(e){var f=this;(new PopupMenu(e.find(".history-dataset-action-popup-btn"),[{html:_l("Hide datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.hide;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Unhide datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.unhide;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Delete datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype["delete"];f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Undelete datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.undelete;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Permanently delete datasets"),func:function(){if(confirm(_l("This will permanently remove the data in your datasets. Are you sure?"))){var g=c.HistoryDatasetAssociation.prototype.purge;f.getSelectedHdaCollection().ajaxQueue(g)}}}]))},handleHdaDeletionChange:function(e){if(e.get("deleted")&&!this.storage.get("show_deleted")){this.removeHdaView(this.hdaViews[e.id])}},handleHdaVisibleChange:function(e){if(e.hidden()&&!this.storage.get("show_hidden")){this.removeHdaView(this.hdaViews[e.id])}},createHdaView:function(f){var e=f.get("id"),g=new this.HDAViewClass({model:f,linkTarget:this.linkTarget,expanded:this.storage.get("expandedHdas")[e],selectable:this.selecting,hasUser:this.model.ownedByCurrUser(),logger:this.logger,tagsEditorShown:(this.tagsEditor&&!this.tagsEditor.hidden),annotationEditorShown:(this.annotationEditor&&!this.annotationEditor.hidden)});this._setUpHdaListeners(g);return g},_setUpHdaListeners:function(f){var e=this;b.ReadOnlyHistoryPanel.prototype._setUpHdaListeners.call(this,f);f.on("selected",function(g){var h=g.model.get("id");e.selectedHdaIds=_.union(e.selectedHdaIds,[h])});f.on("de-selected",function(g){var h=g.model.get("id");e.selectedHdaIds=_.without(e.selectedHdaIds,h)})},toggleHDATagEditors:function(e){var f=arguments;_.each(this.hdaViews,function(g){if(g.tagsEditor){g.tagsEditor.toggle.apply(g.tagsEditor,f)}})},toggleHDAAnnotationEditors:function(e){var f=arguments;_.each(this.hdaViews,function(g){if(g.annotationEditor){g.annotationEditor.toggle.apply(g.annotationEditor,f)}})},removeHdaView:function(f){if(!f){return}var e=this;f.$el.fadeOut(e.fxSpeed,function(){f.off();f.remove();delete e.hdaViews[f.model.id];if(_.isEmpty(e.hdaViews)){e.$el.find(e.emptyMsgSelector).fadeIn(e.fxSpeed,function(){e.trigger("empty-history",e)})}})},events:_.extend(_.clone(b.ReadOnlyHistoryPanel.prototype.events),{"click .history-select-btn":function(f){this.toggleSelectors(this.fxSpeed)},"click .history-select-all-datasets-btn":"selectAllDatasets","click .history-deselect-all-datasets-btn":"deselectAllDatasets"}),updateHistoryDiskSize:function(){this.$el.find(".history-size").text(this.model.get("nice_size"))},showSelectors:function(e){this.selecting=true;this.$el.find(".history-dataset-actions").slideDown(e);_.each(this.hdaViews,function(f){f.showSelector(e)});this.selectedHdaIds=[]},hideSelectors:function(e){this.selecting=false;this.$el.find(".history-dataset-actions").slideUp(e);_.each(this.hdaViews,function(f){f.hideSelector(e)});this.selectedHdaIds=[]},toggleSelectors:function(e){if(!this.selecting){this.showSelectors(e)}else{this.hideSelectors(e)}},selectAllDatasets:function(e){_.each(this.hdaViews,function(f){f.select(e)})},deselectAllDatasets:function(e){_.each(this.hdaViews,function(f){f.deselect(e)})},getSelectedHdaViews:function(){return _.filter(this.hdaViews,function(e){return e.selected})},getSelectedHdaCollection:function(){return new c.HDACollection(_.map(this.getSelectedHdaViews(),function(e){return e.model}),{historyId:this.model.id})},toString:function(){return"HistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});return{HistoryPanel:d}});
\ 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.
1
0
commit/galaxy-central: guerler: Fix default parameter in universe config
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/b90d953f77fa/
Changeset: b90d953f77fa
User: guerler
Date: 2014-02-20 19:27:57
Summary: Fix default parameter in universe config
Affected #: 1 file
diff -r c36dc4155beb0ae5e117ca33e0ad231535186d6d -r b90d953f77fa633f0c4a46e177118562191bc1b7 universe_wsgi.ini.sample
--- a/universe_wsgi.ini.sample
+++ b/universe_wsgi.ini.sample
@@ -183,7 +183,7 @@
#datatypes_config_file = datatypes_conf.xml
# Disable the 'Auto-detect' option for file uploads
-#datatypes_disable_auto = True
+#datatypes_disable_auto = False
# Visualizations config directory: where to look for individual visualization plugins.
# The path is relative to the Galaxy root dir. To use an absolute path begin the path
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
0