예제 #1
0
def main():
    if len(sys.argv) != 1 or sys.argv[1] == "-h" or sys.argv[1] == "--help":
        usage(sys.argv[0])
        sys.exit()
    ini_file = sys.argv.pop(1)
    conf_parser = configparser.ConfigParser({'here': os.getcwd()})
    conf_parser.read(ini_file)
    configuration = {}
    for key, value in conf_parser.items("app:main"):
        configuration[key] = value
    app = galaxy.app.UniverseApplication(global_conf=ini_file, **configuration)

    # Step through Datasets, determining size on disk for each.
    print("Determining the size of each dataset...")
    for row in app.model.Dataset.table.select().execute():
        purged = app.model.Dataset.get(row.id).purged
        file_size = app.model.Dataset.get(row.id).file_size
        if file_size is None and not purged:
            size_on_disk = app.model.Dataset.get(row.id).get_size()
            print("Updating Dataset.%d with file_size: %d" %
                  (row.id, size_on_disk))
            app.model.Dataset.table.update(
                app.model.Dataset.table.c.id == row.id).execute(
                    file_size=size_on_disk)
    app.shutdown()
    sys.exit(0)
예제 #2
0
def main():
    if len(sys.argv) != 2 or sys.argv[1] == "-h" or sys.argv[1] == "--help" :
        usage(sys.argv[0])
        sys.exit()
    ini_file = sys.argv.pop(1)
    conf_parser = ConfigParser.ConfigParser({'here': os.getcwd()})
    conf_parser.read(ini_file)
    configuration = {}
    for key, value in conf_parser.items("app:main"):
        configuration[key] = value
    app = galaxy.app.UniverseApplication( global_conf=ini_file, **configuration )

    # Search out tabular datatypes (and subclasses) and initialize metadata
    print "Seeking out tabular based files and initializing metadata"
    for row in app.model.Dataset.table.select().execute():
        data = app.model.Dataset.get(row.id)
        if issubclass(type(data.datatype), type(app.datatypes_registry.get_datatype_by_extension('tabular'))):
            print row.id, data.extension
            # Call meta_data for all tabular files
            # special case interval type where we do not want to overwrite chr, start, end, etc assignments
            if issubclass(type(data.datatype), type(app.datatypes_registry.get_datatype_by_extension('interval'))):
                galaxy.datatypes.tabular.Tabular().set_meta(data)
            else:
                data.set_meta()
            app.model.context.add( data )
            app.model.context.flush()

    app.shutdown()
    sys.exit(0)
예제 #3
0
def main():
    ini_file = sys.argv.pop(1)
    conf_parser = ConfigParser.ConfigParser({'here':os.getcwd()})
    conf_parser.read(ini_file)
    configuration = {}
    for key, value in conf_parser.items("app:main"): configuration[key] = value
    app = galaxy.app.UniverseApplication( global_conf = ini_file, **configuration )
    
    #Step through Database, turning metadata bunches into dictionaries.
    #print "Changing metadata bunches to dictionaries."
    #for row in app.model.Dataset.table.select().execute():
    #    if isinstance (row.metadata, Bunch):
    #        print row.id
    #        app.model.Dataset.table.update(app.model.Dataset.table.c.id == row.id).execute( _metadata = row.metadata.__dict__ )
    
    #Make sure all metadata is jsonified
    #print "Rewriting all metadata to database, setting metadata dbkey, to ensure JSONified storage."
    #for row in app.model.Dataset.table.select().execute():
    #    print row.id
    #    data = app.model.Dataset.get(row.id)
    #    dbkey = data.old_dbkey
    #    if not dbkey or data.metadata.dbkey not in ["?", ["?"], None, []]:
    #        dbkey = data.metadata.dbkey
    #    if not dbkey: dbkey = "?"
    #    #change dbkey then flush, then change to real value and flush, ensures that metadata is rewritten to database
    #    data.dbkey="~"
    #    data.flush()
    #    data.dbkey=dbkey
    #    data.flush()
    
    
    #Search out tabular datatypes (and subclasses) and initialize metadata
    print "Seeking out tabular based files and initializing metadata"
    for row in app.model.Dataset.table.select().execute():
        data = app.model.Dataset.get(row.id)
        if issubclass(type(data.datatype), type(app.datatypes_registry.get_datatype_by_extension('tabular'))):
            print row.id, data.extension
            #Call meta_data for all tabular files
            #special case interval type where we do not want to overwrite chr, start, end, etc assignments
            if issubclass(type(data.datatype), type(app.datatypes_registry.get_datatype_by_extension('interval'))):
                galaxy.datatypes.tabular.Tabular().set_meta(data)
            else:
                data.set_meta()
            app.model.context.add( data )
            app.model.context.flush()
            
    #Search out maf datatypes and make sure that available species is set.
    #print "Seeking out maf files and setting available species."
    #for row in app.model.Dataset.table.select(app.model.Dataset.table.c.extension == 'maf').execute():
    #    print row.id
    #    sys.stdout.flush()
    #    data = app.model.Dataset.get(row.id)
    #    if data.missing_meta:
    #        data.set_meta() #Call maf set metadata method, setting available species
    #        data.flush()
    
    app.shutdown()
    sys.exit(0)
