33 lines
1006 B
Python
33 lines
1006 B
Python
from dataclasses import dataclass, field
|
|
from typing import Any, Dict, List
|
|
|
|
|
|
@dataclass
|
|
class StatsModel:
|
|
"""Class that models the output of the Tumblr stats script."""
|
|
# Operation used to output stats.
|
|
operation: str = field(default_factory=str)
|
|
|
|
# Blog in question.
|
|
blog_name: str = field(default_factory=str)
|
|
|
|
# Tags used.
|
|
tags: List[str] = field(default_factory=list)
|
|
|
|
# Original posts.
|
|
post_map: Dict[str, Any] = field(default_factory=dict)
|
|
|
|
# Posts that are not original.
|
|
dumpster: Dict[str, Any] = field(default_factory=dict)
|
|
|
|
# Total posts handled.
|
|
total_posts: int = field(default_factory=int)
|
|
|
|
# Total original posts (per blog_name) handled.
|
|
total_original_posts: int = field(default_factory=int)
|
|
|
|
# Total original post (per blog_name) notes handled
|
|
total_original_post_notes: int = field(default_factory=int)
|
|
|
|
# Posts ranked from most popular to least popular.
|
|
ranked_post_urls: List[str] = field(default_factory=list) |