SCRIPT namespace replacements

This commit is contained in:
PJ Reiniger
2025-11-07 20:00:05 -05:00
committed by Peter Johnson
parent ae6c043632
commit 9aca8e0fd6
2622 changed files with 22275 additions and 22275 deletions

View File

@@ -64,7 +64,7 @@ static void DisplayDownload() {
if (ImGui::Begin("Download", gDownloadVisible)) {
if (!gDownloader) {
gDownloader = std::make_unique<Downloader>(
glass::GetStorageRoot().GetChild("download"));
wpi::glass::GetStorageRoot().GetChild("download"));
}
gDownloader->Display();
}
@@ -74,7 +74,7 @@ static void DisplayDownload() {
static void DisplayMainMenu() {
ImGui::BeginMainMenuBar();
static glass::MainMenuBar mainMenu;
static wpi::glass::MainMenuBar mainMenu;
mainMenu.WorkspaceMenu();
gui::EmitViewMenu();
@@ -110,7 +110,7 @@ static void DisplayMainMenu() {
ImGui::Separator();
ImGui::Text("v%s", GetWPILibVersion());
ImGui::Separator();
ImGui::Text("Save location: %s", glass::GetStorageDir().c_str());
ImGui::Text("Save location: %s", wpi::glass::GetStorageDir().c_str());
ImGui::Text("%.3f ms/frame (%.1f FPS)", 1000.0f / ImGui::GetIO().Framerate,
ImGui::GetIO().Framerate);
if (ImGui::Button("Close")) {
@@ -124,7 +124,7 @@ static void DisplayGui() {
DisplayMainMenu();
DisplayInputFiles();
DisplayEntries();
DisplayOutput(glass::GetStorageRoot().GetChild("output"));
DisplayOutput(wpi::glass::GetStorageRoot().GetChild("output"));
DisplayDownload();
}
@@ -132,7 +132,7 @@ void Application(std::string_view saveDir) {
ssh_init();
gui::CreateContext();
glass::CreateContext();
wpi::glass::CreateContext();
// Add icons
gui::AddIcon(dlt::GetResource_dlt_16_png());
@@ -143,8 +143,8 @@ void Application(std::string_view saveDir) {
gui::AddIcon(dlt::GetResource_dlt_256_png());
gui::AddIcon(dlt::GetResource_dlt_512_png());
glass::SetStorageName("datalogtool");
glass::SetStorageDir(saveDir.empty() ? gui::GetPlatformSaveFileDir()
wpi::glass::SetStorageName("datalogtool");
wpi::glass::SetStorageDir(saveDir.empty() ? gui::GetPlatformSaveFileDir()
: saveDir);
gui::AddWindowScaler([](float scale) { gDefaultScale = scale; });
@@ -152,12 +152,12 @@ void Application(std::string_view saveDir) {
gui::Initialize("Datalog Tool", 925, 510);
gDownloadVisible =
&glass::GetStorageRoot().GetChild("download").GetBool("visible", true);
&wpi::glass::GetStorageRoot().GetChild("download").GetBool("visible", true);
gui::Main();
gShutdown = true;
glass::DestroyContext();
wpi::glass::DestroyContext();
gui::DestroyContext();
gDownloader.reset();

View File

@@ -28,7 +28,7 @@
#include "wpi/util/StringExtras.hpp"
#include "wpi/util/fs.hpp"
Downloader::Downloader(glass::Storage& storage)
Downloader::Downloader(wpi::glass::Storage& storage)
: m_serverTeam{storage.GetString("serverTeam")},
m_remoteDir{storage.GetString("remoteDir", "/home/systemcore/logs")},
m_username{storage.GetString("username", "systemcore")},
@@ -104,15 +104,15 @@ void Downloader::DisplayRemoteDirSelector() {
for (auto&& dir : m_dirList) {
if (ImGui::Selectable(dir.c_str())) {
if (dir == "..") {
if (wpi::ends_with(m_remoteDir, '/')) {
if (wpi::util::ends_with(m_remoteDir, '/')) {
m_remoteDir.resize(m_remoteDir.size() - 1);
}
m_remoteDir = wpi::rsplit(m_remoteDir, '/').first;
m_remoteDir = wpi::util::rsplit(m_remoteDir, '/').first;
if (m_remoteDir.empty()) {
m_remoteDir = "/";
}
} else {
if (!wpi::ends_with(m_remoteDir, '/')) {
if (!wpi::util::ends_with(m_remoteDir, '/')) {
m_remoteDir += '/';
}
m_remoteDir += dir;
@@ -286,7 +286,7 @@ void Downloader::ThreadMain() {
try {
switch (m_state) {
case kConnecting:
if (auto team = wpi::parse_integer<unsigned int>(m_serverTeam, 10)) {
if (auto team = wpi::util::parse_integer<unsigned int>(m_serverTeam, 10)) {
// team number
session = std::make_unique<sftp::Session>(
fmt::format("roborio-{}-frc.local", team.value()), 22,
@@ -335,7 +335,7 @@ void Downloader::ThreadMain() {
}
} else if (attr.type == SSH_FILEXFER_TYPE_REGULAR &&
(attr.flags & SSH_FILEXFER_ATTR_SIZE) != 0 &&
wpi::ends_with(attr.name, ".wpilog")) {
wpi::util::ends_with(attr.name, ".wpilog")) {
m_fileList.emplace_back(attr.name, attr.size);
}
}
@@ -359,7 +359,7 @@ void Downloader::ThreadMain() {
auto remoteFilename = fmt::format(
"{}{}{}", m_remoteDir,
wpi::ends_with(m_remoteDir, '/') ? "" : "/", file.name);
wpi::util::ends_with(m_remoteDir, '/') ? "" : "/", file.name);
auto localFilename = fs::path{m_localDir} / file.name;
uint64_t fileSize = file.size;
@@ -450,7 +450,7 @@ void Downloader::ThreadMain() {
auto remoteFilename = fmt::format(
"{}{}{}", m_remoteDir,
wpi::ends_with(m_remoteDir, '/') ? "" : "/", file.name);
wpi::util::ends_with(m_remoteDir, '/') ? "" : "/", file.name);
lock.unlock();
try {

View File

@@ -12,7 +12,7 @@
#include "wpi/util/condition_variable.hpp"
#include "wpi/util/mutex.hpp"
namespace glass {
namespace wpi::glass {
class Storage;
} // namespace glass
@@ -22,7 +22,7 @@ class select_folder;
class Downloader {
public:
explicit Downloader(glass::Storage& storage);
explicit Downloader(wpi::glass::Storage& storage);
~Downloader();
void Display();
@@ -36,7 +36,7 @@ class Downloader {
void ThreadMain();
wpi::mutex m_mutex;
wpi::util::mutex m_mutex;
enum State {
kDisconnected,
kConnecting,

View File

@@ -84,7 +84,7 @@ struct EntryTreeNode {
static std::map<std::string, std::unique_ptr<InputFile>, std::less<>>
gInputFiles;
static wpi::mutex gEntriesMutex;
static wpi::util::mutex gEntriesMutex;
static std::map<std::string, std::unique_ptr<Entry>, std::less<>> gEntries;
static std::vector<EntryTreeNode> gEntryTree;
std::atomic_int gExportCount{0};
@@ -92,17 +92,17 @@ std::atomic_int gExportCount{0};
// must be called with gEntriesMutex held
static void RebuildEntryTree() {
gEntryTree.clear();
wpi::SmallVector<std::string_view, 16> parts;
wpi::util::SmallVector<std::string_view, 16> parts;
for (auto& kv : gEntries) {
parts.clear();
// split on first : if one is present
auto [prefix, mainpart] = wpi::split(kv.first, ':');
if (mainpart.empty() || wpi::contains(prefix, '/')) {
auto [prefix, mainpart] = wpi::util::split(kv.first, ':');
if (mainpart.empty() || wpi::util::contains(prefix, '/')) {
mainpart = kv.first;
} else {
parts.emplace_back(prefix);
}
wpi::split(mainpart, '/', -1, false,
wpi::util::split(mainpart, '/', -1, false,
[&](auto part) { parts.emplace_back(part); });
// ignore a raw "/" key
@@ -112,7 +112,7 @@ static void RebuildEntryTree() {
// get to leaf
auto nodes = &gEntryTree;
for (auto part : wpi::drop_back(std::span{parts.begin(), parts.end()})) {
for (auto part : wpi::util::drop_back(std::span{parts.begin(), parts.end()})) {
auto it =
std::find_if(nodes->begin(), nodes->end(),
[&](const auto& node) { return node.name == part; });
@@ -183,7 +183,7 @@ InputFile::~InputFile() {
}
static std::unique_ptr<InputFile> LoadDataLog(std::string_view filename) {
auto fileBuffer = wpi::MemoryBuffer::GetFile(filename);
auto fileBuffer = wpi::util::MemoryBuffer::GetFile(filename);
if (!fileBuffer) {
return std::make_unique<InputFile>(
filename,
@@ -436,46 +436,46 @@ void DisplayEntries() {
ImGui::End();
}
static wpi::mutex gExportMutex;
static wpi::util::mutex gExportMutex;
static std::vector<std::string> gExportErrors;
static void PrintEscapedCsvString(wpi::raw_ostream& os, std::string_view str) {
static void PrintEscapedCsvString(wpi::util::raw_ostream& os, std::string_view str) {
auto s = str;
while (!s.empty()) {
std::string_view fragment;
std::tie(fragment, s) = wpi::split(s, '"');
std::tie(fragment, s) = wpi::util::split(s, '"');
os << fragment;
if (!s.empty()) {
os << '"' << '"';
}
}
if (wpi::ends_with(str, '"')) {
if (wpi::util::ends_with(str, '"')) {
os << '"' << '"';
}
}
static void ValueToCsv(wpi::raw_ostream& os, const Entry& entry,
static void ValueToCsv(wpi::util::raw_ostream& os, const Entry& entry,
const wpi::log::DataLogRecord& record) {
// handle systemTime specially
if (entry.name == "systemTime" && entry.type == "int64") {
int64_t val;
if (record.GetInteger(&val)) {
std::time_t timeval = val / 1000000;
wpi::print(os, "{:%Y-%m-%d %H:%M:%S}.{:06}", *std::localtime(&timeval),
wpi::util::print(os, "{:%Y-%m-%d %H:%M:%S}.{:06}", *std::localtime(&timeval),
val % 1000000);
return;
}
} else if (entry.type == "double") {
double val;
if (record.GetDouble(&val)) {
wpi::print(os, "{}", val);
wpi::util::print(os, "{}", val);
return;
}
} else if (entry.type == "int64" || entry.type == "int") {
// support "int" for compatibility with old NT4 datalogs
int64_t val;
if (record.GetInteger(&val)) {
wpi::print(os, "{}", val);
wpi::util::print(os, "{}", val);
return;
}
} else if (entry.type == "string" || entry.type == "json") {
@@ -488,31 +488,31 @@ static void ValueToCsv(wpi::raw_ostream& os, const Entry& entry,
} else if (entry.type == "boolean") {
bool val;
if (record.GetBoolean(&val)) {
wpi::print(os, "{}", val);
wpi::util::print(os, "{}", val);
return;
}
} else if (entry.type == "boolean[]") {
std::vector<int> val;
if (record.GetBooleanArray(&val)) {
wpi::print(os, "{}", fmt::join(val, ";"));
wpi::util::print(os, "{}", fmt::join(val, ";"));
return;
}
} else if (entry.type == "double[]") {
std::vector<double> val;
if (record.GetDoubleArray(&val)) {
wpi::print(os, "{}", fmt::join(val, ";"));
wpi::util::print(os, "{}", fmt::join(val, ";"));
return;
}
} else if (entry.type == "float[]") {
std::vector<float> val;
if (record.GetFloatArray(&val)) {
wpi::print(os, "{}", fmt::join(val, ";"));
wpi::util::print(os, "{}", fmt::join(val, ";"));
return;
}
} else if (entry.type == "int64[]") {
std::vector<int64_t> val;
if (record.GetIntegerArray(&val)) {
wpi::print(os, "{}", fmt::join(val, ";"));
wpi::util::print(os, "{}", fmt::join(val, ";"));
return;
}
} else if (entry.type == "string[]") {
@@ -531,10 +531,10 @@ static void ValueToCsv(wpi::raw_ostream& os, const Entry& entry,
return;
}
}
wpi::print(os, "<invalid>");
wpi::util::print(os, "<invalid>");
}
static void ExportCsvFile(InputFile& f, wpi::raw_ostream& os, int style) {
static void ExportCsvFile(InputFile& f, wpi::util::raw_ostream& os, int style) {
// header
if (style == 0) {
os << "Timestamp,Name,Value\n";
@@ -556,7 +556,7 @@ static void ExportCsvFile(InputFile& f, wpi::raw_ostream& os, int style) {
os << '\n';
}
wpi::DenseMap<int, Entry*> nameMap;
wpi::util::DenseMap<int, Entry*> nameMap;
for (auto&& record : f.datalog->GetReader()) {
if (record.IsStart()) {
wpi::log::StartRecordData data;
@@ -579,13 +579,13 @@ static void ExportCsvFile(InputFile& f, wpi::raw_ostream& os, int style) {
Entry* entry = entryIt->second;
if (style == 0) {
wpi::print(os, "{},\"", record.GetTimestamp() / 1000000.0);
wpi::util::print(os, "{},\"", record.GetTimestamp() / 1000000.0);
PrintEscapedCsvString(os, entry->name);
os << '"' << ',';
ValueToCsv(os, *entry, record);
os << '\n';
} else if (style == 1 && entry->column != -1) {
wpi::print(os, "{},", record.GetTimestamp() / 1000000.0);
wpi::util::print(os, "{},", record.GetTimestamp() / 1000000.0);
for (int i = 0; i < entry->column; ++i) {
os << ',';
}
@@ -611,14 +611,14 @@ static void ExportCsv(std::string_view outputFolder, int style) {
++gExportCount;
continue;
}
wpi::raw_fd_ostream os{fs::FileToFd(of, ec, fs::OF_Text), true};
wpi::util::raw_fd_ostream os{fs::FileToFd(of, ec, fs::OF_Text), true};
ExportCsvFile(*f.second, os, style);
}
++gExportCount;
}
}
void DisplayOutput(glass::Storage& storage) {
void DisplayOutput(wpi::glass::Storage& storage) {
static std::string& outputFolder = storage.GetString("outputFolder");
static std::unique_ptr<pfd::select_folder> outputFolderSelector;

View File

@@ -4,12 +4,12 @@
#pragma once
namespace glass {
namespace wpi::glass {
class Storage;
} // namespace glass
void DisplayInputFiles();
void DisplayEntries();
void DisplayOutput(glass::Storage& storage);
void DisplayOutput(wpi::glass::Storage& storage);
extern bool gShutdown;