rss.py 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. class Feed:
  2. def __init__(self, feed):
  3. if not feed.get("entries"):
  4. return
  5. entry = feed["entries"][0]
  6. self.title = entry.get("title") or ""
  7. # We need title to check latest post
  8. if not self.title:
  9. return
  10. self.link = entry.get("link") or ""
  11. self.published = entry.get("published") or ""
  12. self.updated = entry.get("updated") or ""
  13. self.author = entry.get("author")
  14. self.summary = entry.get("summary") or ""
  15. def parsed(self):
  16. text = f"**Title:** [{self.title.strip()}]({self.link or 'https://google.com'})\n"
  17. if self.author:
  18. text += f"**Author:** {self.author}\n"
  19. if self.published:
  20. text += f"**Published:** `{self.published}`\n"
  21. if self.updated:
  22. text += f"**Last Updated:** `{self.updated}`\n"
  23. if self.summary and "<div" not in self.summary:
  24. text += f"**Summary:** {self.summary.strip()}\n"
  25. if text:
  26. return "\n".join([i.strip() for i in text.splitlines()])