summaryrefslogtreecommitdiff
path: root/megapixels/app/models
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2019-01-12 18:37:43 +0100
committerJules Laplace <julescarbon@gmail.com>2019-01-12 18:37:43 +0100
commit5fd0aab76caef8aaf7be77843b9c9260f22dfbb7 (patch)
tree2d11f9f86fb181f40fba40ef491e176bbac4bf14 /megapixels/app/models
parentc3eec5ef62c6aacf4ca8c8056e1f9150dcd31506 (diff)
add prefix to name search
Diffstat (limited to 'megapixels/app/models')
-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):