details: http://www.bx.psu.edu/hg/galaxy/rev/4fa4d0ddbf1f
changeset: 1719:4fa4d0ddbf1f
user: Nate Coraor <nate(a)bx.psu.edu>
date: Fri Jan 23 12:55:35 2009 -0500
description:
Fix an infinite loop in eggs.require()
1 file(s) affected in this change:
lib/galaxy/eggs/__init__.py
diffs (31 lines):
diff -r 520c6e39b3d0 -r 4fa4d0ddbf1f lib/galaxy/eggs/__init__.py
--- a/lib/galaxy/eggs/__init__.py Thu Jan 22 12:46:37 2009 -0500
+++ b/lib/galaxy/eggs/__init__.py Fri Jan 23 12:55:35 2009 -0500
@@ -530,7 +530,7 @@
return
except pkg_resources.VersionConflict, e:
# there's a conflicting egg on the pythonpath, remove it
- dist = pkg_resources.get_distribution( name )
+ dist = e.args[0]
working_set = pkg_resources.working_set
# use the canonical path for comparisons
location = os.path.realpath( dist.location )
@@ -543,18 +543,6 @@
del working_set.by_key[dist.key]
working_set.entry_keys[entry] = []
sys.path.remove(entry)
- # get
- egg.find()
- if not egg.have:
- if not egg.fetch():
- raise EggNotFetchable( egg.name )
- pkg_resources.working_set.require( "%s==%s" % ( name, egg.get_vertag() ) )
- if dist.project_name in sys.modules:
- try:
- mod = sys.modules[dist.project_name]
- reload( mod )
- except:
- raise NewEgg( "Galaxy downloaded a new egg (%s) but was unable to reload the module it contained. Please try starting Galaxy again." % egg.name )
except pkg_resources.DistributionNotFound, e:
# the initial require itself is the first dep, but it can have
# multiple deps, which will be fetched by the require below.
details: http://www.bx.psu.edu/hg/galaxy/rev/4004ab767cf6
changeset: 1717:4004ab767cf6
user: Nate Coraor <nate(a)bx.psu.edu>
date: Thu Jan 22 12:29:44 2009 -0500
description:
Update welcome page with Anton's copy from security
1 file(s) affected in this change:
static/welcome.html
diffs (116 lines):
diff -r 19d18731ce19 -r 4004ab767cf6 static/welcome.html
--- a/static/welcome.html Thu Jan 22 11:22:39 2009 -0500
+++ b/static/welcome.html Thu Jan 22 12:29:44 2009 -0500
@@ -6,48 +6,80 @@
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" />
<title></title>
<link rel="stylesheet" href="style/base.css" type="text/css" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" />
+ <title></title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/"/>
+ <script src="http://www.apple.com/library/quicktime/scripts/ac_quicktime.js" language="JavaScript" type="text/javascript"></script>
+ <script src="http://www.apple.com/library/quicktime/scripts/qtp_library.js" language="JavaScript" type="text/javascript"></script>
+ <link href="http://www.apple.com/library/quicktime/stylesheets/qtp_library.css" rel="StyleSheet" type="text/css" />
+ <link rel="stylesheet" href="style/base.css" type="text/css" />
+ </head>
+
</head>
<body>
<div class="document">
-<div class="warningmessage">
- <strong>Galaxy and 2008 Meeting Season</strong>
- <hr>
- <ul>
- <li><a target="_blank" href="http://www.beyondgenome.com/08Personalized_Medicine_Day1.asp">Beyond Genome</a> | San Francisco | June 9 - 11</li>
- <li>ISMB 2008 | Toronto | July 19 - 23</li>
- <li>Genome Informatics | Hinxton, UK | September 10 - 14</li>
- <li><a target="_blank" href="http://www.ashg.org/2008meeting/pages/workshops.shtml#4">ASHG</a> | Philadelphia | November 11 - 15</li>
- </ul>
- <hr>
- Download <strong>new</strong> Galaxy brochure <a href="/static/images/brochure.pdf">here</a>.
+<div class="infomessage">
+ <strong>We are hiring!</strong>
+ <hr>
+ Thanks to your support and an unprecedented level of usage, we are looking for an experienced software developer to join our team. For more information about this position, please, click <a target="_blank" href="https://www.bx.psu.edu/cgi-bin/trac.cgi/galaxy/wiki/PythonDeveloper">here</a>.
</div>
<hr>
-<div class="section" align="center">
- <strong>Unsequenced Genomes of the World</strong> | June 2008
- <br>
- <br>
- <img src="images/welcomePhoto.jpg" border="0">
- <br>
- Przewalski's Horse (<i>Equus przewalskii</i>) | Escondido, California
- <br>
- <br>
-</div>
+<div class="welcomeBlue" id="screencasts" align="center">
+<strong>Introducing Galactic Quickies</strong>
+ <hr>
+ Galactic quickies are <i>super-short</i> screencasts that are <i>always</i> under 5 minutes. We thought it may be a good way to spread the word about Galaxy's functionality while keeping the "annoyance factor" to the minimum. The quickies will be updated weekly.
+ <hr>
+ <table width="100%" border="0" height="100%">
+ <tr>
+ <td valign="middle" align="center">
+
+ <br>
+ <script type="text/javascript"><!--
+ QT_WritePoster_XHTML('click to play', 'http://screencast.g2.bx.psu.edu/galaxy/quickie1_TabSeq/quickie1_TabSeq-post…',
+ 'http://screencast.g2.bx.psu.edu/galaxy/quickie1_TabSeq/quickie1_TabSeq.mov',
+ '640', '480', '',
+ 'controller', 'true',
+ 'autoplay', 'true',
+ 'bgcolor', '#CCCCFF',
+ 'scale', 'aspect');
+ //-->
+
+ </script>
+ <noscript>
+ <object width="640" height="480" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">
+ <param name="src" value="http://screencast.g2.bx.psu.edu/galaxy/quickie1_TabSeq/quickie1_TabSeq.jpg" />
+ <param name="href" value="http://screencast.g2.bx.psu.edu/galaxy/quickie1_TabSeq/quickie1_TabSeq.mov" />
+ <param name="target" value="myself" />
+ <param name="controller" value="false" />
+ <param name="autoplay" value="false" />
+ <param name="scale" value="aspect" />
+ <embed width="640" height="480" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"
+ src="http://screencast.g2.bx.psu.edu/galaxy/quickie1_TabSeq/quickie1_TabSeq.jpg"
+ href="http://screencast.g2.bx.psu.edu/galaxy/quickie1_TabSeq/quickie1_TabSeq.mov"
+ target="myself"
+ controller="false"
+ autoplay="false"
+ scale="aspect">
+ </embed>
+ </object>
+ </noscript>
+
+ </td>
+ </tr>
+ </table>
+ <br>
+ For a high resolution version <a target="_blank" class="reference" href="http://screencast.g2.bx.psu.edu/galaxy/quickie1_TabSeq/">click here</a>.
+ <br>
+ <hr>
+ </div>
<hr>
-<div class="welcomeBlue">
- <strong>Galaxy is for Biologists</strong>
- <br>
- Use this site to access popular sources of data like the UCSC Table Browser. Run analyses right on the spot using a variety of integrated tools. Your results are always available and can be easily shared with others. Just <a target="_blank" href="http://g2.trac.bx.psu.edu/wiki/ScreenCasts">watch</a> how.
-</div>
-<br>
-<div class="welcomeRed">
- <strong>Galaxy is for Developers</strong>
- <br>
- Galaxy is an easy-to-use, open-source, scalable framework for tool and data integration. Stop wasting time writing interfaces and get your tools used by biologists! Galaxy includes everything you need to get started, so <a target="_blank" href="http://g2.trac.bx.psu.edu/wiki/HowToInstall">download</a> and start <a target="_blank" href="http://g2.trac.bx.psu.edu/wiki/HowToInstall">integrating</a>!
-</div>
+
<p><a target="_blank" class="reference" href="http://g2.trac.bx.psu.edu/wiki/GalaxyTeam">Galaxy team</a> is a part of <a target="_blank" class="reference" href="http://www.bx.psu.edu">BX</a> at <a target="_blank" class="reference" href="http://www.psu.edu">Penn State</a>.</p>
<hr class="docutils" /> This project is supported in part by <a target="_blank" class="reference" href="http://www.nsf.gov">NSF</a> and <a target="_blank" class="reference" href="http://www.huck.psu.edu">the Huck Institutes of the Life Sciences</a>.
<p><small>Galaxy build: <b>$Rev$</b></small></p>
details: http://www.bx.psu.edu/hg/galaxy/rev/5c293dbf0726
changeset: 1715:5c293dbf0726
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Thu Jan 22 08:50:52 2009 -0500
description:
Fixes for formatting end of line chars in html when displaying dataset.info. Also change the biomart tool version.
3 file(s) affected in this change:
lib/galaxy/datatypes/data.py
tools/data_source/biomart.xml
tools/data_source/biomart_test.xml
diffs (62 lines):
diff -r dbb3210e4549 -r 5c293dbf0726 lib/galaxy/datatypes/data.py
--- a/lib/galaxy/datatypes/data.py Wed Jan 21 17:03:39 2009 -0500
+++ b/lib/galaxy/datatypes/data.py Thu Jan 22 08:50:52 2009 -0500
@@ -128,16 +128,22 @@
out = "Can't create peek %s" % str( exc )
return out
def display_name(self, dataset):
- """Returns formated html of dataset name"""
+ """Returns formatted html of dataset name"""
try:
return escape(dataset.name)
except:
return "name unavailable"
def display_info(self, dataset):
- """Returns formated html of dataset info"""
+ """Returns formatted html of dataset info"""
try:
# Change new line chars to html
- return escape( dataset.info ).replace( "\r", "\n" ).replace( "\n", "<br>" )
+ if dataset.info.find( '\r\n' ) >= 0:
+ dataset.info = dataset.info.replace( '\r\n', '<br/>' )
+ if dataset.info.find( '\r' ) >= 0:
+ dataset.info = dataset.info.replace( '\r', '<br/>' )
+ if dataset.info.find( '\n' ) >= 0:
+ dataset.info = dataset.info.replace( '\n', '<br/>' )
+ return escape( dataset.info )
except:
return "info unavailable"
def validate(self, dataset):
@@ -154,7 +160,7 @@
Adds a display app to the datatype.
app_id is a unique id
label is the primary display label, ie display at 'UCSC'
- file_function is a string containing the name of the function that returns a properly formated display
+ file_function is a string containing the name of the function that returns a properly formatted display
links_function is a string containing the name of the function that returns a list of (link_name,link)
"""
self.supported_display_apps = self.supported_display_apps.copy()
diff -r dbb3210e4549 -r 5c293dbf0726 tools/data_source/biomart.xml
--- a/tools/data_source/biomart.xml Wed Jan 21 17:03:39 2009 -0500
+++ b/tools/data_source/biomart.xml Thu Jan 22 08:50:52 2009 -0500
@@ -7,7 +7,7 @@
TODO: Hack to get biomart to work - the 'add_to_URL' param can be eliminated when the Biomart team encodes URL prior to sending, meanwhile
everything including and beyond the first '&' is truncated from URL. They said they'll let us know when this is fixed at their end.
-->
-<tool name="BioMart" id="biomart" tool_type="data_source" URL_method="get">
+<tool name="BioMart" id="biomart" tool_type="data_source" URL_method="get" version="1.0.1">
<description>Central server</description>
<command interpreter="python">data_source.py $output</command>
<inputs action="http://www.biomart.org/biomart/martview" check_values="false" method="get" target="_top">
diff -r dbb3210e4549 -r 5c293dbf0726 tools/data_source/biomart_test.xml
--- a/tools/data_source/biomart_test.xml Wed Jan 21 17:03:39 2009 -0500
+++ b/tools/data_source/biomart_test.xml Thu Jan 22 08:50:52 2009 -0500
@@ -7,7 +7,7 @@
TODO: Hack to get biomart to work - the 'add_to_URL' param can be eliminated when the Biomart team encodes URL prior to sending, meanwhile
everything including and beyond the first '&' is truncated from URL. They said they'll let us know when this is fixed at their end.
-->
-<tool name="BioMart" id="biomart_test" tool_type="data_source" URL_method="get">
+<tool name="BioMart" id="biomart_test" tool_type="data_source" URL_method="get" version="1.0.1">
<description>Test server</description>
<command interpreter="python">data_source.py $output</command>
<inputs action="http://test.biomart.org/biomart/martview" check_values="false" method="get" target="_top">
details: http://www.bx.psu.edu/hg/galaxy/rev/c565de071f7f
changeset: 1710:c565de071f7f
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Thu Jan 15 14:23:53 2009 -0500
description:
Eliminate the use of the "order=" for the sniffers in datatypes.conf - since we've moved from using an ini file to an xml file, ordering is implicit.
2 file(s) affected in this change:
datatypes_conf.xml.sample
lib/galaxy/datatypes/registry.py
diffs (74 lines):
diff -r 90d04fcbcdf4 -r c565de071f7f datatypes_conf.xml.sample
--- a/datatypes_conf.xml.sample Thu Jan 15 13:10:04 2009 -0500
+++ b/datatypes_conf.xml.sample Thu Jan 15 14:23:53 2009 -0500
@@ -146,20 +146,22 @@
<!--
The order in which Galaxy attempts to determine data types is
important because some formats are much more loosely defined
- than others.
+ than others. The following list should be the most rigidly
+ defined format first, followed by next-most rigidly defined,
+ and so on.
-->
- <sniffer order="005" type="galaxy.datatypes.xml:BlastXml"/>
- <sniffer order="010" type="galaxy.datatypes.sequence:Maf"/>
- <sniffer order="015" type="galaxy.datatypes.sequence:Lav"/>
- <sniffer order="020" type="galaxy.datatypes.sequence:Fasta"/>
- <sniffer order="025" type="galaxy.datatypes.sequence:FastqSolexa"/>
- <sniffer order="030" type="galaxy.datatypes.interval:Wiggle"/>
- <sniffer order="035" type="galaxy.datatypes.images:Html"/>
- <sniffer order="040" type="galaxy.datatypes.sequence:Axt"/>
- <sniffer order="045" type="galaxy.datatypes.interval:Bed"/>
- <sniffer order="050" type="galaxy.datatypes.interval:CustomTrack"/>
- <sniffer order="055" type="galaxy.datatypes.interval:Gff"/>
- <sniffer order="060" type="galaxy.datatypes.interval:Gff3"/>
- <sniffer order="065" type="galaxy.datatypes.interval:Interval"/>
+ <sniffer type="galaxy.datatypes.xml:BlastXml"/>
+ <sniffer type="galaxy.datatypes.sequence:Maf"/>
+ <sniffer type="galaxy.datatypes.sequence:Lav"/>
+ <sniffer type="galaxy.datatypes.sequence:Fasta"/>
+ <sniffer type="galaxy.datatypes.sequence:FastqSolexa"/>
+ <sniffer type="galaxy.datatypes.interval:Wiggle"/>
+ <sniffer type="galaxy.datatypes.images:Html"/>
+ <sniffer type="galaxy.datatypes.sequence:Axt"/>
+ <sniffer type="galaxy.datatypes.interval:Bed"/>
+ <sniffer type="galaxy.datatypes.interval:CustomTrack"/>
+ <sniffer type="galaxy.datatypes.interval:Gff"/>
+ <sniffer type="galaxy.datatypes.interval:Gff3"/>
+ <sniffer type="galaxy.datatypes.interval:Interval"/>
</sniffers>
</datatypes>
diff -r 90d04fcbcdf4 -r c565de071f7f lib/galaxy/datatypes/registry.py
--- a/lib/galaxy/datatypes/registry.py Thu Jan 15 13:10:04 2009 -0500
+++ b/lib/galaxy/datatypes/registry.py Thu Jan 15 14:23:53 2009 -0500
@@ -59,18 +59,15 @@
self.converters.append( ( converter_config, extension, target_datatype ) )
except Exception, e:
self.log.warning( 'Error loading datatype "%s", problem: %s' % ( extension, str( e ) ) )
- # Load datatype sniffers from config
+ # Load datatype sniffers from the config
sniff_order = []
sniffers = root.find( 'sniffers' )
for elem in sniffers.findall( 'sniffer' ):
- order = elem.get( 'order', None )
type = elem.get( 'type', None )
- if order and type:
- sniff_order.append( ( order, type ) )
- sniff_order.sort()
- for ele in sniff_order:
+ if type:
+ sniff_order.append( type )
+ for type in sniff_order:
try:
- type = ele[1]
fields = type.split( ":" )
datatype_module = fields[0]
datatype_class = fields[1]
@@ -147,6 +144,7 @@
sequence.Maf(),
sequence.Lav(),
sequence.Fasta(),
+ sequence.FastqSolexa(),
interval.Wiggle(),
images.Html(),
sequence.Axt(),
details: http://www.bx.psu.edu/hg/galaxy/rev/e76a153769d4
changeset: 1712:e76a153769d4
user: Nate Coraor <nate(a)bx.psu.edu>
date: Mon Jan 19 11:47:29 2009 -0500
description:
Flush newly created users directly in __get_or_create_remote_user, solves
the new user creation when using remote_user bug found by Ross Lazarus.
Also, external users get a random password now (makes the secret key
safer if a bad guy gets the database).
1 file(s) affected in this change:
lib/galaxy/web/framework/__init__.py
diffs (41 lines):
diff -r 2a36ccdb2a38 -r e76a153769d4 lib/galaxy/web/framework/__init__.py
--- a/lib/galaxy/web/framework/__init__.py Fri Jan 16 13:30:01 2009 -0500
+++ b/lib/galaxy/web/framework/__init__.py Mon Jan 19 11:47:29 2009 -0500
@@ -4,7 +4,7 @@
import pkg_resources
-import os, sys, time
+import os, sys, time, random, string
pkg_resources.require( "Cheetah" )
from Cheetah.Template import Template
import base
@@ -229,6 +229,9 @@
user_for_new_session = self.__get_or_create_remote_user( remote_user_email )
log.warning( "User logged in as '%s' externally, but has a cookie as '%s' invalidating session",
remote_user_email, prev_galaxy_session.user.email )
+ else:
+ # No session exists, get/create user for new session
+ user_for_new_session = self.__get_or_create_remote_user( remote_user_email )
else:
if galaxy_session is not None and galaxy_session.user and galaxy_session.user.external:
# Remote user support is not enabled, but there is an existing
@@ -282,15 +285,15 @@
def __get_or_create_remote_user( self, remote_user_email ):
"""
Return the user in $HTTP_REMOTE_USER and create if necessary
-
- Caller is responsible for flushing the returned user.
"""
# remote_user middleware ensures HTTP_REMOTE_USER exists
user = self.app.model.User.filter_by( email=remote_user_email ).first()
if user is None:
+ random.seed()
user = self.app.model.User( email=remote_user_email )
- user.set_password_cleartext( 'external' )
+ user.set_password_cleartext( ''.join( random.sample( string.letters + string.digits, 12 ) ) )
user.external = True
+ user.flush()
#self.log_event( "Automatically created account '%s'", user.email )
return user
def __update_session_cookie( self, name='galaxysession' ):