mirror of
https://github.com/standardebooks/web.git
synced 2025-07-16 11:26:37 -04:00
Remove EbookSource::FromTypeAndUrl()
This commit is contained in:
parent
6bec232d37
commit
e9cf55b53f
2 changed files with 22 additions and 27 deletions
|
@ -891,35 +891,37 @@ class Ebook{
|
||||||
// Next the page scan source URLs.
|
// Next the page scan source URLs.
|
||||||
$sources = [];
|
$sources = [];
|
||||||
foreach($xml->xpath('/package/metadata/dc:source') ?: [] as $element){
|
foreach($xml->xpath('/package/metadata/dc:source') ?: [] as $element){
|
||||||
$e = (string)$element;
|
$ebookSource = new EbookSource();
|
||||||
if(mb_stripos($e, 'gutenberg.org/') !== false){
|
$ebookSource->Url = (string)$element;
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::ProjectGutenberg, $e);
|
$ebookSource->Type = EbookSourceType::Other;
|
||||||
|
|
||||||
|
if(mb_stripos($ebookSource->Url, 'gutenberg.org/') !== false){
|
||||||
|
$ebookSource->Type = EbookSourceType::ProjectGutenberg;
|
||||||
}
|
}
|
||||||
elseif(mb_stripos($e, 'gutenberg.net.au/') !== false){
|
elseif(mb_stripos($ebookSource->Url, 'gutenberg.net.au/') !== false){
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::ProjectGutenbergAustralia, $e);
|
$ebookSource->Type = EbookSourceType::ProjectGutenbergAustralia;
|
||||||
}
|
}
|
||||||
elseif(mb_stripos($e, 'gutenberg.ca/') !== false){
|
elseif(mb_stripos($ebookSource->Url, 'gutenberg.ca/') !== false){
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::ProjectGutenbergCanada, $e);
|
$ebookSource->Type = EbookSourceType::ProjectGutenbergCanada;
|
||||||
}
|
}
|
||||||
elseif(mb_stripos($e, 'archive.org/details') !== false){
|
elseif(mb_stripos($ebookSource->Url, 'archive.org/details') !== false){
|
||||||
// `/details` excludes Wayback Machine URLs which may sometimes occur, for example in Lyrical Ballads
|
// `/details` excludes Wayback Machine URLs which may sometimes occur, for example in Lyrical Ballads
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::InternetArchive, $e);
|
$ebookSource->Type = EbookSourceType::InternetArchive;
|
||||||
}
|
}
|
||||||
elseif(mb_stripos($e, 'hathitrust.org/') !== false){
|
elseif(mb_stripos($ebookSource->Url, 'hathitrust.org/') !== false){
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::HathiTrust, $e);
|
$ebookSource->Type = EbookSourceType::HathiTrust;
|
||||||
}
|
}
|
||||||
elseif(mb_stripos($e, 'wikisource.org/') !== false){
|
elseif(mb_stripos($ebookSource->Url, 'wikisource.org/') !== false){
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::Wikisource, $e);
|
$ebookSource->Type = EbookSourceType::Wikisource;
|
||||||
}
|
}
|
||||||
elseif(mb_stripos($e, 'books.google.com/') !== false || mb_stripos($e, 'google.com/books/') !== false){
|
elseif(mb_stripos($ebookSource->Url, 'books.google.com/') !== false || mb_stripos($ebookSource->Url, 'google.com/books/') !== false){
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::GoogleBooks, $e);
|
$ebookSource->Type = EbookSourceType::GoogleBooks;
|
||||||
}
|
}
|
||||||
elseif(mb_stripos($e, 'www.fadedpage.com') !== false){
|
elseif(mb_stripos($ebookSource->Url, 'www.fadedpage.com') !== false){
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::FadedPage, $e);
|
$ebookSource->Type = EbookSourceType::FadedPage;
|
||||||
}
|
|
||||||
else{
|
|
||||||
$sources[] = EbookSource::FromTypeAndUrl(EbookSourceType::Other, $e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$sources[] = $ebookSource;
|
||||||
}
|
}
|
||||||
$ebookFromFilesystem->Sources = $sources;
|
$ebookFromFilesystem->Sources = $sources;
|
||||||
|
|
||||||
|
|
|
@ -8,13 +8,6 @@ class EbookSource{
|
||||||
public string $Url;
|
public string $Url;
|
||||||
public ?int $SortOrder = null;
|
public ?int $SortOrder = null;
|
||||||
|
|
||||||
public static function FromTypeAndUrl(EbookSourceType $type, string $url): EbookSource{
|
|
||||||
$instance = new EbookSource();
|
|
||||||
$instance->Type = $type;
|
|
||||||
$instance->Url = $url;
|
|
||||||
return $instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws Exceptions\ValidationException
|
* @throws Exceptions\ValidationException
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue