diff --git a/lib/galaxy/util/__init__.py b/lib/galaxy/util/__init__.py index 05db41ee92a..632e8a38e26 100644 --- a/lib/galaxy/util/__init__.py +++ b/lib/galaxy/util/__init__.py @@ -249,19 +249,30 @@ def get_ucsc_by_build(build): sites.append((site['name'],site['url'])) return sites -#read db names from file, this file is also used in upload tool -dbnames= [] +#Read build names from file, this list is also used in upload tool +dbnames = [] try: for line in open("static/ucsc/builds.txt"): try: if line[0:1] == "#": continue fields = line.replace("\r","").replace("\n","").split("\t") - dbnames.append( (fields[0],fields[1]) ) + #Special case of unspecified build is at top of list + if fields[0] == "?": + dbnames.insert(0,(fields[0],fields[1])) + continue + #Alphabetize build list + for i in range(0,len(dbnames)): + if dbnames[i][0] == "?": continue + if dbnames[i][1] > fields[1]: + dbnames.insert(i,(fields[0],fields[1])) + break + else: + dbnames.append( (fields[0],fields[1]) ) except: continue except: print "ERROR: Unable to read builds file" if len(dbnames)<1: - dbnames = [('?', 'unspecified')] + dbnames = [('?', 'unspecified (?)')] #read db names to ucsc mappings from file, this file should probably be merged with the one above diff --git a/tools/data_source/upload_code.py b/tools/data_source/upload_code.py index ea97f92ee38..0bdf2e3b0af 100644 --- a/tools/data_source/upload_code.py +++ b/tools/data_source/upload_code.py @@ -1,24 +1,11 @@ -#build list of available data -import sys -builds= [] +#Provides Upload tool with access to list of available builds +import galaxy.util +builds = [] -try: - #read db names from file, this file is also used in galaxy/util.py - for line in open("static/ucsc/builds.txt"): - if line[0:1] == "#": continue - try: - fields = line.replace("\r","").replace("\n","").split("\t") - builds.append((fields[1], fields[0], False)) - except: continue -except Exception, exc: - print >>sys.stdout, 'upload_code.py initialization error -> %s' % exc +#Read build names and keys from galaxy.util +for dbkey, build_name in galaxy.util.dbnames: + builds.append((build_name,dbkey,False)) -#return available builds +#Return available builds def get_available_builds(): - try: - available_options = builds[0:] - except: - available_options = [] - if len(available_options) < 1: - available_options.append(('unspecified','?',True)) - return available_options + return builds