fix(podcast-import): set default values for person group and role if not found in taxonomy

+ update podcast-feed and podcast-persons-taxonomy packages
This commit is contained in:
Yassine Doghri 2023-06-22 15:11:21 +00:00
parent d50cbb09d1
commit aa46dca4e3
3 changed files with 39 additions and 15 deletions

View File

@ -16,7 +16,7 @@
"league/html-to-markdown": "^v5.1.0",
"opawg/user-agents-php": "^v1.0",
"adaures/ipcat-php": "^v1.0.0",
"adaures/podcast-persons-taxonomy": "^v1.0.0",
"adaures/podcast-persons-taxonomy": "^v1.0.1",
"phpseclib/phpseclib": "~2.0.44",
"michalsn/codeigniter4-uuid": "dev-develop",
"codeigniter4/settings": "v2.1.2",

16
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "9fa20de985bf6177f95f7ac32155d843",
"content-hash": "c63a07ae62c9740982f4270527b6de53",
"packages": [
{
"name": "adaures/ipcat-php",
@ -43,11 +43,11 @@
},
{
"name": "adaures/podcast-persons-taxonomy",
"version": "v1.0.0",
"version": "v1.0.1",
"source": {
"type": "git",
"url": "https://code.castopod.org/adaures/podcast-persons-taxonomy",
"reference": "117b207e334f54cd1b00ee52b0c53d58cb1a5524"
"reference": "d2a6836e32ed013676fd969425e133e0ebb104fc"
},
"type": "library",
"autoload": {
@ -71,7 +71,7 @@
],
"description": "Generate PHP translation files for CodeIgniter4 from the podcast-namespace's Persons Taxonomy json files.",
"homepage": "https://code.castopod.org/adaures/podcast-persons-taxonomy",
"time": "2022-02-20T14:09:25+00:00"
"time": "2023-06-22T14:24:55+00:00"
},
{
"name": "aws/aws-crt-php",
@ -3135,12 +3135,12 @@
"source": {
"type": "git",
"url": "https://github.com/yassinedoghri/podcast-feed.git",
"reference": "c6b25fb19d6d14f93e403e423640df7714067aca"
"reference": "366ddcedfb4b89c7093d03b2398184435f930843"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/yassinedoghri/podcast-feed/zipball/c6b25fb19d6d14f93e403e423640df7714067aca",
"reference": "c6b25fb19d6d14f93e403e423640df7714067aca",
"url": "https://api.github.com/repos/yassinedoghri/podcast-feed/zipball/366ddcedfb4b89c7093d03b2398184435f930843",
"reference": "366ddcedfb4b89c7093d03b2398184435f930843",
"shasum": ""
},
"require": {
@ -3176,7 +3176,7 @@
"issues": "https://github.com/yassinedoghri/podcast-feed/issues",
"source": "https://github.com/yassinedoghri/podcast-feed/tree/main"
},
"time": "2023-06-11T16:54:30+00:00"
"time": "2023-06-22T13:54:05+00:00"
}
],
"packages-dev": [

View File

@ -310,10 +310,22 @@ class PodcastImport extends BaseCommand
$personGroup = $person->getAttribute('group');
$personRole = $person->getAttribute('role');
$personGroup = ReversedTaxonomy::$taxonomy[(string) $personGroup];
$isTaxonomyFound = false;
if (array_key_exists(strtolower((string) $personGroup), ReversedTaxonomy::$taxonomy)) {
$personGroup = ReversedTaxonomy::$taxonomy[strtolower((string) $personGroup)];
$personGroupSlug = $personGroup['slug'];
$personGroupSlug = $personGroup['slug'];
$personRoleSlug = $personGroup['roles'][(string) $personRole]['slug'];
if (array_key_exists(strtolower((string) $personRole), $personGroup['roles'])) {
$personRoleSlug = $personGroup['roles'][strtolower((string) $personRole)]['slug'];
$isTaxonomyFound = true;
}
}
if (! $isTaxonomyFound) {
// taxonomy was not found, set default group and role
$personGroupSlug = 'cast';
$personRoleSlug = 'host';
}
$podcastPersonModel = new PersonModel();
if (! $podcastPersonModel->addPodcastPerson(
@ -512,10 +524,22 @@ class PodcastImport extends BaseCommand
$personGroup = $person->getAttribute('group');
$personRole = $person->getAttribute('role');
$personGroup = ReversedTaxonomy::$taxonomy[(string) $personGroup];
$isTaxonomyFound = false;
if (array_key_exists(strtolower((string) $personGroup), ReversedTaxonomy::$taxonomy)) {
$personGroup = ReversedTaxonomy::$taxonomy[strtolower((string) $personGroup)];
$personGroupSlug = $personGroup['slug'];
$personGroupSlug = $personGroup['slug'];
$personRoleSlug = $personGroup['roles'][(string) $personRole]['slug'];
if (array_key_exists(strtolower((string) $personRole), $personGroup['roles'])) {
$personRoleSlug = $personGroup['roles'][strtolower((string) $personRole)]['slug'];
$isTaxonomyFound = true;
}
}
if (! $isTaxonomyFound) {
// taxonomy was not found, set default group and role
$personGroupSlug = 'cast';
$personRoleSlug = 'host';
}
$episodePersonModel = new PersonModel();
if (! $episodePersonModel->addEpisodePerson(