Skip to content

Commit

Permalink
feat(seeder): create new synonyms (#661)
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyrch authored Apr 29, 2024
1 parent b265ad0 commit 2da92a9
Showing 1 changed file with 35 additions and 35 deletions.
70 changes: 35 additions & 35 deletions database/seeders/Wiki/AnimeSynonym/AnimeSynonymTypeSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ class AnimeSynonymTypeSeeder extends Seeder
* @return void
*/
public function run(): void
{
$this->createNewSynonymsByAnilist();
}

protected function createNewSynonymsByAnilist()
{
$chunkSize = 5;

Expand All @@ -35,52 +40,45 @@ public function run(): void
foreach ($animes->chunk($chunkSize) as $chunk) {
foreach ($chunk as $anime) {
if ($anime instanceof Anime) {
$synonyms = $anime->animesynonyms()->get();

if (
$synonyms->contains(AnimeSynonym::ATTRIBUTE_TYPE, AnimeSynonymType::ENGLISH->value) &&
$synonyms->contains(AnimeSynonym::ATTRIBUTE_TYPE, AnimeSynonymType::NATIVE->value)
) continue;

$titles = $this->getTitlesAvailable($anime);

if ($titles === null) continue;

$english = Arr::get($titles, 'english');
$native = Arr::get($titles, 'native');

$synonyms = $anime->animesynonyms()->get();
if (!$synonyms->contains(AnimeSynonym::ATTRIBUTE_TYPE, AnimeSynonymType::ENGLISH->value)) {
if ($anime->name === $english) continue;

foreach ($synonyms as $synonym) {
if ($synonym->type === AnimeSynonymType::OTHER->value) continue;
$newSynonymEnglish = new AnimeSynonym([
AnimeSynonym::ATTRIBUTE_TEXT => $english,
AnimeSynonym::ATTRIBUTE_TYPE => AnimeSynonymType::ENGLISH->value,
AnimeSynonym::ATTRIBUTE_ANIME => $anime->anime_id,
]);

if (trim($synonym->text) === $english) {
$synonym->update([AnimeSynonym::ATTRIBUTE_TYPE => AnimeSynonymType::ENGLISH->value]);
echo "{$synonym->text} -> update english"."\n";
continue;
}

if (trim($synonym->text) === $native) {
$synonym->update([AnimeSynonym::ATTRIBUTE_TYPE => AnimeSynonymType::NATIVE->value]);
echo "{$synonym->text} -> update native"."\n";
continue;
}
$newSynonymEnglish->save();
echo "{$newSynonymEnglish->text} -> create english"."\n";
}

// if (!$synonyms->contains(AnimeSynonym::ATTRIBUTE_TYPE, AnimeSynonymType::ENGLISH->value)) {
// $newSynonymEnglish = new AnimeSynonym([
// AnimeSynonym::ATTRIBUTE_TEXT => $english,
// AnimeSynonym::ATTRIBUTE_TYPE => AnimeSynonymType::ENGLISH->value,
// AnimeSynonym::ATTRIBUTE_ANIME => $anime->anime_id,
// ]);

// $newSynonymEnglish->save();
// echo "{$newSynonymEnglish->text} -> create english"."\n";
// }

// if (!$synonyms->contains(AnimeSynonym::ATTRIBUTE_TYPE, AnimeSynonymType::NATIVE->value)) {
// $newSynonymNative = new AnimeSynonym([
// AnimeSynonym::ATTRIBUTE_TEXT => $native,
// AnimeSynonym::ATTRIBUTE_TYPE => AnimeSynonymType::NATIVE->value,
// AnimeSynonym::ATTRIBUTE_ANIME => $anime->anime_id,
// ]);

// $newSynonymNative->save();
// echo "{$newSynonymNative->text} -> create native"."\n";
// }
if (!$synonyms->contains(AnimeSynonym::ATTRIBUTE_TYPE, AnimeSynonymType::NATIVE->value)) {
if ($anime->name === $native) continue;

$newSynonymNative = new AnimeSynonym([
AnimeSynonym::ATTRIBUTE_TEXT => $native,
AnimeSynonym::ATTRIBUTE_TYPE => AnimeSynonymType::NATIVE->value,
AnimeSynonym::ATTRIBUTE_ANIME => $anime->anime_id,
]);

$newSynonymNative->save();
echo "{$newSynonymNative->text} -> create native"."\n";
}
}
}
sleep(11);
Expand All @@ -91,6 +89,8 @@ protected function getTitlesAvailable(Anime $anime)
{
$anilistResource = $anime->resources()->firstWhere(ExternalResource::ATTRIBUTE_SITE, ResourceSite::ANILIST->value);

if ($anilistResource === null) return null;

Check failure on line 92 in database/seeders/Wiki/AnimeSynonym/AnimeSynonymTypeSeeder.php

View workflow job for this annotation

GitHub Actions / static-analysis

Strict comparison using === between Illuminate\Database\Eloquent\Model|Illuminate\Database\Eloquent\Relations\BelongsToMany<App\Models\Wiki\ExternalResource> and null will always evaluate to false.

$query = '
query ($id: Int) {
Media(id: $id, type: ANIME) {
Expand Down

0 comments on commit 2da92a9

Please sign in to comment.