mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 22:27:19 +00:00
34 lines
774 B
Python
34 lines
774 B
Python
from dataclasses import dataclass
|
|
from typing import Optional
|
|
|
|
from comic.models import ComicBook, Directory
|
|
|
|
|
|
@dataclass()
|
|
class Breadcrumb:
|
|
name: str = 'Home'
|
|
selector: str = ''
|
|
|
|
|
|
def generate_breadcrumbs_from_path(directory: Optional[Directory] = None, book: Optional[ComicBook] = None):
|
|
output = [Breadcrumb()]
|
|
if directory:
|
|
folders = directory.get_path_objects()
|
|
else:
|
|
folders = []
|
|
for item in folders[::-1]:
|
|
output.append(
|
|
Breadcrumb(
|
|
name=item.name,
|
|
selector=item.selector
|
|
)
|
|
)
|
|
if book:
|
|
output.append(
|
|
Breadcrumb(
|
|
name=book.file_name,
|
|
selector=book.selector
|
|
)
|
|
)
|
|
return output
|