- `src/rss/feed.cpp`, `src/rss/feed.hpp` deleted as they are no longer needed with the new design of `RSSFeedManager` that directly manages feeds without a separate `Feed` class. - `src/rss/rss.cpp` and `src/rss/rss.hpp` modified to implement the new `RSSFeedManager` class that manages multiple feeds and their contexts, and to implement the recent-fetch functionality that fetches only items published within the last day based on the last fetched date of each feed. - `src/rss/rss.cpp` and `src/rss/rss.hpp` also implemented the context saving/restoring functionality to save the last fetched date of each feed to a JSON file and restore it when the application starts, so that the recent-fetch functionality can work correctly across application restarts. - `src/common/time.cpp` and `src/common/time.hpp` added to implement utility functions - `parseRFC2822Time` and `formatRFC2822Time` for parsing and formatting time in RFC2822 format, which is commonly used in RSS feeds for publication dates and last fetched dates. - `src/main.cpp` modified to test the new `RSSFeedManager` functionality, including adding a feed, fetching items, manipulating the last fetched date to a past date, and testing the recent-fetch functionality to ensure it correctly fetches items published within the last day. - `README.md` added to provide an overview of the project and instructions for building and running the application.
54 B
54 B
RSStodon
Mastodon Bot for Posting RSS Feed Updates