lists.galaxyproject.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
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
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
List overview
Download
galaxy-dev
November 2009
----- 2024 -----
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
galaxy-dev@lists.galaxyproject.org
26 participants
233 discussions
Start a n
N
ew thread
[hg] galaxy 2971: Fix bug in selecting a page.
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/9561573441a4
changeset: 2971:9561573441a4 user: jeremy goecks <jeremy.goecks(a)emory.edu> date: Thu Nov 05 16:28:38 2009 -0500 description: Fix bug in selecting a page. diffstat: templates/history/grid.mako | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diffs (24 lines): diff -r 731875ce0a36 -r 9561573441a4 templates/history/grid.mako --- a/templates/history/grid.mako Thu Nov 05 14:19:45 2009 -0500 +++ b/templates/history/grid.mako Thu Nov 05 16:28:38 2009 -0500 @@ -126,9 +126,9 @@ // // Initiate navigation when user selects a page to view. // - function navigate_to_page() + function navigate_to_page(page_select) { - page_num = $(this).val(); + page_num = $(page_select).val(); <% url_args = {"page" : "PAGE"} %> var url_base = "${url( url_args )}"; var url = url_base.replace("PAGE", page_num); @@ -360,7 +360,7 @@ %endif ## Go to page select box. <span>| Select:</span> - <select id="page-select" onchange="navigate_to_page()"> + <select id="page-select" onchange="navigate_to_page(this)"> <option value=""></option> %for page_index in range(1, num_pages + 1): %if page_index == cur_page_num:
1
0
0
0
[hg] galaxy 2968: Copy the sample universe_wsgi.ini for buildbot...
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/3adcadbe8b61
changeset: 2968:3adcadbe8b61 user: Nate Coraor <nate(a)bx.psu.edu> date: Thu Nov 05 09:29:03 2009 -0500 description: Copy the sample universe_wsgi.ini for buildbot so the new eggs code doesn't bomb diffstat: buildbot_setup.sh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (11 lines): diff -r f77f039c3697 -r 3adcadbe8b61 buildbot_setup.sh --- a/buildbot_setup.sh Wed Nov 04 16:23:23 2009 -0500 +++ b/buildbot_setup.sh Thu Nov 05 09:29:03 2009 -0500 @@ -25,6 +25,7 @@ SAMPLES=" datatypes_conf.xml.sample +universe_wsgi.ini.sample " DIRS="
1
0
0
0
[hg] galaxy 2969: Run test webserver on a random port between 80...
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/c6a8bd78357a
changeset: 2969:c6a8bd78357a user: Nate Coraor <nate(a)bx.psu.edu> date: Thu Nov 05 10:39:59 2009 -0500 description: Run test webserver on a random port between 8000 and 9999 instead of a fixed port, so multiple people can run tests at the same time w/o setting GALAXY_TEST_PORT manually diffstat: scripts/functional_tests.py | 32 +++++++++++++++++++++++++------- 1 files changed, 25 insertions(+), 7 deletions(-) diffs (71 lines): diff -r 3adcadbe8b61 -r c6a8bd78357a scripts/functional_tests.py --- a/scripts/functional_tests.py Thu Nov 05 09:29:03 2009 -0500 +++ b/scripts/functional_tests.py Thu Nov 05 10:39:59 2009 -0500 @@ -17,10 +17,10 @@ eggs.require( "PasteDeploy" ) eggs.require( "Cheetah" ) -import atexit, logging, os, sys, tempfile +import atexit, logging, os, os.path, sys, tempfile import twill, unittest, time -import os, os.path, subprocess, sys, threading -import httplib +import subprocess, sys, threading, random +import httplib, socket from paste import httpserver import galaxy.app from galaxy.app import UniverseApplication @@ -31,7 +31,8 @@ log = logging.getLogger( "functional_tests.py" ) default_galaxy_test_host = "localhost" -default_galaxy_test_port = "8777" +default_galaxy_test_port_min = 8000 +default_galaxy_test_port_max = 9999 default_galaxy_locales = 'en' default_galaxy_test_file_dir = "test-data" @@ -40,7 +41,7 @@ # ---- Configuration ------------------------------------------------------ galaxy_test_host = os.environ.get( 'GALAXY_TEST_HOST', default_galaxy_test_host ) - galaxy_test_port = os.environ.get( 'GALAXY_TEST_PORT', default_galaxy_test_port ) + galaxy_test_port = os.environ.get( 'GALAXY_TEST_PORT', None ) if 'HTTP_ACCEPT_LANGUAGE' not in os.environ: os.environ['HTTP_ACCEPT_LANGUAGE'] = default_galaxy_locales galaxy_test_file_dir = os.environ.get( 'GALAXY_TEST_FILE_DIR', default_galaxy_test_file_dir ) @@ -75,7 +76,6 @@ # What requires these? os.environ['GALAXY_TEST_HOST'] = galaxy_test_host - os.environ['GALAXY_TEST_PORT'] = galaxy_test_port os.environ['GALAXY_TEST_FILE_DIR'] = galaxy_test_file_dir # ---- Build Application -------------------------------------------------- @@ -115,7 +115,25 @@ if start_server: webapp = buildapp.app_factory( dict(), use_translogger = False, app=app ) - server = httpserver.serve( webapp, host=galaxy_test_host, port=galaxy_test_port, start_loop=False ) + + if galaxy_test_port is not None: + server = httpserver.serve( webapp, host=galaxy_test_host, port=galaxy_test_port, start_loop=False ) + else: + random.seed() + for i in range( 0, 9 ): + try: + galaxy_test_port = str( random.randint( default_galaxy_test_port_min, default_galaxy_test_port_max ) ) + log.debug( "Attempting to serve app on randomly chosen port: %s" % galaxy_test_port ) + server = httpserver.serve( webapp, host=galaxy_test_host, port=galaxy_test_port, start_loop=False ) + break + except socket.error, e: + if e[0] == 98: + continue + raise + else: + raise Exception( "Unable to open a port between %s and %s to start Galaxy server" % ( default_galaxy_test_port_min, default_galaxy_test_port_max ) ) + os.environ['GALAXY_TEST_PORT'] = galaxy_test_port + t = threading.Thread( target=server.serve_forever ) t.start()
1
0
0
0
[hg] galaxy 2966: Added several loc files to setup.sh and buildb...
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/e49c58ca5f17
changeset: 2966:e49c58ca5f17 user: Kelly Vincent <kpvincent(a)bx.psu.edu> date: Wed Nov 04 13:58:50 2009 -0500 description: Added several loc files to setup.sh and buildbot_setup.sh diffstat: buildbot_setup.sh | 5 +++++ setup.sh | 6 ++++++ 2 files changed, 11 insertions(+), 0 deletions(-) diffs (47 lines): diff -r 5658f18fe950 -r e49c58ca5f17 buildbot_setup.sh --- a/buildbot_setup.sh Wed Nov 04 13:52:13 2009 -0500 +++ b/buildbot_setup.sh Wed Nov 04 13:58:50 2009 -0500 @@ -5,6 +5,8 @@ LINKS=" /depot/data2/galaxy/alignseq.loc /depot/data2/galaxy/binned_scores.loc +/depot/data2/galaxy/blastdb.loc +/depot/data2/galaxy/bowtie_indices.loc /depot/data2/galaxy/encode_datasets.loc /home/universe/linux-i686/HYPHY /depot/data2/galaxy/liftOver.loc @@ -14,6 +16,9 @@ /depot/data2/galaxy/phastOdds.loc /depot/data2/galaxy/quality_scores.loc /depot/data2/galaxy/regions.loc +/depot/data2/galaxy/sam_fa_indices.loc +/depot/data2/galaxy/sequence_index_base.loc +/depot/data2/galaxy/sequence_index_color.loc /depot/data2/galaxy/taxonomy /depot/data2/galaxy/twobit.loc " diff -r 5658f18fe950 -r e49c58ca5f17 setup.sh --- a/setup.sh Wed Nov 04 13:52:13 2009 -0500 +++ b/setup.sh Wed Nov 04 13:58:50 2009 -0500 @@ -9,8 +9,11 @@ tool_conf.xml.sample universe_wsgi.ini.sample tool-data/alignseq.loc.sample +tool-data/annotation_profiler_options.xml.sample +tool-data/annotation_profiler_valid_builds.txt.sample tool-data/binned_scores.loc.sample tool-data/blastdb.loc.sample +tool-data/bowtie_indices.loc.sample tool-data/encode_datasets.loc.sample tool-data/liftOver.loc.sample tool-data/maf_index.loc.sample @@ -19,6 +22,9 @@ tool-data/phastOdds.loc.sample tool-data/quality_scores.loc.sample tool-data/regions.loc.sample +tool-data/sam_fa_indices.loc.sample +tool-data/sequence_index_base.loc.sample +tool-data/sequence_index_color.loc.sample tool-data/twobit.loc.sample "
1
0
0
0
[hg] galaxy 2967: Fix for printing EggNotFetchable exceptions
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/f77f039c3697
changeset: 2967:f77f039c3697 user: Nate Coraor <nate(a)bx.psu.edu> date: Wed Nov 04 16:23:23 2009 -0500 description: Fix for printing EggNotFetchable exceptions diffstat: lib/galaxy/eggs/__init__.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (12 lines): diff -r e49c58ca5f17 -r f77f039c3697 lib/galaxy/eggs/__init__.py --- a/lib/galaxy/eggs/__init__.py Wed Nov 04 13:58:50 2009 -0500 +++ b/lib/galaxy/eggs/__init__.py Wed Nov 04 16:23:23 2009 -0500 @@ -20,6 +20,8 @@ self.eggs = eggs else: self.eggs = [ eggs ] + def __str__( self ): + return ' '.join( self.eggs ) class PlatformNotSupported( Exception ): pass
1
0
0
0
[hg] galaxy 2965: Fixed the bash script to reflect the change in...
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/5658f18fe950
changeset: 2965:5658f18fe950 user: rc date: Wed Nov 04 13:52:13 2009 -0500 description: Fixed the bash script to reflect the change in the location of galaxy amq listener script diffstat: run_galaxy_listener.sh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (11 lines): diff -r 0d534da7f0ff -r 5658f18fe950 run_galaxy_listener.sh --- a/run_galaxy_listener.sh Wed Nov 04 13:09:37 2009 -0500 +++ b/run_galaxy_listener.sh Wed Nov 04 13:52:13 2009 -0500 @@ -1,4 +1,4 @@ #!/bin/sh cd `dirname $0` -python scripts/galaxy_messaging/amqp_consumer.py >> galaxy_listener.log 2>&1 \ No newline at end of file +python scripts/galaxy_messaging/server/amqp_consumer.py >> galaxy_listener.log 2>&1 \ No newline at end of file
1
0
0
0
[hg] galaxy 2964: Eliminate printing PYTHONPATH to stderr in the...
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/0d534da7f0ff
changeset: 2964:0d534da7f0ff user: Greg Von Kuster <greg(a)bx.psu.edu> date: Wed Nov 04 13:09:37 2009 -0500 description: Eliminate printing PYTHONPATH to stderr in the cleanup_datasets.py script. diffstat: scripts/cleanup_datasets/cleanup_datasets.py | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diffs (11 lines): diff -r fdf07565eedf -r 0d534da7f0ff scripts/cleanup_datasets/cleanup_datasets.py --- a/scripts/cleanup_datasets/cleanup_datasets.py Wed Nov 04 12:58:48 2009 -0500 +++ b/scripts/cleanup_datasets/cleanup_datasets.py Wed Nov 04 13:09:37 2009 -0500 @@ -387,7 +387,6 @@ class CleanupDatasetsApplication( object ): """Encapsulates the state of a Universe application""" def __init__( self, database_connection=None, file_path=None ): - print >> sys.stderr, "python path is: " + ", ".join( sys.path ) if database_connection is None: raise Exception( "CleanupDatasetsApplication requires a database_connection value" ) if file_path is None:
1
0
0
0
[hg] galaxy 2961: Quick fix for maf_utilities.src_split.
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/adfcd8bb13d1
changeset: 2961:adfcd8bb13d1 user: Dan Blankenberg <dan(a)bx.psu.edu> date: Wed Nov 04 12:21:13 2009 -0500 description: Quick fix for maf_utilities.src_split. diffstat: lib/galaxy/tools/util/maf_utilities.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 91a3bbb52d7a -r adfcd8bb13d1 lib/galaxy/tools/util/maf_utilities.py --- a/lib/galaxy/tools/util/maf_utilities.py Wed Nov 04 12:15:53 2009 -0500 +++ b/lib/galaxy/tools/util/maf_utilities.py Wed Nov 04 12:21:13 2009 -0500 @@ -23,7 +23,7 @@ fields = src.split( SRC_SPLIT_CHAR, 1 ) spec = fields.pop( 0 ) if fields: - chrom = fields + chrom = fields.pop( 0 ) else: chrom = spec return spec, chrom
1
0
0
0
[hg] galaxy 2962: Fixed a bug in user info - adding new address
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/92d395c8614b
changeset: 2962:92d395c8614b user: rc date: Wed Nov 04 12:30:36 2009 -0500 description: Fixed a bug in user info - adding new address diffstat: lib/galaxy/web/controllers/user.py | 114 +++++++++++++++++++++++--------------- templates/user/edit_address.mako | 2 +- templates/user/info.mako | 2 +- templates/user/new_address.mako | 33 +++++++++++ 4 files changed, 104 insertions(+), 47 deletions(-) diffs (200 lines): diff -r adfcd8bb13d1 -r 92d395c8614b lib/galaxy/web/controllers/user.py --- a/lib/galaxy/web/controllers/user.py Wed Nov 04 12:21:13 2009 -0500 +++ b/lib/galaxy/web/controllers/user.py Wed Nov 04 12:30:36 2009 -0500 @@ -272,7 +272,7 @@ user_address.country = util.restore_text(params.get('field_%i_country' % index, '')) user_address.phone = util.restore_text(params.get('field_%i_phone' % index, '')) user_address.flush() - trans.user.refresh() + trans.sa_session.refresh( user ) values.append(int(user_address.id)) elif value == unicode('none'): values.append('') @@ -618,57 +618,81 @@ # User not logged in, history group must be only public return trans.show_error_message( "You must be logged in to change your default permitted actions." ) @web.expose - def new_address( self, trans, short_desc='', name='', institution='', address1='', - address2='', city='', state='', postal_code='', country='', phone='' ): - if trans.app.config.require_login: - refresh_frames = [ 'masthead', 'history', 'tools' ] - else: - refresh_frames = [ 'masthead', 'history' ] + def new_address( self, trans, **kwd ): + params = util.Params( kwd ) + msg = util.restore_text( params.get( 'msg', '' ) ) + messagetype = params.get( 'messagetype', 'done' ) + admin_view = params.get( 'admin_view', 'False' ) + error = '' + user = trans.sa_session.query( trans.app.model.User ).get( int( params.get( 'user_id', None ) ) ) if not trans.app.config.allow_user_creation and not trans.user_is_admin(): return trans.show_error_message( 'User registration is disabled. Please contact your Galaxy administrator for an account.' ) - short_desc_error = name_error = institution_error = address1_error = city_error = None - address2_error = state_error = postal_code_error = country_error = phone_error = None - if short_desc: - if not len( short_desc ): - short_desc_error = 'Enter a short description for this address' - elif not len( name ): - name_error = 'Enter the full name' - elif not len( institution ): - institution_error = 'Enter the institution associated with the user' - elif not len ( address1 ): - address1_error = 'Enter the address' - elif not len( city ): - city_error = 'Enter the city' - elif not len( state ): - state_error = 'Enter the state/province/region' - elif not len( postal_code ): - postal_code_error = 'Enter the postal code' - elif not len( country ): - country_error = 'Enter the country' + if params.get( 'save_new_address_button', None ) == 'Save': + if not len( util.restore_text( params.get( 'short_desc', '' ) ) ): + error = 'Enter a short description for this address' + elif not len( util.restore_text( params.get( 'name', '' ) ) ): + error = 'Enter the full name' + elif not len( util.restore_text( params.get( 'institution', '' ) ) ): + error = 'Enter the institution associated with the user' + elif not len ( util.restore_text( params.get( 'address1', '' ) ) ): + error = 'Enter the address' + elif not len( util.restore_text( params.get( 'city', '' ) ) ): + error = 'Enter the city' + elif not len( util.restore_text( params.get( 'state', '' ) ) ): + error = 'Enter the state/province/region' + elif not len( util.restore_text( params.get( 'postal_code', '' ) ) ): + error = 'Enter the postal code' + elif not len( util.restore_text( params.get( 'country', '' ) ) ): + error = 'Enter the country' else: - user_address = trans.app.model.UserAddress( user=trans.user, desc=short_desc, - name=name, institution=institution, - address=address1+' '+address2, city=city, - state=state, postal_code=postal_code, - country=country, phone=phone) + user_address = trans.app.model.UserAddress( user=user ) + user_address.desc = util.restore_text( params.get( 'short_desc', '' ) ) + user_address.name = util.restore_text( params.get( 'name', '' ) ) + user_address.institution = util.restore_text( params.get( 'institution', '' ) ) + user_address.address = util.restore_text( params.get( 'address1', '' ) )+' '+util.restore_text( params.get( 'address2', '' ) ) + user_address.city = util.restore_text( params.get( 'city', '' ) ) + user_address.state = util.restore_text( params.get( 'state', '' ) ) + user_address.postal_code = util.restore_text( params.get( 'postal_code', '' ) ) + user_address.country = util.restore_text( params.get( 'country', '' ) ) + user_address.phone = util.restore_text( params.get( 'phone', '' ) ) user_address.flush() + msg = 'Address <b>%s</b> has been added' % user_address.desc + if admin_view == 'True': + return trans.response.send_redirect( web.url_for( controller='user', + action='show_info', + admin_view=True, + user_id=user.id, + msg=msg, + messagetype='done') ) return trans.response.send_redirect( web.url_for( controller='user', action='show_info', - msg='Address <b>%s</b> has been added' % user_address.desc, + msg=msg, messagetype='done') ) - - return trans.show_form( - web.FormBuilder( web.url_for(), "New address", submit_text="Save" ) - .add_text( "short_desc", "Short address description", value=short_desc, error=short_desc_error ) - .add_text( "name", "Name", value=name, error=name_error ) - .add_text( "institution", "Institution", value=institution, error=institution_error ) - .add_text( "address1", "Address Line 1", value=address1, error=address1_error ) - .add_text( "address2", "Address Line 2", value=address2, error=address2_error ) - .add_text( "city", "City", value=city, error=city_error ) - .add_text( "state", "State/Province/Region", value=state, error=state_error ) - .add_text( "postal_code", "Postal Code", value=postal_code, error=postal_code_error ) - .add_text( "country", "Country", value=country, error=country_error ) - .add_text( "phone", "Phone", value=phone, error=phone_error ) ) + else: + # show the address form with the current values filled in + # create the widgets for each address field + widgets = [] + widgets.append(dict(label='Short description', + widget=TextField( 'short_desc', 40, '' ) ) ) + widgets.append(dict(label='Name', + widget=TextField( 'name', 40, '' ) ) ) + widgets.append(dict(label='Institution', + widget=TextField( 'institution', 40, '' ) ) ) + widgets.append(dict(label='Address Line 1', + widget=TextField( 'address1', 40, '' ) ) ) + widgets.append(dict(label='City', + widget=TextField( 'city', 40, '' ) ) ) + widgets.append(dict(label='State', + widget=TextField( 'state', 40, '' ) ) ) + widgets.append(dict(label='Postal Code', + widget=TextField( 'postal_code', 40, '' ) ) ) + widgets.append(dict(label='Country', + widget=TextField( 'country', 40, '' ) ) ) + widgets.append(dict(label='Phone', + widget=TextField( 'phone', 40, '' ) ) ) + return trans.fill_template( 'user/new_address.mako', user=user, + admin_view=admin_view, + widgets=widgets, msg=msg, messagetype=messagetype) @web.expose def edit_address( self, trans, **kwd ): params = util.Params( kwd ) diff -r adfcd8bb13d1 -r 92d395c8614b templates/user/edit_address.mako --- a/templates/user/edit_address.mako Wed Nov 04 12:21:13 2009 -0500 +++ b/templates/user/edit_address.mako Wed Nov 04 12:30:36 2009 -0500 @@ -11,7 +11,7 @@ <ul class="manage-table-actions"> <li> - <a class="action-button" href="${h.url_for( controller='user', action='show_info')}"> + <a class="action-button" href="${h.url_for( controller='user', action='show_info', admin_view=admin_view, user_id=user.id)}"> <span>Manage User Information</span></a> </li> </ul> diff -r adfcd8bb13d1 -r 92d395c8614b templates/user/info.mako --- a/templates/user/info.mako Wed Nov 04 12:21:13 2009 -0500 +++ b/templates/user/info.mako Wed Nov 04 12:30:36 2009 -0500 @@ -99,7 +99,7 @@ </div> </form> %endif - <form name="user_info" id="user_info" action="${h.url_for( controller='user', action='new_address' )}" method="post" > + <form name="user_info" id="user_info" action="${h.url_for( controller='user', action='new_address', user_id=user.id, admin_view=admin_view )}" method="post" > <div class="toolFormTitle">User Addresses</div> <div class="toolFormBody"> %if user.addresses: diff -r adfcd8bb13d1 -r 92d395c8614b templates/user/new_address.mako --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/user/new_address.mako Wed Nov 04 12:30:36 2009 -0500 @@ -0,0 +1,33 @@ +<%inherit file="/base.mako"/> +<%namespace file="/message.mako" import="render_msg" /> + + +%if msg: + ${render_msg( msg, messagetype )} +%endif +</br> +</br> +<h3>New address</h3> + +<ul class="manage-table-actions"> + <li> + <a class="action-button" href="${h.url_for( controller='user', action='show_info', admin_view=admin_view, user_id=user.id)}"> + <span>Manage User Information</span></a> + </li> +</ul> +<div class="toolForm"> +<form name="login_info" id="login_info" action="${h.url_for( controller='user', action='new_address', admin_view=admin_view, user_id=user.id )}" method="post" > + <div class="toolFormTitle">New address</div> + <div class="toolFormBody"> + %for field in widgets: + <div class="form-row"> + <label>${field[ 'label' ]}</label> + ${field[ 'widget' ].get_html()} + </div> + %endfor + <div class="form-row"> + <input type="submit" name="save_new_address_button" value="Save"> + </div> + </div> +</form> +</div> \ No newline at end of file
1
0
0
0
[hg] galaxy 2963: Add the GeneTrack egg. Also includes some enh...
by Greg Von Kuster
07 Nov '09
07 Nov '09
details:
http://www.bx.psu.edu/hg/galaxy/rev/fdf07565eedf
changeset: 2963:fdf07565eedf user: Nate Coraor <nate(a)bx.psu.edu> date: Wed Nov 04 12:58:48 2009 -0500 description: Add the GeneTrack egg. Also includes some enhancements and cleanup of the eggs/fetch/scramble code. diffstat: dist-eggs.ini | 4 + eggs.ini | 5 +- lib/galaxy/config.py | 13 +++ lib/galaxy/eggs/__init__.py | 149 ++++++++++++++---------------------- scripts/fetch_eggs.py | 36 ++++---- scripts/scramble.py | 28 +++--- scripts/scramble/scripts/GeneTrack.py | 52 +++++++++++++ 7 files changed, 164 insertions(+), 123 deletions(-) diffs (490 lines): diff -r 92d395c8614b -r fdf07565eedf dist-eggs.ini --- a/dist-eggs.ini Wed Nov 04 12:30:36 2009 -0500 +++ b/dist-eggs.ini Wed Nov 04 12:58:48 2009 -0500 @@ -57,3 +57,7 @@ all = py2.4-all py2.5-all py2.6-all ; default hosts for platform-inspecific eggs noplatform = py2.4-linux-i686-ucs4 py2.5-linux-i686-ucs4 py2.6-linux-i686-ucs4 + +[ignore] +; Don't build these eggs on these platforms: +GeneTrack = py2.4-noplatform diff -r 92d395c8614b -r fdf07565eedf eggs.ini --- a/eggs.ini Wed Nov 04 12:30:36 2009 -0500 +++ b/eggs.ini Wed Nov 04 12:58:48 2009 -0500 @@ -9,7 +9,7 @@ [general] repository =
http://eggs.g2.bx.psu.edu
; these eggs must be scrambled for your local environment -no_download = pbs_python DRMAA_python +no_auto = pbs_python DRMAA_python [eggs:platform] bx_python = 0.5.0 @@ -31,6 +31,7 @@ decorator = 3.1.2 docutils = 0.4 elementtree = 1.2.6_20050316 +GeneTrack = 2.0.0_beta_1 lrucache = 0.2 ;lsprof - james Mako = 0.2.5 @@ -61,6 +62,7 @@ python_lzo = _static flup = .dev_r2311 bx_python = _dev_r4bf1f32e6b76 +GeneTrack = _dev_raa786e9fc131d998e532a1aef39d108850c9e93d ; nose = .dev_r7156749efc58 ; source location, necessary for scrambling @@ -81,6 +83,7 @@ decorator =
http://pypi.python.org/packages/source/d/decorator/decorator-3.1.2.tar.gz
docutils =
http://downloads.sourceforge.net/docutils/docutils-0.4.tar.gz
elementtree =
http://effbot.org/downloads/elementtree-1.2.6-20050316.tar.gz
+GeneTrack =
http://github.com/ialbert/genetrack-central/tarball/aa786e9fc131d998e532a1a…
lrucache =
http://evan.prodromou.name/lrucache/lrucache-0.2.tar.gz
Mako =
http://www.makotemplates.org/downloads/Mako-0.2.5.tar.gz
MyghtyUtils =
http://cheeseshop.python.org/packages/source/M/MyghtyUtils/MyghtyUtils-0.52…
diff -r 92d395c8614b -r fdf07565eedf lib/galaxy/config.py --- a/lib/galaxy/config.py Wed Nov 04 12:30:36 2009 -0500 +++ b/lib/galaxy/config.py Wed Nov 04 12:58:48 2009 -0500 @@ -8,6 +8,9 @@ import ConfigParser from galaxy.util import string_as_bool +from galaxy import eggs +import pkg_resources + log = logging.getLogger( __name__ ) def resolve_path( path, root ): @@ -126,6 +129,16 @@ for path in self.tool_config, self.datatypes_config: if not os.path.isfile(path): raise ConfigurationError("File not found: %s" % path ) + # Check job runners so the admin can scramble dependent egg. + if self.start_job_runners is not None: + runner_to_egg = dict( pbs = 'pbs_python', sge = 'DRMAA_python' ) + for runner in self.start_job_runners.split( ',' ): + try: + pkg_resources.require( runner_to_egg[runner] ) + except eggs.EggNotFetchable, e: + raise eggs.EggNotFetchable( 'You must scramble the %s egg to use the %s job runner. Instructions are available at:\n
http://bitbucket.org/galaxy/galaxy-central/wiki/Config/Cluster
' % ( runner_to_egg[runner], runner ) ) + except KeyError: + raise Exception( 'No such job runner: %s. Please double-check the value of start_job_runners in universe_wsgi.ini' % runner ) def is_admin_user( self,user ): """ diff -r 92d395c8614b -r fdf07565eedf lib/galaxy/eggs/__init__.py --- a/lib/galaxy/eggs/__init__.py Wed Nov 04 12:30:36 2009 -0500 +++ b/lib/galaxy/eggs/__init__.py Wed Nov 04 12:58:48 2009 -0500 @@ -14,11 +14,12 @@ # within tools. i don't know of any way around this. -ndc galaxy_dir = os.path.abspath( os.path.join( os.path.dirname( __file__ ), "..", "..", ".." ) ) -class NewEgg( Exception ): - pass - class EggNotFetchable( Exception ): - pass + def __init__( self, eggs ): + if type( eggs ) in ( list, tuple ): + self.eggs = eggs + else: + self.eggs = [ eggs ] class PlatformNotSupported( Exception ): pass @@ -157,6 +158,14 @@ # scramble helper methods def get_archive_path( self, url ): return os.path.join( Egg.archive_dir, (url.rsplit( '/', 1 ))[1] ) + def get_tld( self, names ): + tld = names[0].split( os.path.sep, 1 )[0] + for name in names: + try: + assert tld == name.split( os.path.sep, 1 )[0] + except: + raise Exception( "get_tld(): Archive contains multiple top-level directories!" ) + return tld def fetch_source( self ): if not os.access( Egg.archive_dir, os.F_OK ): os.makedirs( Egg.archive_dir ) @@ -195,7 +204,7 @@ log.warning( " %s" % self.buildpath ) def unpack_zip( self, source_path, unpack_path ): z = zipfile.ZipFile( source_path, "r" ) - tld = ( z.namelist()[0].split( os.path.sep, 1 ) )[0] + tld = self.get_tld( z.namelist() ) cur = os.getcwd() os.chdir( unpack_path ) for fn in z.namelist(): @@ -211,12 +220,12 @@ os.chdir( cur ) def unpack_tar( self, source_path, unpack_path ): t = tarfile.open( source_path, "r" ) - tld = ( t.getnames()[0].split( os.path.sep, 1 ) )[0] + members = filter( lambda x: "ez_setup" not in x.name and "pax_global_header" != x.name, t.getmembers() ) + tld = self.get_tld( [ x.name for x in members ] ) cur = os.getcwd() os.chdir( unpack_path ) - for member in t.getmembers(): - if "ez_setup" not in member.name: - t.extract( member ) + for member in members: + t.extract( member ) t.close() os.rename( tld, self.name ) os.chdir( cur ) @@ -265,7 +274,7 @@ self.eggs = {} self.config = CSConfigParser() self.repo = None - self.no_download = [] + self.no_auto = [] self.platform = { 'peak' : get_platform( platform=True, peak=True ), 'galaxy' : get_platform( platform=True, peak=False ) } self.noplatform = { 'peak' : get_platform( platform=False, peak=True ), 'galaxy' : get_platform( platform=False, peak=False ) } def parse( self ): @@ -273,7 +282,7 @@ raise Exception( "unable to read egg config from %s" % Crate.config_file ) try: self.repo = self.config.get( "general", "repository" ) - self.no_download = self.config.get( "general", "no_download" ).split() + self.no_auto = self.config.get( "general", "no_auto" ).split() except ConfigParser.NoSectionError: raise Exception( "eggs.ini is missing required section [general]" ) #except ConfigParser.NoOptionError: @@ -316,19 +325,19 @@ return True def fetch( self, ignore=[] ): """ - Fetch all eggs in the crate (ignoring any that you want to - ignore). If your platform isn't available, it'll attempt to - download all the noplatform eggs before failing. + Fetch all eggs in the crate (ignoring any that you want to + ignore). If your platform isn't available, it'll attempt to + download all the noplatform eggs before failing. """ skip_platform = False - ignore.extend( self.no_download ) + ignore.extend( self.no_auto ) + missing = [] try: f = urllib2.urlopen( "%s/%s" % ( self.repo, self.platform['galaxy'] ) ) f.close() except urllib2.HTTPError, e: if e.code == 404: skip_platform = True - missing = [] for egg in self.eggs.itervalues(): if ignore is not None: if egg.name in ignore: @@ -336,11 +345,18 @@ if skip_platform and egg.platform['galaxy'] == self.platform['galaxy']: missing.append( egg.name ) continue - egg.fetch() + try: + egg.fetch() + except EggNotFetchable: + missing.append( egg.name ) if skip_platform: raise PlatformNotSupported( self.platform['galaxy'] ) + if missing: + raise EggNotFetchable( missing ) return True def scramble( self, ignore=None ): + # Crate-scrambling the no_auto eggs makes no sense + ignore.extend( self.no_auto ) for egg in self.eggs.itervalues(): if ignore is not None: if egg.name in ignore: @@ -379,21 +395,14 @@ if self.config.read( DistCrate.dist_config_file ) == []: raise Exception( "unable to read dist egg config from %s" % DistCrate.dist_config_file ) try: - self.hosts = self.dictize_list_of_tuples( self.config.items( "hosts" ) ) - self.groups = self.dictize_list_of_tuples( self.config.items( "groups" ) ) + self.hosts = dict( self.config.items( "hosts" ) ) + self.groups = dict( self.config.items( "groups" ) ) + self.ignore = dict( self.config.items( "ignore" ) ) except ConfigParser.NoSectionError, e: raise Exception( "eggs.ini is missing required section: %s" % e ) self.platforms = self.get_platforms( self.build_on ) self.noplatforms = self.get_platforms( 'noplatform' ) Crate.parse( self ) - def dictize_list_of_tuples( self, lot ): - """ - Makes a list of 2-value tuples into a dict. - """ - d = {} - for k, v in lot: - d[k] = v - return d def get_platforms( self, wanted ): # find all the members of a group and process them if self.groups.has_key( wanted ): @@ -409,8 +418,8 @@ raise Exception( "unknown platform: %s" % wanted ) def parse_egg_section( self, eggs, type ): """ - Overrides the base class's method. Here we use the third arg - to find out what type of egg we'll be building. + Overrides the base class's method. Here we use the third arg + to find out what type of egg we'll be building. """ if type == "platform": platforms = self.platforms @@ -418,14 +427,16 @@ platforms = self.noplatforms for name, version in eggs: for platform in platforms: - # can't use the regular methods here because we're not - # actually ON the target platform + # can't use the regular methods here because we're not + # actually ON the target platform if type == "platform": gplat = platform pplat = platform.rsplit('-', 1)[0] elif type == "noplatform": gplat = "%s-noplatform" % platform.split('-', 1)[0] pplat = platform.split('-', 1)[0] + if name in self.ignore and gplat in self.ignore[name].split(): + continue egg = Egg() try: egg.tag = self.config.get( "tags", name ) @@ -448,75 +459,31 @@ class GalaxyConfig: config_file = os.path.join( galaxy_dir, "universe_wsgi.ini" ) + always_conditional = ( 'GeneTrack', ) def __init__( self ): self.config = ConfigParser.ConfigParser() if self.config.read( GalaxyConfig.config_file ) == []: raise Exception( "error: unable to read Galaxy config from %s" % GalaxyConfig.config_file ) # TODO: conditionals should really be handled better than this def check_conditional( self, egg_name ): - if egg_name == "psycopg2": + if egg_name == "pysqlite": + # SQLite is different since it can be specified in two config vars and defaults to True try: - if self.config.get( "app:main", "database_connection" ).startswith( "postgres://" ): - return True - else: - return False + return self.config.get( "app:main", "database_connection" ).startswith( "sqlite://" ) + except: + return True + else: + try: + return { "psycopg2": lambda: self.config.get( "app:main", "database_connection" ).startswith( "postgres://" ), + "MySQL_python": lambda: self.config.get( "app:main", "database_connection" ).startswith( "mysql://" ), + "DRMAA_python": lambda: "sge" in self.config.get( "app:main", "start_job_runners" ).split(","), + "pbs_python": lambda: "pbs" in self.config.get( "app:main", "start_job_runners" ).split(","), + "threadframe": lambda: self.config.get( "app:main", "use_heartbeat" ), + "guppy": lambda: self.config.get( "app:main", "use_memdump" ), + "GeneTrack": lambda: sys.version_info[:2] >= ( 2, 5 ), + }.get( egg_name, lambda: True )() except: return False - elif egg_name == "pysqlite": - try: - # database connection is the sqlite alchemy dialect (not really - # a documented usage in Galaxy, but it would work) - if self.config.get( "app:main", "database_connection" ).startswith( "sqlite://" ): - return True - else: - return False - # database connection is unset, so sqlite is the default - except: - return True - elif egg_name == "DRMAA_python": - try: - runners = self.config.get( "app:main", "start_job_runners" ).split(",") - if "sge" in runners: - return True - else: - return False - except: - return False - elif egg_name == "pbs_python": - try: - runners = self.config.get( "app:main", "start_job_runners" ).split(",") - if "pbs" in runners: - return True - else: - return False - except: - return False - elif egg_name == "threadframe": - try: - if self.config.get( "app:main", "use_heartbeat" ): - return True - else: - return False - except: - return False - elif egg_name == "guppy": - try: - if self.config.get( "app:main", "use_memdump" ): - return True - else: - return False - except: - return False - elif egg_name == "MySQL_python": - try: - if self.config.get( "app:main", "database_connection" ).startswith( "mysql://" ): - return True - else: - return False - except: - return False - else: - return True def require( pkg ): # add the egg dirs to sys.path if they're not already there diff -r 92d395c8614b -r fdf07565eedf scripts/fetch_eggs.py --- a/scripts/fetch_eggs.py Wed Nov 04 12:30:36 2009 -0500 +++ b/scripts/fetch_eggs.py Wed Nov 04 12:58:48 2009 -0500 @@ -25,26 +25,28 @@ c.platform = { 'peak' : sys.argv[2].rsplit('-',1)[0], 'galaxy' : sys.argv[2] } c.parse() try: + galaxy_config = GalaxyConfig() + names = [] if len( sys.argv ) == 1: - galaxy_config = GalaxyConfig() - ignore = [] - for name in c.get_names(): - if not galaxy_config.check_conditional( name ): - ignore.append( name ) - c.fetch( ignore=ignore ) + names = c.get_names() + elif sys.argv[1] == 'all': + names = galaxy_config.always_conditional else: - if sys.argv[1] == 'all': - c.fetch() - else: - egg = c.get( sys.argv[1] ) - if egg is None: - print "error: %s not in eggs.ini" % sys.argv[1] - sys.exit( 1 ) - egg.fetch() + # Fetch a specific egg + egg = c.get( sys.argv[1] ) + if egg is None: + print "error: %s not in eggs.ini" % sys.argv[1] + sys.exit( 1 ) + egg.fetch() + sys.exit( 0 ) + ignore = filter( lambda x: not galaxy_config.check_conditional( x ), list( names ) ) + c.fetch( ignore ) except EggNotFetchable, e: - print "One of the python eggs necessary to run Galaxy couldn't be downloaded" - print "automatically. You may want to try building it by hand with:" - print " python scripts/scramble.py %s" % e + print "One or more of the python eggs necessary to run Galaxy couldn't be" + print "downloaded automatically. You may want to try building them by" + print "hand with:" + for egg in e.eggs: + print " python scripts/scramble.py %s" % egg sys.exit( 1 ) except PlatformNotSupported, e: print "Your platform (%s) is not supported." % e diff -r 92d395c8614b -r fdf07565eedf scripts/scramble.py --- a/scripts/scramble.py Wed Nov 04 12:30:36 2009 -0500 +++ b/scripts/scramble.py Wed Nov 04 12:58:48 2009 -0500 @@ -18,19 +18,19 @@ c = Crate() c.parse() +galaxy_config = GalaxyConfig() +names = [] if len( sys.argv ) == 1: - galaxy_config = GalaxyConfig() - ignore = [] - for name in c.get_names(): - if not galaxy_config.check_conditional( name ): - ignore.append( name ) - c.scramble( ignore=ignore ) + names = c.get_names() +elif sys.argv[1] == 'all': + names = galaxy_config.always_conditional else: - if sys.argv[1] == 'all': - c.scramble() - else: - egg = c.get( sys.argv[1] ) - if egg is None: - print "error: %s not in eggs.ini" % sys.argv[1] - sys.exit( 1 ) - egg.scramble() +# Scramble a specific egg + egg = c.get( sys.argv[1] ) + if egg is None: + print "error: %s not in eggs.ini" % sys.argv[1] + sys.exit( 1 ) + egg.scramble() + sys.exit( 0 ) +ignore = filter( lambda x: not galaxy_config.check_conditional( x ), list( names ) ) +c.scramble( ignore=ignore ) diff -r 92d395c8614b -r fdf07565eedf scripts/scramble/scripts/GeneTrack.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/scramble/scripts/GeneTrack.py Wed Nov 04 12:58:48 2009 -0500 @@ -0,0 +1,52 @@ +import os, sys, shutil + +# change back to the build dir +if os.path.dirname( sys.argv[0] ) != "": + os.chdir( os.path.dirname( sys.argv[0] ) ) + +# find setuptools +scramble_lib = os.path.join( "..", "..", "..", "lib" ) +sys.path.append( scramble_lib ) +from ez_setup import use_setuptools +use_setuptools( download_delay=8, to_dir=scramble_lib ) +from setuptools import * + +# get the tag +if os.access( ".galaxy_tag", os.F_OK ): + tagfile = open( ".galaxy_tag", "r" ) + tag = tagfile.readline().strip() +else: + tag = None + +# in case you're running this by hand from a dirty module source dir +for dir in [ "build", "dist" ]: + if os.access( dir, os.F_OK ): + print "scramble.py: removing dir:", dir + shutil.rmtree( dir ) + +# reset args for distutils +me = sys.argv[0] +sys.argv = [ me ] +sys.argv.append( "egg_info" ) +if tag is not None: + #sys.argv.append( "egg_info" ) + sys.argv.append( "--tag-build=%s" %tag ) +# svn revision (if any) is handled directly in tag-build +sys.argv.append( "--no-svn-revision" ) +sys.argv.append( "bdist_egg" ) + +print "scramble.py: Creating setup.py for GeneTrack" +setup_py = """from setuptools import setup, find_packages +setup( + name = "GeneTrack", + version = "2.0.0-beta-1", + package_data = {'':["*.*"]}, + packages = find_packages(), + zip_safe = True, +) +""" +open( 'setup.py', 'w' ).write( setup_py ) + + +# do it +execfile( "setup.py", globals(), locals() )
1
0
0
0
← Newer
1
...
16
17
18
19
20
21
22
23
24
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Results per page:
10
25
50
100
200