Module hdrezka.post.site.favorites

Favorites category list parsing.

Functions

def parse_favorites_cats(html: str | bs4.BeautifulSoup | bs4.element.Tag) ‑> tuple[FavoritesCat, ...]
Expand source code
def parse_favorites_cats(html: str | BeautifulSoup | Tag) -> tuple[FavoritesCat, ...]:
    """
    Parse ``a.b-favorites_content__cats_list_link`` entries.

    Returns an empty tuple when the list is missing.
    """
    soup = as_soup(html)
    cats = []
    for a in soup.select('a.b-favorites_content__cats_list_link'):
        href = attr(a, 'href', default='') or ''
        cats.append(FavoritesCat(
            name=text(a.select_one('.name')),
            url=href,
            count=get_any_int(text(a.select_one('.num-holder'))),
            id=_cat_id_from_url(href),
        ))
    return tuple(cats)

Parse a.b-favorites_content__cats_list_link entries.

Returns an empty tuple when the list is missing.

Classes

class FavoritesCat (name: str, url: str, count: int = 0, id: int | None = None)
Expand source code
class FavoritesCat(NamedTuple):
    """User favorites collection link from the favorites page sidebar/list."""
    name: str
    url: str
    count: int = 0
    id: int | None = None

User favorites collection link from the favorites page sidebar/list.

Ancestors

  • builtins.tuple

Instance variables

var count : int
Expand source code
class FavoritesCat(NamedTuple):
    """User favorites collection link from the favorites page sidebar/list."""
    name: str
    url: str
    count: int = 0
    id: int | None = None

Alias for field number 2

var id : int | None
Expand source code
class FavoritesCat(NamedTuple):
    """User favorites collection link from the favorites page sidebar/list."""
    name: str
    url: str
    count: int = 0
    id: int | None = None

Alias for field number 3

var name : str
Expand source code
class FavoritesCat(NamedTuple):
    """User favorites collection link from the favorites page sidebar/list."""
    name: str
    url: str
    count: int = 0
    id: int | None = None

Alias for field number 0

var url : str
Expand source code
class FavoritesCat(NamedTuple):
    """User favorites collection link from the favorites page sidebar/list."""
    name: str
    url: str
    count: int = 0
    id: int | None = None

Alias for field number 1