Hi, all

If you ever want to write a Midgard-powered Python application that needs to 
use its own storage setup, here is how to initialize a full Midgard environment:

    # Import the Midgard API module
    import _midgard as midgard
    import os
    
    # Prepare a configuration file if one doesn't exist yet, see
    # http://www.midgard-project.org/documentation/unified-configuration/
    config_name = 'my_midgard_db'
    configuration = midgard.config()
    configuration.dbtype = 'SQLite'
    configuration.database = 'my_midgard_db'
    configuration.blobdir = os.path.join(os.path.expanduser("~"), 
"midgardblobs");
    configuration.loglevel = 'message'
    print "Saving configuration file " + config_name
    configuration.save_file(config_name)
    
    # Open a connection to the database defined in the configuration
    connection = midgard.connection()
    print "Opening configuration"
    connection.open_config(configuration)
    
    # Prepare storage tables
    
    # Midgard's internal tables
    print "Creating Midgard's internal database tables"
    configuration.create_midgard_tables()
    
    # Tables for all loaded MgdSchema types, see
    # http://www.midgard-project.org/documentation/mgdschema-file/
    for schema in dir(midgard.mgdschema):
        if schema.startswith('__'):
            continue
        if schema == 'midgard_object':
            continue
        print "Creating table for " + schema
        configuration.create_class_table(schema)
    
    # Prepare the storage directories for binary attachments
    print "Creating blob directory"
    configuration.create_blobdir()
    
    # ...And now your Midgard environment should be operational

/Henri
_______________________________________________
user mailing list
[email protected]
http://lists.midgard-project.org/mailman/listinfo/user

Reply via email to