예제 #4
0
def main():
    ini_file = sys.argv.pop(1)
    conf_parser = ConfigParser.ConfigParser( {'here':os.getcwd()} )
    conf_parser.read( ini_file )
    configuration = {}
    for key, value in conf_parser.items( "app:main" ): 
        configuration[key] = value
    app = galaxy.app.UniverseApplication( global_conf = ini_file, **configuration )
    
    #Step through Datasets, determining size on disk for each.
    print "Determining the size of each dataset..."
    for row in app.model.Dataset.table.select().execute():
        purged = app.model.Dataset.get( row.id ).purged
        file_size = app.model.Dataset.get( row.id ).file_size
        if file_size is None and not purged:
            size_on_disk = app.model.Dataset.get( row.id ).get_size()
            print "Updating Dataset.%d with file_size: %d" %( row.id, size_on_disk )
            app.model.Dataset.table.update( app.model.Dataset.table.c.id == row.id ).execute( file_size=size_on_disk )
    app.shutdown()
    sys.exit(0)
def main():
    if len(sys.argv) != 2 or sys.argv[1] == "-h" or sys.argv[1] == "--help":
        usage(sys.argv[0])
        sys.exit()
    ini_file = sys.argv.pop(1)
    conf_parser = configparser.ConfigParser({'here': os.getcwd()})
    conf_parser.read(ini_file)
    configuration = {}
    for key, value in conf_parser.items("app:main"):
        configuration[key] = value
    app = galaxy.app.UniverseApplication(global_conf=ini_file, **configuration)

    # Search out tabular datatypes (and subclasses) and initialize metadata
    print("Seeking out tabular based files and initializing metadata")
    for row in app.model.Dataset.table.select().execute():
        data = app.model.Dataset.get(row.id)
        if issubclass(
                type(data.datatype),
                type(
                    app.datatypes_registry.get_datatype_by_extension(
                        'tabular'))):
            print(row.id, data.extension)
            # Call meta_data for all tabular files
            # special case interval type where we do not want to overwrite chr, start, end, etc assignments
            if issubclass(
                    type(data.datatype),
                    type(
                        app.datatypes_registry.get_datatype_by_extension(
                            'interval'))):
                galaxy.datatypes.tabular.Tabular().set_meta(data)
            else:
                data.set_meta()
            app.model.context.add(data)
            app.model.context.flush()

    app.shutdown()
    sys.exit(0)
예제 #6
0
            if galaxy_test_file_dir:
                os.environ['GALAXY_TEST_FILE_DIR'] = galaxy_test_file_dir
            success = _run_functional_test()
    except:
        log.exception("Failure running tests")

    log.info("Shutting down")
    # ---- Tear down -----------------------------------------------------------
    if server:
        log.info("Shutting down embedded web server")
        server.server_close()
        server = None
        log.info("Embedded web server stopped")
    if app:
        log.info("Shutting down app")
        app.shutdown()
        app = None
        log.info("Embedded Universe application stopped")
    try:
        if os.path.exists(
                tempdir) and 'GALAXY_TEST_NO_CLEANUP' not in os.environ:
            log.info("Cleaning up temporary files in %s" % tempdir)
            shutil.rmtree(tempdir)
        else:
            log.info("GALAXY_TEST_NO_CLEANUP is on. Temporary files in %s" %
                     tempdir)
    except:
        pass
    if success:
        return 0
    else:
            if galaxy_test_file_dir:
                os.environ[ 'GALAXY_TEST_FILE_DIR' ] = galaxy_test_file_dir
            success = _run_functional_test( )
    except:
        log.exception( "Failure running tests" )

    log.info( "Shutting down" )
    # ---- Tear down -----------------------------------------------------------
    if server:
        log.info( "Shutting down embedded web server" )
        server.server_close()
        server = None
        log.info( "Embedded web server stopped" )
    if app:
        log.info( "Shutting down app" )
        app.shutdown()
        app = None
        log.info( "Embedded Universe application stopped" )
    try:
        if os.path.exists( tempdir ) and 'GALAXY_TEST_NO_CLEANUP' not in os.environ:
            log.info( "Cleaning up temporary files in %s" % tempdir )
            shutil.rmtree( tempdir )
        else:
            log.info( "GALAXY_TEST_NO_CLEANUP is on. Temporary files in %s" % tempdir )
    except:
        pass
    if psu_production and 'GALAXY_TEST_NO_CLEANUP' not in os.environ:
        for dir in ( file_path, new_file_path ):
            try:
                if os.path.exists( dir ):
                    log.info( 'Cleaning up temporary files in %s' % dir )