WIP on document conversion

This commit is contained in:
2024-05-31 14:06:08 -04:00
parent df20936af2
commit 67747899ac
10 changed files with 310 additions and 285 deletions

View File

@@ -1,6 +1,10 @@
<?php
use BitBadger\Documents\DocumentException;
use BitBadger\Documents\SQLite\Find;
use FeedReaderCentral\Data;
use FeedReaderCentral\Domain\Table;
use FeedReaderCentral\Domain\User;
use FeedReaderCentral\Feed;
require __DIR__ . '/../cli-start.php';
@@ -32,25 +36,28 @@ function display_help(): never
function refresh_all(): void
{
$db = Data::getConnection();
$db = Data::getConnection();
$users = [];
try {
$feeds = Feed::retrieveAll($db);
if (array_key_exists('error', $feeds)) {
printfn('SQLite error: %s', $feeds['error']);
return;
}
array_walk($feeds, function ($feed) use ($db) {
$result = Feed::refreshFeed($feed['id'], $feed['url'], $db);
$feeds = Feed::retrieveAll();
foreach ($feeds->items() as /** @var Feed $feed */ $feed) {
$result = Feed::refreshFeed($feed->id, $feed->url, $db);
$userKey = "$feed->user_id";
if (!key_exists($userKey, $users)) $users[$userKey] = Find::byId(Table::USER, $feed->user_id, User::class);
if (array_key_exists('error', $result)) {
printfn('ERR (%s) %s', $feed['email'], $feed['url']);
printfn('ERR (%s) %s', $users[$userKey]->email, $feed->url);
printfn(' %s', $result['error']);
} else {
printfn('OK (%s) %s', $feed['email'], $feed['url']);
printfn('OK (%s) %s', $users[$userKey]->email, $feed->url);
}
});
}
printfn(PHP_EOL . 'All feeds refreshed');
} finally {
} catch (DocumentException $ex) {
printfn("ERR $ex");
return;
}
finally {
$db->close();
}
}