From 91114a72c5bbf5d52ce4c9d1bd4e2b2480cfcb0f Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 14 Nov 2008 19:48:47 +0900 Subject: [PATCH] no tag searching, add index to db.py --- anki/db.py | 6 +++--- anki/deck.py | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/anki/db.py b/anki/db.py index 6fe6665b8..b18bc3487 100644 --- a/anki/db.py +++ b/anki/db.py @@ -25,7 +25,8 @@ except ImportError: sqlite.enable_shared_cache(True) from sqlalchemy import (Table, Integer, Float, Column, MetaData, - ForeignKey, Boolean, String, Date, UniqueConstraint) + ForeignKey, Boolean, String, Date, + UniqueConstraint, Index) from sqlalchemy import create_engine from sqlalchemy.orm import mapper, sessionmaker, relation, backref, \ object_session as _object_session @@ -48,8 +49,7 @@ def newWarn(*args, **kwargs): oldWarn(*args, **kwargs) util.warn = newWarn - - +# shared metadata metadata = MetaData() # this class assumes the provided session is called with transactional=False diff --git a/anki/deck.py b/anki/deck.py index c21445d86..46afa5c12 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -1188,6 +1188,12 @@ from cards, facts, models where cards.factId == facts.id and facts.modelId == models.id %s""" % where) + def cardsWithNoTags(self): + return self.s.column0(""" +select cards.id from cards, facts where +cards.tags = "" and facts.tags = "" +and cards.factId = facts.id""") + def allTags(self): "Return a hash listing tags in model, fact and cards." return list(set(parseTags(",".join([x[1] for x in self.tagsList()]))))