summaryrefslogtreecommitdiff
path: root/megapixels/app/models/sql_factory.py
diff options
context:
space:
mode:
Diffstat (limited to 'megapixels/app/models/sql_factory.py')
-rw-r--r--megapixels/app/models/sql_factory.py21
1 files changed, 15 insertions, 6 deletions
diff --git a/megapixels/app/models/sql_factory.py b/megapixels/app/models/sql_factory.py
index eb91fb37..25c7e784 100644
--- a/megapixels/app/models/sql_factory.py
+++ b/megapixels/app/models/sql_factory.py
@@ -3,7 +3,7 @@ import glob
import time
import pandas as pd
-from sqlalchemy import create_engine, Table, Column, String, Integer, DateTime, Float
+from sqlalchemy import create_engine, Table, Column, String, Integer, DateTime, Float, func
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
@@ -112,7 +112,15 @@ class SqlDataset:
Find an identity by name.
"""
table = self.get_table('identity')
- identity_list = table.query.filter(table.fullname.like(q)).order_by(table.fullname.desc()).limit(10)
+ identity_list = table.query.filter(table.fullname.ilike(q)).order_by(table.fullname.desc()).limit(15)
+ return identity_list
+
+ def search_description(self, q):
+ """
+ Find an identity by description.
+ """
+ table = self.get_table('identity')
+ identity_list = table.query.filter(table.description.ilike(q)).order_by(table.description.desc()).limit(15)
return identity_list
def get_file_records_for_identities(self, identity_list):
@@ -123,10 +131,11 @@ class SqlDataset:
file_record_table = self.get_table('file_record')
for row in identity_list:
file_record = file_record_table.query.filter(file_record_table.identity_id == row.id).first()
- identities.append({
- 'file_record': file_record.toJSON(),
- 'identity': row.toJSON(),
- })
+ if file_record:
+ identities.append({
+ 'file_record': file_record.toJSON(),
+ 'identity': row.toJSON(),
+ })
return identities
def select(self, table, id):