(self, path: Path)
| 117 | return cls(raw=data) |
| 118 | |
| 119 | def save(self, path: Path) -> None: |
| 120 | ordered = {key: self.raw[key] for key in ("_comment", "posts") if key in self.raw} |
| 121 | for key, value in self.raw.items(): |
| 122 | if key not in ordered: |
| 123 | ordered[key] = value |
| 124 | with path.open("w", encoding="utf-8") as handle: |
| 125 | json.dump(ordered, handle, indent=2, sort_keys=False) |
| 126 | handle.write("\n") |
| 127 | |
| 128 | def is_syndicated(self, slug: str, platform: str) -> bool: |
| 129 | post = self.raw["posts"].get(slug) |