diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-01-12 18:37:43 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-01-12 18:37:43 +0100 |
| commit | 5fd0aab76caef8aaf7be77843b9c9260f22dfbb7 (patch) | |
| tree | 2d11f9f86fb181f40fba40ef491e176bbac4bf14 /megapixels/app/models | |
| parent | c3eec5ef62c6aacf4ca8c8056e1f9150dcd31506 (diff) | |
add prefix to name search
Diffstat (limited to 'megapixels/app/models')
| -rw-r--r-- | megapixels/app/models/sql_factory.py | 21 |
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): |
