Merge pull request #417 from matiasdelellis/FRFixSigleClusters

Face Recognition: Fix query to not show individual clusters
pull/460/head
Varun Patil 2023-03-03 11:10:17 -05:00 committed by GitHub
commit 4bbf8770b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 17 deletions

View File

@ -129,15 +129,14 @@ class PeopleController extends ApiBase
// Run actual query // Run actual query
$currentModel = (int) $this->config->getAppValue('facerecognition', 'model', -1); $currentModel = (int) $this->config->getAppValue('facerecognition', 'model', -1);
$list = $this->timelineQuery->getPeopleFaceRecognition( $list = $this->timelineQuery->getFaceRecognitionPersons(
$root, $root,
$currentModel, $currentModel
); );
// Just append unnamed clusters to the end. // Just append unnamed clusters to the end.
$list = array_merge($list, $this->timelineQuery->getPeopleFaceRecognition( $list = array_merge($list, $this->timelineQuery->getFaceRecognitionClusters(
$root, $root,
$currentModel, $currentModel
true
)); ));
return new JSONResponse($list, Http::STATUS_OK); return new JSONResponse($list, Http::STATUS_OK);

View File

@ -59,15 +59,6 @@ trait TimelineQueryPeopleFaceRecognition
); );
} }
public function getPeopleFaceRecognition(TimelineRoot &$root, int $currentModel, bool $show_clusters = false, bool $show_singles = false, bool $show_hidden = false)
{
if ($show_clusters) {
return $this->getFaceRecognitionClusters($root, $currentModel, $show_singles, $show_hidden);
}
return $this->getFaceRecognitionPersons($root, $currentModel);
}
public function getFaceRecognitionPreview(TimelineRoot &$root, $currentModel, $previewId) public function getFaceRecognitionPreview(TimelineRoot &$root, $currentModel, $previewId)
{ {
$query = $this->connection->getQueryBuilder(); $query = $this->connection->getQueryBuilder();
@ -162,7 +153,7 @@ trait TimelineQueryPeopleFaceRecognition
return $previews; return $previews;
} }
private function getFaceRecognitionClusters(TimelineRoot &$root, int $currentModel, bool $show_singles = false, bool $show_hidden = false) public function getFaceRecognitionClusters(TimelineRoot &$root, int $currentModel, bool $show_singles = false, bool $show_hidden = false)
{ {
$query = $this->connection->getQueryBuilder(); $query = $this->connection->getQueryBuilder();
@ -194,7 +185,7 @@ trait TimelineQueryPeopleFaceRecognition
// By default hides individual faces when they have no name. // By default hides individual faces when they have no name.
if (!$show_singles) { if (!$show_singles) {
$query->having($count, $query->createNamedParameter(1)); $query->having($query->expr()->gt($count, $query->createNamedParameter(1)));
} }
// By default it shows the people who were not hidden // By default it shows the people who were not hidden
@ -222,7 +213,7 @@ trait TimelineQueryPeopleFaceRecognition
return $faces; return $faces;
} }
private function getFaceRecognitionPersons(TimelineRoot &$root, int $currentModel) public function getFaceRecognitionPersons(TimelineRoot &$root, int $currentModel)
{ {
$query = $this->connection->getQueryBuilder(); $query = $this->connection->getQueryBuilder();