Source code for amazonorders.entity.seller
__copyright__ = "Copyright (c) 2024-2025 Alex Laird"
__license__ = "MIT"
import logging
from typing import Optional
from bs4 import Tag
from amazonorders.conf import AmazonOrdersConfig
from amazonorders.entity.parsable import Parsable
logger = logging.getLogger(__name__)
[docs]
class Seller(Parsable):
"""
An Amazon Seller of an Amazon :class:`~amazonorders.entity.item.Item`.
"""
def __init__(self,
parsed: Tag,
config: AmazonOrdersConfig) -> None:
super().__init__(parsed, config)
#: The Seller name.
self.name: str = self.safe_simple_parse(self.config.selectors.FIELD_SELLER_NAME_SELECTOR,
prefix_split="Sold by:")
#: The Seller link.
self.link: Optional[str] = self.safe_simple_parse(selector=self.config.selectors.FIELD_SELLER_LINK_SELECTOR,
attr_name="href")
def __repr__(self) -> str:
return f"<Seller: \"{self.name}\">"
def __str__(self) -> str: # pragma: no cover
return f"Seller: {self.name}"