eldoc/mods/catalogs.py

25 lines
621 B
Python

from mods.db import db, Catalog, CatalogIndex
def add_catalog(name):
with db.atomic():
catalog = Catalog.create(name=name)
CatalogIndex.insert(
{
CatalogIndex.rowid: catalog.id,
CatalogIndex.text: name
}
).execute()
return catalog
def search_catalogs(q):
with db.atomic():
return (Catalog.select()
.join(
CatalogIndex,
on=(Catalog.id == CatalogIndex.rowid))
.where(CatalogIndex.match(q))
.order_by(CatalogIndex.bm25()))