1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/fe2fdbbecd85/
Changeset: fe2fdbbecd85
User: dannon
Date: 2014-01-22 22:03:57
Summary: Use url_for with webhelpers + reinstate previous absolute path w/ slash.
Affected #: 1 file
diff -r 4f898ebb8a0fe36c762ed61f09847af8afcfbd79 -r fe2fdbbecd853aafbd0d5748c796d37399d98bd6 lib/galaxy/web/framework/helpers/__init__.py
--- a/lib/galaxy/web/framework/helpers/__init__.py
+++ b/lib/galaxy/web/framework/helpers/__init__.py
@@ -57,7 +57,7 @@
Cache-bust with time that server started running on
"""
- return "\n".join( [ stylesheet_link( "static/style/" + name + ".css?v=%s" % server_starttime ) for name in args ] )
+ return "\n".join( [ stylesheet_link( url_for( "/static/style/%s.css?v=%s" % (name, server_starttime) ) ) for name in args ] )
def js_helper( prefix, *args ):
"""
@@ -66,7 +66,7 @@
Cache-bust with time that server started running on
"""
- return "\n".join( [ javascript_link( prefix + name + ".js?v=%s" % server_starttime ) for name in args ] )
+ return "\n".join( [ javascript_link( url_for( "/%s%s.js?v=%s" % (prefix, name, server_starttime ) ) ) for name in args ] )
def js( *args ):
"""
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.
3 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/c893e34c0ef3/
Changeset: c893e34c0ef3
User: Galaxy
Date: 2013-03-27 00:32:29
Summary: lower case external remote user - canonicalise email address
Affected #: 1 file
diff -r dfa5f6b881769995d4bb660e82b4c20256779bf3 -r c893e34c0ef3ca12ef8878944f70b11a92e1a43d lib/galaxy/web/framework/__init__.py
--- a/lib/galaxy/web/framework/__init__.py
+++ b/lib/galaxy/web/framework/__init__.py
@@ -726,7 +726,7 @@
#If this is an api request, and they've passed a key, we let this go.
assert self.app.config.remote_user_header in self.environ, \
"use_remote_user is set but %s header was not provided" % self.app.config.remote_user_header
- remote_user_email = self.environ[ self.app.config.remote_user_header ]
+ remote_user_email = self.environ[ self.app.config.remote_user_header ].lower()
if galaxy_session:
# An existing session, make sure correct association exists
if galaxy_session.user is None:
@@ -854,7 +854,7 @@
"""
if not self.app.config.use_remote_user:
return None
-
+ remote_user_email = remote_user_email.lower()
user = self.sa_session.query( self.app.model.User ) \
.filter( self.app.model.User.table.c.email==remote_user_email ) \
.first()
https://bitbucket.org/galaxy/galaxy-central/commits/de7af0ce204e/
Changeset: de7af0ce204e
User: jmchilton
Date: 2014-01-17 08:10:58
Summary: Make normalizing remote user e-mail optional (off by default).
I don't think we can make this change as is in case other institutions have configured their proxies to supply consistent e-mail addresses or other identifiers and these identifiers are not uniformly lower case. In such cases these changes (Pull Request 144) would break Galaxy's existing user management.
Affected #: 2 files
diff -r c893e34c0ef3ca12ef8878944f70b11a92e1a43d -r de7af0ce204e4e632ae28449f8de82e6ac440066 lib/galaxy/config.py
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -122,6 +122,7 @@
self.id_secret = kwargs.get( "id_secret", "USING THE DEFAULT IS NOT SECURE!" )
self.retry_metadata_internally = string_as_bool( kwargs.get( "retry_metadata_internally", "True" ) )
self.use_remote_user = string_as_bool( kwargs.get( "use_remote_user", "False" ) )
+ self.normalize_remote_user_email = string_as_bool( kwargs.get( "normalize_remote_user_email", "False" ) )
self.remote_user_maildomain = kwargs.get( "remote_user_maildomain", None )
self.remote_user_header = kwargs.get( "remote_user_header", 'HTTP_REMOTE_USER' )
self.remote_user_logout_href = kwargs.get( "remote_user_logout_href", None )
diff -r c893e34c0ef3ca12ef8878944f70b11a92e1a43d -r de7af0ce204e4e632ae28449f8de82e6ac440066 lib/galaxy/web/framework/__init__.py
--- a/lib/galaxy/web/framework/__init__.py
+++ b/lib/galaxy/web/framework/__init__.py
@@ -726,7 +726,9 @@
#If this is an api request, and they've passed a key, we let this go.
assert self.app.config.remote_user_header in self.environ, \
"use_remote_user is set but %s header was not provided" % self.app.config.remote_user_header
- remote_user_email = self.environ[ self.app.config.remote_user_header ].lower()
+ remote_user_email = self.environ[ self.app.config.remote_user_header ]
+ if getattr( self.app.config, "normalize_remote_user_email", False ):
+ remote_user_email = remote_user_email.lower()
if galaxy_session:
# An existing session, make sure correct association exists
if galaxy_session.user is None:
@@ -854,7 +856,8 @@
"""
if not self.app.config.use_remote_user:
return None
- remote_user_email = remote_user_email.lower()
+ if getattr( self.app.config, "normalize_remote_user_email", False ):
+ remote_user_email = remote_user_email.lower()
user = self.sa_session.query( self.app.model.User ) \
.filter( self.app.model.User.table.c.email==remote_user_email ) \
.first()
https://bitbucket.org/galaxy/galaxy-central/commits/4f898ebb8a0f/
Changeset: 4f898ebb8a0f
User: jmchilton
Date: 2014-01-22 21:39:55
Summary: Document new normalize_remote_user_email option.
Affected #: 1 file
diff -r de7af0ce204e4e632ae28449f8de82e6ac440066 -r 4f898ebb8a0fe36c762ed61f09847af8afcfbd79 universe_wsgi.ini.sample
--- a/universe_wsgi.ini.sample
+++ b/universe_wsgi.ini.sample
@@ -601,6 +601,11 @@
# users out.
#remote_user_logout_href = None
+# If your proxy and/or authentication source does not normalize e-mail
+# addresses or user names being passed to Galaxy - enable the following option
+# to force these to lower case.
+#normalize_remote_user_email = True
+
# Administrative users - set this to a comma-separated list of valid Galaxy
# users (email addresses). These users will have access to the Admin section
# of the server, and will have access to create users, groups, roles,
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/dfa5f6b88176/
Changeset: dfa5f6b88176
User: jeremy goecks
Date: 2014-01-22 20:09:09
Summary: Fix for 9bc3fa1 to allow path rewrites; old Webhelper functions stripped preceding '/' but current functions do not.
Affected #: 1 file
diff -r 5217c8c788a31716758d943204b20ad4a4850c37 -r dfa5f6b881769995d4bb660e82b4c20256779bf3 lib/galaxy/web/framework/helpers/__init__.py
--- a/lib/galaxy/web/framework/helpers/__init__.py
+++ b/lib/galaxy/web/framework/helpers/__init__.py
@@ -57,7 +57,7 @@
Cache-bust with time that server started running on
"""
- return "\n".join( [ stylesheet_link( "/static/style/" + name + ".css?v=%s" % server_starttime ) for name in args ] )
+ return "\n".join( [ stylesheet_link( "static/style/" + name + ".css?v=%s" % server_starttime ) for name in args ] )
def js_helper( prefix, *args ):
"""
@@ -73,14 +73,14 @@
Take a prefix and list of javascript names and return appropriate
string of script tags.
"""
- return js_helper( '/static/scripts/', *args )
+ return js_helper( 'static/scripts/', *args )
def templates( *args ):
"""
Take a list of template names (no extension) and return appropriate
string of script tags.
"""
- return js_helper( '/static/scripts/templates/compiled/', *args )
+ return js_helper( 'static/scripts/templates/compiled/', *args )
# Hashes
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/5217c8c788a3/
Changeset: 5217c8c788a3
User: jmchilton
Date: 2014-01-22 18:37:15
Summary: Document recently introduced reset_password_length option.
Affected #: 1 file
diff -r 8c1cc5febdaf099ed9175bcfd5b00183ecc0f1fb -r 5217c8c788a31716758d943204b20ad4a4850c37 universe_wsgi.ini.sample
--- a/universe_wsgi.ini.sample
+++ b/universe_wsgi.ini.sample
@@ -290,6 +290,10 @@
# If no message specified the warning box will not be shown.
#registration_warning_message = Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion.
+# When users opt to reset passwords, new ones are created, this option
+# specifies the length of these passwords.
+#reset_password_length = 15
+
# -- Account activation
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/aae0e414a2fa/
Changeset: aae0e414a2fa
User: greg
Date: 2014-01-22 17:48:12
Summary: Fix tool shed functional test broken when the pull request resulting in changeset 329f9ac was accepted.
Affected #: 1 file
diff -r 28cd6a86d99dc6aaab95ee69ca706899be5b535b -r aae0e414a2fa595ee83cf576e36dc5bd25772a9f test/tool_shed/functional/test_1140_tool_help_images.py
--- a/test/tool_shed/functional/test_1140_tool_help_images.py
+++ b/test/tool_shed/functional/test_1140_tool_help_images.py
@@ -109,10 +109,10 @@
In the center tool panel, look for the image string similar to the following string where the
encoded_repository_id is previously determined as the installed ToolShedRepository id:
- src="/admin_toolshed/static/images/<id>/count_modes.png"
+ src="admin_toolshed/static/images/<id>/count_modes.png"
'''
repository = self.test_db_util.get_installed_repository_by_name_owner( repository_name, common.test_user_1_name )
- image_path = 'src="/admin_toolshed/static/images/%s/count_modes.png"' % self.security.encode_id( repository.id )
+ image_path = 'src="admin_toolshed/static/images/%s/count_modes.png"' % self.security.encode_id( repository.id )
# The repository uploaded in this test should only define one tool, which should be the tool that contains a link to an image.
repository_metadata = repository.metadata
tool_id = repository_metadata[ 'tools' ][ 0 ][ 'guid' ]
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/28cd6a86d99d/
Changeset: 28cd6a86d99d
User: jmchilton
Date: 2014-01-22 17:35:31
Summary: Adjust logic related to_posix_lines to make optionally specified.
Fixes library uploads and restores backward-compatiblity to create_paramfile interface to rest of Galaxy. This is an alternative to pull request #305.
Affected #: 1 file
diff -r edfc4baf2d0747f4bdc7d255bdef396b7dcf3599 -r 28cd6a86d99dc6aaab95ee69ca706899be5b535b lib/galaxy/tools/actions/upload_common.py
--- a/lib/galaxy/tools/actions/upload_common.py
+++ b/lib/galaxy/tools/actions/upload_common.py
@@ -332,7 +332,7 @@
is_binary=is_binary,
link_data_only=link_data_only,
uuid=uuid_str,
- to_posix_lines=uploaded_dataset.to_posix_lines,
+ to_posix_lines=getattr(uploaded_dataset, "to_posix_lines", True),
space_to_tab=uploaded_dataset.space_to_tab,
in_place=trans.app.config.external_chown_script is None,
path=uploaded_dataset.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 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/edfc4baf2d07/
Changeset: edfc4baf2d07
User: greg
Date: 2014-01-22 17:30:32
Summary: Tool Shed install and test framework fixes.
Affected #: 1 file
diff -r 8df0e01949818bb3a32a888f87fe261c8c30e877 -r edfc4baf2d0747f4bdc7d255bdef396b7dcf3599 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
@@ -753,7 +753,9 @@
owner = str( missing_repository_dependency.owner )
changeset_revision = str( missing_repository_dependency.changeset_revision )
error_message = unicodify( missing_repository_dependency.error_message )
- print 'Revision %s of repository %s owned by %s:\n%s' % ( changeset_revision, name, owner, error_message )
+ print 'Revision %s of repository %s owned by %s has the following installation error:' % ( changeset_revision, name, owner )
+ # Use log.debug here instead of print because print will throw UnicodeEncodeError exceptions.
+ log.debug( '%s' % error_message )
missing_repository_dependency_info_dict = dict( tool_shed=tool_shed,
name=name,
owner=owner,
@@ -774,7 +776,9 @@
type = str( missing_tool_dependency.type )
version = str( missing_tool_dependency.version )
error_message = unicodify( missing_tool_dependency.error_message )
- print 'Version %s of tool dependency %s %s:\n%s' % ( version, type, name, error_message )
+ print 'Version %s of tool dependency %s %s has the following installation error:' % ( version, type, name )
+ # Use log.debug here instead of print because print will throw UnicodeEncodeError exceptions.
+ log.debug( '%s' % error_message )
missing_tool_dependency_info_dict = dict( type=type,
name=name,
version=version,
@@ -870,25 +874,38 @@
( changeset_revision, name, owner )
print 'due to the following error getting tool_test_results:\n%s' % str( error_message )
else:
- # Check the required repository's time_last_tested value to see if its tool_test_results column
- # has been updated within the past 12 hours. The RepositoryMetadata class's to_dict() method
- # returns the value of time_last_tested in datetime.isoformat().
- twenty_hours_ago = ( datetime.utcnow() - timedelta( hours=20 ) ).isoformat()
+ # 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 24 hours. The RepositoryMetadata class's to_dict() method returns the value
+ # of time_last_tested in datetime.isoformat().
time_last_tested, error_message = get_time_last_tested( galaxy_tool_shed_url, required_repository_metadata_id )
- if time_last_tested is not None and time_last_tested < twenty_hours_ago:
- print 'The install containers for version %s of repository dependency %s owned by %s have been ' % \
- ( changeset_revision, name, owner )
- print 'populated within the past 20 hours (likely in this test run), so skipping this check.'
- continue
- elif time_last_tested is None:
+ print 'Value of time_last_tested: %s' % str( time_last_tested )
+ if time_last_tested is None:
print 'The time_last_tested column value is None for version %s of repository dependency %s owned by %s.' % \
( changeset_revision, name, owner )
- elif time_last_tested < twenty_hours_ago:
- print 'Version %s of repository dependency %s owned by %s was last tested less than 20 hours ago.' % \
- ( changeset_revision, name, owner )
else:
- print 'Version %s of repository dependency %s owned by %s was last tested more than 20 hours ago.' % \
- ( changeset_revision, name, owner )
+ twenty_four_hours_ago = ( datetime.utcnow() - timedelta( hours=24 ) ).isoformat()
+ print 'Value of twenty_four_hours_ago: %s' % str( twenty_four_hours_ago )
+ # This is counter intuitive because the following check is on strings like this: '2014-01-21T19:46:06.953741',
+ # so if "time_last_tested > twenty_four_hours_ago" is True, then it implies that the time_last_tested column
+ # was actually updated less than 24 hours ago, and should not be updated again because we're likely processing
+ # another dependent repository, many of which can have the same repository dependency.
+ try:
+ # Be very conservative here. Our default behavior will be to assume containers have not been populated
+ # during the current test run.
+ already_populated = time_last_tested > twenty_four_hours_ago
+ except Exception, e:
+ log.exception( 'Error attempting to set already_populated: %s' % str( e ) )
+ already_populated = False
+ print 'Value of already_populated: %s' % str( already_populated )
+ if already_populated:
+ print 'The install containers for version %s of repository dependency %s owned by %s have been ' % \
+ ( changeset_revision, name, owner )
+ print 'populated within the past 24 hours (likely in this test run), so skipping this check.'
+ continue
+ else:
+ print 'Version %s of repository dependency %s owned by %s was last tested more than 24 hours ago.' % \
+ ( changeset_revision, name, owner )
# Inspect the tool_test_results_dict for the last test run to see if it has not yet been populated.
if len( tool_test_results_dicts ) == 0:
tool_test_results_dict = {}
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.