Added a more structured model, some basic stats, ranked post list for a tag
This commit is contained in:
33
model.py
Normal file
33
model.py
Normal file
@@ -0,0 +1,33 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user