feat: add from_LehmannsSearchResult method to BookData for processing Lehmanns search results

This commit is contained in:
2025-09-01 14:31:46 +02:00
parent 5f15352401
commit ce7d22b26b

View File

@@ -1,8 +1,8 @@
from dataclasses import dataclass, field
from enum import Enum
import json
from typing import Union, Any, Optional
from dataclasses import dataclass, field
from enum import Enum
from typing import Any, Optional, Union
@dataclass
class Prof:
@@ -93,6 +93,24 @@ class BookData:
ndata = json.loads(data)
return BookData(**ndata)
def from_LehmannsSearchResult(self, result: Any) -> "BookData":
self.title = result.title
self.author = "; ".join(result.authors) if result.authors else None
self.edition = str(result.edition) if result.edition else None
self.link = result.url
self.isbn = (
result.isbn13
if isinstance(result.isbn13, list)
else [result.isbn13]
if result.isbn13
else []
)
self.pages = str(result.pages) if result.pages else None
self.publisher = result.publisher
self.year = str(result.year) if result.year else None
# self.pages = str(result.pages) if result.pages else None
return self
@dataclass
class MailData: