diff options
Diffstat (limited to 'src/RSS.cpp')
| -rw-r--r-- | src/RSS.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/RSS.cpp b/src/RSS.cpp index 1282c83..93c391d 100644 --- a/src/RSS.cpp +++ b/src/RSS.cpp @@ -86,6 +86,18 @@ void RSS::print() { } } +void RSS::print_latest(int minutesSpan) { + std::time_t now = std::time(nullptr); + std::tm* gmt_time = std::gmtime(&now); + gmt_time->tm_min -= minutesSpan; + auto ticks = std::mktime(gmt_time); + + for (auto entry : Entries) { + if (entry.pubDate.tm_year == 0 || std::mktime(&entry.pubDate) < ticks) break; + entry.print(); + } +} + RSS_Entry::RSS_Entry(XML_leaf node) { Title = node.GetChild("title").GetValue(); URL = node.GetChild("link").GetValue(); @@ -98,9 +110,10 @@ RSS_Entry::RSS_Entry(XML_leaf node) { void RSS_Entry::print() { std::cout - << "==============================\n" << Title << '\n' << std::put_time(&pubDate, "%Y-%m-%d %H:%M:%S") << '\n' << Contents << '\n' - << URL<< '\n'; + << URL<< '\n' + << "==============================\n"; } + |
