Browse Source

generate keywords on file parsed only

main
ghost 1 year ago
parent
commit
68fbafaefa
  1. 55
      src/Service/TorrentService.php

55
src/Service/TorrentService.php

@ -154,47 +154,48 @@ class TorrentService
{ {
$keywords = []; $keywords = [];
$file = $this->readTorrentFileByFilepath($filepath); if ($file = $this->readTorrentFileByFilepath($filepath))
foreach ($file->getFileList() as $file)
{ {
$words = explode( foreach ($file->getFileList() as $file)
' ', {
preg_replace( $words = explode(
'/[\s]+/',
' ', ' ',
preg_replace( preg_replace(
'/[\W]+/', '/[\s]+/',
' ', ' ',
$file['path'] preg_replace(
'/[\W]+/',
' ',
$file['path']
)
) )
) );
);
foreach ($words as $key => $value) foreach ($words as $key => $value)
{
if (mb_strlen($value) < $minLength)
{ {
unset($words[$key]); if (mb_strlen($value) < $minLength)
{
unset($words[$key]);
}
else
{
$words[$key] = mb_strtolower($value);
}
} }
else if ($hash = $file->getInfoHashV1(false))
{ {
$words[$key] = mb_strtolower($value); $keywords[] = $hash;
} }
}
if ($hash = $file->getInfoHashV1(false)) if ($hash = $file->getInfoHashV2(false))
{ {
$keywords[] = $hash; $keywords[] = $hash;
} }
if ($hash = $file->getInfoHashV2(false)) $keywords = array_merge($keywords, $words);
{
$keywords[] = $hash;
} }
$keywords = array_merge($keywords, $words);
} }
return array_unique($keywords); return array_unique($keywords);

Loading…
Cancel
Save