mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 16:40:05 +00:00
Start of implementation to load a window of archive warning data, currently broken
This commit is contained in:
parent
e3ccce5d5b
commit
33e18765b7
4 changed files with 163 additions and 30 deletions
|
|
@ -1,6 +1,5 @@
|
|||
#include <scwx/provider/iem_api_provider.hpp>
|
||||
#include <scwx/network/cpr.hpp>
|
||||
#include <scwx/types/iem_types.hpp>
|
||||
#include <scwx/util/json.hpp>
|
||||
#include <scwx/util/logger.hpp>
|
||||
|
||||
|
|
@ -42,7 +41,7 @@ IemApiProvider::~IemApiProvider() = default;
|
|||
IemApiProvider::IemApiProvider(IemApiProvider&&) noexcept = default;
|
||||
IemApiProvider& IemApiProvider::operator=(IemApiProvider&&) noexcept = default;
|
||||
|
||||
boost::outcome_v2::result<std::vector<std::string>>
|
||||
boost::outcome_v2::result<std::vector<types::iem::AfosEntry>>
|
||||
IemApiProvider::ListTextProducts(std::chrono::sys_time<std::chrono::days> date,
|
||||
std::optional<std::string_view> optionalCccc,
|
||||
std::optional<std::string_view> optionalPil)
|
||||
|
|
@ -59,7 +58,7 @@ IemApiProvider::ListTextProducts(std::chrono::sys_time<std::chrono::days> date,
|
|||
return ListTextProducts(dateArray, ccccArray, pilArray);
|
||||
}
|
||||
|
||||
boost::outcome_v2::result<std::vector<std::string>>
|
||||
boost::outcome_v2::result<std::vector<types::iem::AfosEntry>>
|
||||
IemApiProvider::ListTextProducts(
|
||||
ranges::any_view<std::chrono::sys_time<std::chrono::days>> dates,
|
||||
ranges::any_view<std::string_view> ccccs,
|
||||
|
|
@ -118,7 +117,7 @@ IemApiProvider::ListTextProducts(
|
|||
parameters));
|
||||
}
|
||||
|
||||
std::vector<std::string> textProducts {};
|
||||
std::vector<types::iem::AfosEntry> textProducts {};
|
||||
|
||||
for (auto& asyncResponse : responses)
|
||||
{
|
||||
|
|
@ -132,13 +131,9 @@ IemApiProvider::ListTextProducts(
|
|||
{
|
||||
// Get AFOS list from response
|
||||
auto entries = boost::json::value_to<types::iem::AfosList>(json);
|
||||
|
||||
for (auto& entry : entries.data_)
|
||||
{
|
||||
textProducts.push_back(entry.productId_);
|
||||
}
|
||||
|
||||
logger_->trace("Found {} products", entries.data_.size());
|
||||
textProducts.insert(textProducts.end(),
|
||||
std::make_move_iterator(entries.data_.begin()),
|
||||
std::make_move_iterator(entries.data_.end()));
|
||||
}
|
||||
catch (const std::exception& ex)
|
||||
{
|
||||
|
|
@ -198,6 +193,8 @@ IemApiProvider::ListTextProducts(
|
|||
}
|
||||
}
|
||||
|
||||
logger_->trace("Found {} products", textProducts.size());
|
||||
|
||||
return textProducts;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue