34 lines
948 B
Python
34 lines
948 B
Python
from mods.db import db, Catalog, CatalogIndex
|
|
|
|
sys_catalogs = {
|
|
'diagnoz': 'Диагноз',
|
|
'anamnez': 'Анамнез',
|
|
'observ': 'Осмотр',
|
|
'druggs': 'Медикаменты'
|
|
}
|
|
|
|
def add_catalog(name, system_id = ''):
|
|
catalog = Catalog.create(name=name, system_id=system_id)
|
|
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()))
|
|
|
|
for s_id in sys_catalogs:
|
|
with db.atomic():
|
|
q = Catalog.select().where(Catalog.system_id == s_id)
|
|
if not len(q):
|
|
add_catalog(sys_catalogs[s_id], s_id)
|