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