Simplify self_link for build

This commit is contained in:
Simon Quigley 2024-12-16 21:31:27 -06:00
parent 32a4d23784
commit 65fe1e54f5
2 changed files with 3 additions and 10 deletions

View File

@ -51,14 +51,7 @@ void build::parse_json(const std::string& json_data) {
{"can_be_cancelled", [this](const nlohmann::json& val) { can_be_cancelled = val.get<bool>(); }}, {"can_be_cancelled", [this](const nlohmann::json& val) { can_be_cancelled = val.get<bool>(); }},
{"can_be_retried", [this](const nlohmann::json& val) { can_be_retried = val.get<bool>(); }}, {"can_be_retried", [this](const nlohmann::json& val) { can_be_retried = val.get<bool>(); }},
{"title", [this](const nlohmann::json& val) { title = val.get<std::string>(); }}, {"title", [this](const nlohmann::json& val) { title = val.get<std::string>(); }},
{"self_link", [this](const nlohmann::json& val) { {"self_link", [this](const nlohmann::json& val) { self_link = val.get<std::string>(); }},
self_link = val.get<std::string>();
std::regex rgx("/builds/(\\d+)");
std::smatch match;
if (std::regex_search(self_link, match, rgx)) {
id = std::stol(match[1]);
}
}},
{"build_log_url", [this](const nlohmann::json& val) { build_log_url = val.get<std::string>(); }}, {"build_log_url", [this](const nlohmann::json& val) { build_log_url = val.get<std::string>(); }},
{"upload_log_url", [this](const nlohmann::json& val) { upload_log_url = val.get<std::string>(); }}, {"upload_log_url", [this](const nlohmann::json& val) { upload_log_url = val.get<std::string>(); }},
{"duration", [this](const nlohmann::json& val) { duration = val.get<std::string>(); }}, {"duration", [this](const nlohmann::json& val) { duration = val.get<std::string>(); }},

View File

@ -221,8 +221,8 @@ std::string launchpad::build_full_url(const std::string& endpoint) const {
std::optional<std::string> launchpad::api_get(const std::string& endpoint, const std::map<std::string, std::string>& params) const { std::optional<std::string> launchpad::api_get(const std::string& endpoint, const std::map<std::string, std::string>& params) const {
std::string url = build_full_url(endpoint); std::string url = build_full_url(endpoint);
if (url.empty()) { if (url.empty()) {
std::cerr << "Internal error: please include the following info in a bug report:" << std::endl;
if (!params.empty()) { if (!params.empty()) {
std::cerr << "Internal error: please include the following info in a bug report:" << std::endl;
for (const auto& [key, value] : params) { for (const auto& [key, value] : params) {
std::cerr << url_encode(key) + "=" + url_encode(value) + "&"; std::cerr << url_encode(key) + "=" + url_encode(value) + "&";
} }
@ -302,8 +302,8 @@ std::optional<std::string> launchpad::api_post(
const std::string& token_secret_override const std::string& token_secret_override
) { ) {
if (endpoint.empty()) { if (endpoint.empty()) {
std::cerr << "Internal error: please include the following info in a bug report:" << std::endl;
if (!params.empty()) { if (!params.empty()) {
std::cerr << "Internal error: please include the following info in a bug report:" << std::endl;
for (const auto& [key, value] : params) { for (const auto& [key, value] : params) {
std::cerr << url_encode(key) + "=" + url_encode(value) + "&"; std::cerr << url_encode(key) + "=" + url_encode(value) + "&";
} }