mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Clean up config.py (pep8, imports, misc).
This commit is contained in:
+21
-26
@@ -15,13 +15,12 @@ from datetime import timedelta
|
||||
from galaxy.web.formatting import expand_pretty_datetime_format
|
||||
from galaxy.util import string_as_bool
|
||||
from galaxy.util import listify
|
||||
from galaxy.util import parse_xml
|
||||
from galaxy.util.dbkeys import GenomeBuilds
|
||||
from galaxy import eggs
|
||||
import pkg_resources
|
||||
|
||||
log = logging.getLogger( __name__ )
|
||||
|
||||
|
||||
def resolve_path( path, root ):
|
||||
"""If 'path' is relative make absolute by prepending 'root'"""
|
||||
if not( os.path.isabs( path ) ):
|
||||
@@ -40,9 +39,9 @@ class Configuration( object ):
|
||||
self.config_dict = kwargs
|
||||
self.root = kwargs.get( 'root_dir', '.' )
|
||||
# Collect the umask and primary gid from the environment
|
||||
self.umask = os.umask( 077 ) # get the current umask
|
||||
os.umask( self.umask ) # can't get w/o set, so set it back
|
||||
self.gid = os.getgid() # if running under newgrp(1) we'll need to fix the group of data created on the cluster
|
||||
self.umask = os.umask( 077 ) # get the current umask
|
||||
os.umask( self.umask ) # can't get w/o set, so set it back
|
||||
self.gid = os.getgid() # if running under newgrp(1) we'll need to fix the group of data created on the cluster
|
||||
|
||||
# Database related configuration
|
||||
self.database = resolve_path( kwargs.get( "database_file", "database/universe.sqlite" ), self.root )
|
||||
@@ -75,7 +74,7 @@ class Configuration( object ):
|
||||
self.enable_unique_workflow_defaults = string_as_bool( kwargs.get( 'enable_unique_workflow_defaults', False ) )
|
||||
self.tool_path = resolve_path( kwargs.get( "tool_path", "tools" ), self.root )
|
||||
self.tool_data_path = resolve_path( kwargs.get( "tool_data_path", "tool-data" ), os.getcwd() )
|
||||
self.len_file_path = resolve_path( kwargs.get( "len_file_path", os.path.join( self.tool_data_path, 'shared','ucsc','chrom') ), self.root )
|
||||
self.len_file_path = resolve_path( kwargs.get( "len_file_path", os.path.join( self.tool_data_path, 'shared', 'ucsc', 'chrom') ), self.root )
|
||||
self.test_conf = resolve_path( kwargs.get( "test_conf", "" ), self.root )
|
||||
# The value of migrated_tools_config is the file reserved for containing only those tools that have been eliminated from the distribution
|
||||
# and moved to the tool shed.
|
||||
@@ -169,7 +168,7 @@ class Configuration( object ):
|
||||
self.admin_users = kwargs.get( "admin_users", "" )
|
||||
self.admin_users_list = [u.strip() for u in self.admin_users.split(',') if u]
|
||||
self.reset_password_length = int( kwargs.get('reset_password_length', '15') )
|
||||
self.mailing_join_addr = kwargs.get('mailing_join_addr',"galaxy-announce-join@bx.psu.edu")
|
||||
self.mailing_join_addr = kwargs.get('mailing_join_addr', 'galaxy-announce-join@bx.psu.edu')
|
||||
self.error_email_to = kwargs.get( 'error_email_to', None )
|
||||
self.activation_email = kwargs.get( 'activation_email', None )
|
||||
self.user_activation_on = string_as_bool( kwargs.get( 'user_activation_on', False ) )
|
||||
@@ -271,9 +270,9 @@ class Configuration( object ):
|
||||
self.object_store_cache_path = resolve_path( kwargs.get( "object_store_cache_path", "database/object_store_cache" ), self.root )
|
||||
# Handle AWS-specific config options for backward compatibility
|
||||
if kwargs.get( 'aws_access_key', None) is not None:
|
||||
self.os_access_key= kwargs.get( 'aws_access_key', None )
|
||||
self.os_secret_key= kwargs.get( 'aws_secret_key', None )
|
||||
self.os_bucket_name= kwargs.get( 's3_bucket', None )
|
||||
self.os_access_key = kwargs.get( 'aws_access_key', None )
|
||||
self.os_secret_key = kwargs.get( 'aws_secret_key', None )
|
||||
self.os_bucket_name = kwargs.get( 's3_bucket', None )
|
||||
self.os_use_reduced_redundancy = kwargs.get( 'use_reduced_redundancy', False )
|
||||
else:
|
||||
self.os_access_key = kwargs.get( 'os_access_key', None )
|
||||
@@ -454,19 +453,13 @@ class Configuration( object ):
|
||||
except Exception, e:
|
||||
raise ConfigurationError( "Unable to create missing directory: %s\n%s" % ( path, e ) )
|
||||
# Create the directories that it makes sense to create
|
||||
for path in self.file_path, \
|
||||
self.new_file_path, \
|
||||
self.job_working_directory, \
|
||||
self.cluster_files_directory, \
|
||||
self.template_cache, \
|
||||
self.ftp_upload_dir, \
|
||||
self.library_import_dir, \
|
||||
self.user_library_import_dir, \
|
||||
self.nginx_upload_store, \
|
||||
'./static/genetrack/plots', \
|
||||
self.whoosh_index_dir, \
|
||||
self.object_store_cache_path, \
|
||||
os.path.join( self.tool_data_path, 'shared', 'jars' ):
|
||||
for path in (self.file_path, self.new_file_path,
|
||||
self.job_working_directory, self.cluster_files_directory,
|
||||
self.template_cache, self.ftp_upload_dir,
|
||||
self.library_import_dir, self.user_library_import_dir,
|
||||
self.nginx_upload_store, './static/genetrack/plots',
|
||||
self.whoosh_index_dir, self.object_store_cache_path,
|
||||
os.path.join( self.tool_data_path, 'shared', 'jars' )):
|
||||
self._ensure_directory( path )
|
||||
# Check that required files exist
|
||||
tool_configs = self.tool_configs
|
||||
@@ -482,7 +475,7 @@ class Configuration( object ):
|
||||
if key in self.deprecated_options:
|
||||
log.warning( "Config option '%s' is deprecated and will be removed in a future release. Please consult the latest version of the sample configuration file." % key )
|
||||
|
||||
def is_admin_user( self,user ):
|
||||
def is_admin_user( self, user ):
|
||||
"""
|
||||
Determine if the provided user is listed in `admin_users`.
|
||||
|
||||
@@ -497,12 +490,13 @@ class Configuration( object ):
|
||||
"""
|
||||
return resolve_path( path, self.root )
|
||||
|
||||
|
||||
def get_database_engine_options( kwargs, model_prefix='' ):
|
||||
"""
|
||||
Allow options for the SQLAlchemy database engine to be passed by using
|
||||
the prefix "database_engine_option".
|
||||
"""
|
||||
conversions = {
|
||||
conversions = {
|
||||
'convert_unicode': string_as_bool,
|
||||
'pool_timeout': int,
|
||||
'echo': string_as_bool,
|
||||
@@ -524,6 +518,7 @@ def get_database_engine_options( kwargs, model_prefix='' ):
|
||||
rval[ key ] = value
|
||||
return rval
|
||||
|
||||
|
||||
def configure_logging( config ):
|
||||
"""
|
||||
Allow some basic logging configuration to be read from ini file.
|
||||
@@ -558,7 +553,7 @@ def configure_logging( config ):
|
||||
root.addHandler( handler )
|
||||
# If sentry is configured, also log to it
|
||||
if config.sentry_dsn:
|
||||
pkg_resources.require( "raven" )
|
||||
eggs.require( "raven" )
|
||||
from raven.handlers.logging import SentryHandler
|
||||
sentry_handler = SentryHandler( config.sentry_dsn )
|
||||
sentry_handler.setLevel( logging.WARN )
|
||||
|
||||
Reference in New Issue
Block a user