from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.db import connection from openid.store.sqlstore import * from openid.store.filestore import FileOpenIDStore def getStore(): if settings.DATABASE_ENGINE is None: mystore = FileOpenIDStore (settings.OPENID_DATASTORE_PATH) else: if settings.DATABASE_ENGINE == 'mysql': mystore = MySQLStore( connection.connection, settings_table='openid_settings', associations_table='openid_associations', nonces_table='openid_nonces' ) elif settings.DATABASE_ENGINE == 'postgresql': mystore = PostgreSQLStore( connection, settings_table='openid_settings', associations_table='openid_associations', nonces_table='openid_nonces' ) elif settings.DATABASE_ENGINE == 'sqllite3': mystore = SQLiteStore( connection, settings_table='openid_settings', associations_table='openid_associations', nonces_table='openid_nonces' ) else: raise ImproperlyConfigured, "OpenID doesn't work with %s. Set OPENID_DATASTORE_PATH instead " % settings.DATABASE_ENGINE return mystore