Made item-generating code more readable.
This commit is contained in:
parent
7473e7e8ca
commit
87001819a3
45
src/main.cpp
45
src/main.cpp
|
@ -38,6 +38,7 @@ using std::endl;
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using std::stringstream;
|
using std::stringstream;
|
||||||
|
using std::uint8_t;
|
||||||
using std::uint16_t;
|
using std::uint16_t;
|
||||||
using std::chrono::system_clock;
|
using std::chrono::system_clock;
|
||||||
|
|
||||||
|
@ -105,6 +106,25 @@ const string strtime(const string &time)
|
||||||
return strtime(std::chrono::system_clock::from_time_t(std::mktime(&tm)));
|
return strtime(std::chrono::system_clock::from_time_t(std::mktime(&tm)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void write_line(const uint8_t spaces, const string &tag, const string &value)
|
||||||
|
{
|
||||||
|
string endtag;
|
||||||
|
// If there is a space in the tag, use only the part up until the space for
|
||||||
|
// the ending tag.
|
||||||
|
const size_t pos = tag.find(' ');
|
||||||
|
if (pos == std::string::npos)
|
||||||
|
{
|
||||||
|
endtag = tag;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
endtag = tag.substr(0, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
cout << std::string(spaces, ' ');
|
||||||
|
cout << '<' << tag << '>' << value << "</" << endtag << ">\n";
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
const char *envquery = std::getenv("QUERY_STRING");
|
const char *envquery = std::getenv("QUERY_STRING");
|
||||||
|
@ -177,20 +197,17 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
const bool prerelease = release["prerelease"].asBool();
|
const bool prerelease = release["prerelease"].asBool();
|
||||||
const string type = (prerelease ? "Pre-Release" : "Stable");
|
const string type = (prerelease ? "Pre-Release" : "Stable");
|
||||||
cout <<
|
cout << " <item>\n";
|
||||||
" <item>\n"
|
write_line(6, "title", project + ": " + release["name"].asString());
|
||||||
" <title>"
|
write_line(6, "link", baseurl + "/" + repo + "/releases");
|
||||||
<< project << ": " << release["name"].asString() << "</title>\n"
|
write_line(6, "guid isPermaLink=\"false\"",
|
||||||
" <link>" << baseurl << "/" << repo << "/releases</link>\n"
|
domain + " release " + release["id"].asString());
|
||||||
" <guid isPermaLink=\"false\">"
|
write_line(6, "pubDate", strtime(release["published_at"].asString()));
|
||||||
<< domain << " release " << release["id"].asString() << "</guid>\n"
|
write_line(6, "description",
|
||||||
" <pubDate>"
|
"<![CDATA[<p><strong>" + type + "</strong></p><pre>\n"
|
||||||
<< strtime(release["published_at"].asString()) << "</pubDate>\n"
|
+ release["body"].asString() + "\n"
|
||||||
" <description><![CDATA[<p><strong>" << type << "</strong></p>"
|
" </pre><a href=\"" + release["tarball_url"].asString()
|
||||||
<< "<pre>\n" << release["body"].asString() << "\n"
|
+ "\">Download tarball</a>" + "]]>");
|
||||||
<< " </pre><a href=\"" << release["tarball_url"].asString()
|
|
||||||
<< "\">Download tarball</a>" << "]]></description>\n";
|
|
||||||
|
|
||||||
cout << " </item>\n";
|
cout << " </item>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user