1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-23 12:27:48 +00:00

refactor: face ui (#6981)

* refactor: face ui

* feat: people pgotos

* feat: people pgotos

* feat: optimize ui

* feat: optimize ui

* feat: delete file

* optimize code

* feat: replace icon

* update

* feat: replace icon

* feat: optimize back btn

---------

Co-authored-by: 杨国璇 <ygx@Hello-word.local>
Co-authored-by: 杨国璇 <ygx@192.168.1.3>
Co-authored-by: ‘JoinTyang’ <yangtong1009@163.com>
This commit is contained in:
杨国璇
2024-11-05 17:37:24 +08:00
committed by GitHub
parent 8f04a770f7
commit 2cb758e302
39 changed files with 1593 additions and 927 deletions

View File

@@ -29,24 +29,24 @@ def add_init_face_recognition_task(params):
return json.loads(resp.content)['task_id']
def get_metadata_by_faces(faces, metadata_server_api):
def get_someone_similar_faces(faces, metadata_server_api):
from seafevents.repo_metadata.utils import METADATA_TABLE, FACES_TABLE
sql = f'SELECT * FROM `{METADATA_TABLE.name}` WHERE `{METADATA_TABLE.columns.id.name}` IN ('
sql = f'SELECT `{METADATA_TABLE.columns.id.name}`, `{METADATA_TABLE.columns.parent_dir.name}`, `{METADATA_TABLE.columns.file_name.name}` FROM `{METADATA_TABLE.name}` WHERE `{METADATA_TABLE.columns.id.name}` IN ('
parameters = []
query_result = []
for face in faces:
link_row_ids = [item['row_id'] for item in face.get(FACES_TABLE.columns.photo_links.name, [])]
if not link_row_ids:
continue
for link_row_id in link_row_ids:
sql += '?, '
parameters.append(link_row_id)
if len(parameters) >= 10000:
sql = sql.rstrip(', ') + ');'
results = metadata_server_api.query_rows(sql, parameters).get('results', [])
query_result.extend(results)
sql = f'SELECT * FROM `{METADATA_TABLE.name}` WHERE `{METADATA_TABLE.columns.id.name}` IN ('
parameters = []
link_row_id = link_row_ids[0]
sql += '?, '
parameters.append(link_row_id)
if len(parameters) >= 10000:
sql = sql.rstrip(', ') + ');'
results = metadata_server_api.query_rows(sql, parameters).get('results', [])
query_result.extend(results)
sql = f'SELECT `{METADATA_TABLE.columns.id.name}`, `{METADATA_TABLE.columns.parent_dir.name}`, `{METADATA_TABLE.columns.file_name.name}` FROM `{METADATA_TABLE.name}` WHERE `{METADATA_TABLE.columns.id.name}` IN ('
parameters = []
if parameters:
sql = sql.rstrip(', ') + ');'