fix: fyyd API sometime send empty feed
Some checks failed
repod / php (push) Waiting to run
repod / nodejs (push) Waiting to run
repod / release (push) Waiting to run
repod / xml (push) Has been cancelled

This commit is contained in:
Michel Roux 2024-02-11 12:43:13 +01:00
parent add84b935c
commit 6e925cd607
6 changed files with 53 additions and 46 deletions

View File

@ -11,7 +11,7 @@
## Requirements ## Requirements
You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!]]></description> You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!]]></description>
<version>1.5.7</version> <version>1.5.8</version>
<licence>agpl</licence> <licence>agpl</licence>
<author mail="xefir@crystalyx.net" homepage="https://crystalyx.net">Michel Roux</author> <author mail="xefir@crystalyx.net" homepage="https://crystalyx.net">Michel Roux</author>
<namespace>RePod</namespace> <namespace>RePod</namespace>

View File

@ -3,7 +3,7 @@
"description": "🔊 Browse, manage and listen to podcasts", "description": "🔊 Browse, manage and listen to podcasts",
"type": "project", "type": "project",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"version": "1.5.7", "version": "1.5.8",
"require-dev": { "require-dev": {
"nextcloud/ocp": "^28.0.2", "nextcloud/ocp": "^28.0.2",
"psalm/phar": "^5.21.1", "psalm/phar": "^5.21.1",

2
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "14aedd7dce75f8c34154bca91554954f", "content-hash": "93dd64f58575b16d702d1e405e9d70d8",
"packages": [], "packages": [],
"packages-dev": [ "packages-dev": [
{ {

View File

@ -34,14 +34,16 @@ class FyydService implements IPodProvider
if (array_key_exists('data', $json) && is_array($json['data'])) { if (array_key_exists('data', $json) && is_array($json['data'])) {
/** @var string[] $feed */ /** @var string[] $feed */
foreach ($json['data'] as $feed) { foreach ($json['data'] as $feed) {
$podcasts[] = new PodcastData( if ($feed['title']) {
$feed['title'], $podcasts[] = new PodcastData(
$feed['author'], $feed['title'],
$feed['xmlURL'], $feed['author'],
$feed['description'], $feed['xmlURL'],
$feed['imgURL'], $feed['description'],
strtotime($feed['lastpub']) $feed['imgURL'],
); strtotime($feed['lastpub'])
);
}
} }
} }
@ -60,14 +62,16 @@ class FyydService implements IPodProvider
if (array_key_exists('data', $podcastJson) && is_array($podcastJson['data'])) { if (array_key_exists('data', $podcastJson) && is_array($podcastJson['data'])) {
/** @var string[] $feed */ /** @var string[] $feed */
foreach ($podcastJson['data'] as $feed) { foreach ($podcastJson['data'] as $feed) {
$podcasts[] = new PodcastData( if ($feed['title']) {
$feed['title'], $podcasts[] = new PodcastData(
$feed['author'], $feed['title'],
$feed['xmlURL'], $feed['author'],
$feed['description'], $feed['xmlURL'],
$feed['imgURL'], $feed['description'],
strtotime($feed['lastpub']) $feed['imgURL'],
); strtotime($feed['lastpub'])
);
}
} }
} }
@ -106,14 +110,16 @@ class FyydService implements IPodProvider
if (array_key_exists('data', $postCastJson) && is_array($postCastJson['data'])) { if (array_key_exists('data', $postCastJson) && is_array($postCastJson['data'])) {
/** @var string[] $feed */ /** @var string[] $feed */
foreach ($postCastJson['data'] as $feed) { foreach ($postCastJson['data'] as $feed) {
$podcasts[] = new PodcastData( if ($feed['title']) {
$feed['title'], $podcasts[] = new PodcastData(
$feed['author'], $feed['title'],
$feed['xmlURL'], $feed['author'],
$feed['description'], $feed['xmlURL'],
$feed['imgURL'], $feed['description'],
strtotime($feed['lastpub']) $feed['imgURL'],
); strtotime($feed['lastpub'])
);
}
} }
} }

37
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "repod", "name": "repod",
"version": "1.5.7", "version": "1.5.8",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "repod", "name": "repod",
"version": "1.5.7", "version": "1.5.8",
"license": "agpl", "license": "agpl",
"dependencies": { "dependencies": {
"@nextcloud/axios": "^2.4.0", "@nextcloud/axios": "^2.4.0",
@ -3742,9 +3742,9 @@
"integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g=="
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "20.11.16", "version": "20.11.17",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz",
"integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", "integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==",
"dependencies": { "dependencies": {
"undici-types": "~5.26.4" "undici-types": "~5.26.4"
} }
@ -7260,9 +7260,9 @@
"peer": true "peer": true
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.660", "version": "1.4.665",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.660.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.665.tgz",
"integrity": "sha512-1BqvQG0BBQrAA7FVL2EMrb5A1sVyXF3auwJneXjGWa1TpN+g0C4KbUsYWePz6OZ0mXZfXGy+RmQDELJWwE8v/Q==" "integrity": "sha512-UpyCWObBoD+nSZgOC2ToaIdZB0r9GhqT2WahPKiSki6ckkSuKhQNso8V2PrFcHBMleI/eqbKgVQgVC4Wni4ilw=="
}, },
"node_modules/elliptic": { "node_modules/elliptic": {
"version": "6.5.4", "version": "6.5.4",
@ -9117,14 +9117,15 @@
} }
}, },
"node_modules/get-symbol-description": { "node_modules/get-symbol-description": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.1.tgz", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
"integrity": "sha512-KmuibvwbWaM4BHcBRYwJfZ1JxyJeBwB8ct9YYu67SvYdbEIlcQ2e56dHxfbobqW38GXo8/zDFqJeGtHiVbWyQw==", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"dev": true, "dev": true,
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"call-bind": "^1.0.5", "call-bind": "^1.0.5",
"es-errors": "^1.3.0" "es-errors": "^1.3.0",
"get-intrinsic": "^1.2.4"
}, },
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
@ -9490,9 +9491,9 @@
} }
}, },
"node_modules/hasown": { "node_modules/hasown": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
"dependencies": { "dependencies": {
"function-bind": "^1.1.2" "function-bind": "^1.1.2"
}, },
@ -16111,9 +16112,9 @@
} }
}, },
"node_modules/spdx-license-ids": { "node_modules/spdx-license-ids": {
"version": "3.0.16", "version": "3.0.17",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
"integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
"dev": true, "dev": true,
"peer": true "peer": true
}, },

View File

@ -1,7 +1,7 @@
{ {
"name": "repod", "name": "repod",
"description": "🔊 Browse, manage and listen to podcasts", "description": "🔊 Browse, manage and listen to podcasts",
"version": "1.5.7", "version": "1.5.8",
"bugs": { "bugs": {
"url": "https://git.crystalyx.net/Xefir/repod/issues" "url": "https://git.crystalyx.net/Xefir/repod/issues"
}, },