Exemplo n.º 1
0
def get_store(settings, debug=None, auto_create=False):
    """Factory for a KittyStore subclass"""
    _check_settings(settings)
    if debug is None:
        debug = getattr(settings, "KITTYSTORE_DEBUG", False)

    search_index = _get_search_index(settings)

    if getattr(settings, "KITTYSTORE_USE_STORM", False):
        from kittystore.storm import get_storm_store
        store = get_storm_store(settings, search_index, debug, auto_create)
    else:
        from kittystore.sa import get_sa_store
        store = get_sa_store(settings, search_index, debug, auto_create)

    if search_index is not None and search_index.needs_upgrade():
        if auto_create:
            search_index.upgrade(store)
        else:
            store.close()
            raise SchemaUpgradeNeeded()

    register_events()

    return store
Exemplo n.º 2
0
 def setUp(self):
     self.tmpdir = mkdtemp(prefix="kittystore-testing-")
     settings = SettingsModule()
     settings.KITTYSTORE_SEARCH_INDEX = self.tmpdir
     search_index = _get_search_index(settings)
     self.store = get_storm_store(settings, search_index=search_index, auto_create=True)
     search_index.upgrade(self.store)
Exemplo n.º 3
0
def get_store(settings, debug=None):
    """Factory for a KittyStore subclass"""
    required_keys = ("KITTYSTORE_URL", "KITTYSTORE_SEARCH_INDEX",
                     "MAILMAN_REST_SERVER", "MAILMAN_API_USER",
                     "MAILMAN_API_PASS")
    for req_key in required_keys:
        try:
            getattr(settings, req_key)
        except AttributeError:
            raise AttributeError(
                "The settings file is missing the \"%s\" key" % req_key)
    if debug is None:
        debug = getattr(settings, "KITTYSTORE_DEBUG", False)
    if settings.KITTYSTORE_URL.startswith("mongo://"):
        raise NotImplementedError
    #else:
    #    from kittystore.sa import KittySAStore
    #    return KittySAStore(url, debug)
    else:
        from kittystore.storm import get_storm_store
        store = get_storm_store(settings, debug)
    if settings.KITTYSTORE_SEARCH_INDEX is not None:
        store.search_index.initialize_with(store)
        store.search_index.upgrade(store)
    return store
Exemplo n.º 4
0
def get_store(url, debug=False):
    """Factory for a KittyStore subclass"""
    if url.startswith("mongo://"):
        raise NotImplementedError
    #else:
    #    from kittystore.sa import KittySAStore
    #    return KittySAStore(url, debug)
    else:
        from kittystore.storm import get_storm_store
        return get_storm_store(url, debug)
Exemplo n.º 5
0
def create_store(settings, debug=None):
    """Factory for a KittyStore subclass"""
    _check_settings(settings)
    if debug is None:
        debug = getattr(settings, "KITTYSTORE_DEBUG", False)

    search_index = _get_search_index(settings)
    if getattr(settings, "KITTYSTORE_USE_STORM", False):
        from kittystore.storm import get_storm_store, create_storm_db
        version = create_storm_db(settings, debug)
        store = get_storm_store(settings, search_index, debug)
    else:
        from kittystore.sa import create_sa_db, get_sa_store
        version = create_sa_db(settings, debug)
        store = get_sa_store(settings, search_index, debug)
    if search_index is not None and search_index.needs_upgrade():
        search_index.upgrade(store)
    return store, version
Exemplo n.º 6
0
def get_store(settings, debug=None):
    """Factory for a KittyStore subclass"""
    required_keys = ("KITTYSTORE_URL", "KITTYSTORE_SEARCH_INDEX",
                     "MAILMAN_REST_SERVER", "MAILMAN_API_USER",
                     "MAILMAN_API_PASS")
    for req_key in required_keys:
        try:
            getattr(settings, req_key)
        except AttributeError:
            raise AttributeError("The settings file is missing the \"%s\" key" % req_key)
    if debug is None:
        debug = getattr(settings, "KITTYSTORE_DEBUG", False)
    if settings.KITTYSTORE_URL.startswith("mongo://"):
        raise NotImplementedError
    #else:
    #    from kittystore.sa import KittySAStore
    #    return KittySAStore(url, debug)
    else:
        from kittystore.storm import get_storm_store
        store = get_storm_store(settings, debug)
    if settings.KITTYSTORE_SEARCH_INDEX is not None:
        store.search_index.initialize_with(store)
        store.search_index.upgrade(store)
    return store
Exemplo n.º 7
0
 def setUp(self):
     self.store = get_storm_store(SettingsModule())
Exemplo n.º 8
0
 def setUp(self):
     self.store = get_storm_store(SettingsModule())
Exemplo n.º 9
0
 def setUp(self):
     self.store = get_storm_store("sqlite:")
 def setUp(self):
     self.store = get_storm_store(SettingsModule())
     self.listname, self.m_hash = self.add_fetch_data()
Exemplo n.º 11
0
 def setUp(self):
     self.store = get_storm_store(SettingsModule(), auto_create=True)
Exemplo n.º 12
0
 def setUp(self):
     self.store = get_storm_store(SettingsModule())
     self.listname, self.m_hash = self.add_fetch_data()
Exemplo n.º 13
0
 def setUp(self):
     self.store = get_storm_store("sqlite:")
     self.listname, self.m_hash = self.add_fetch_data()
Exemplo n.º 14
0
 def setUp(self):
     self.store = get_storm_store(SettingsModule(), auto_create=True, debug=False)
     self.store.db.add(User(u"userid"))
     self.store.db.flush()