change stats json formatting and add progress bars library
This commit is contained in:
@@ -26,11 +26,19 @@ FetchContent_Declare(
|
|||||||
)
|
)
|
||||||
FetchContent_MakeAvailable(sqlite3pp)
|
FetchContent_MakeAvailable(sqlite3pp)
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
indicators
|
||||||
|
GIT_REPOSITORY https://github.com/p-ranav/indicators.git
|
||||||
|
GIT_TAG master
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(indicators)
|
||||||
|
|
||||||
file(GLOB SOURCES src/*.cpp)
|
file(GLOB SOURCES src/*.cpp)
|
||||||
add_executable(${PROJECT_NAME} ${SOURCES})
|
add_executable(${PROJECT_NAME} ${SOURCES})
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
|
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||||
include
|
include
|
||||||
${sqlite3pp_SOURCE_DIR}/headeronly_src
|
${sqlite3pp_SOURCE_DIR}/headeronly_src
|
||||||
|
${indicators_SOURCE_DIR}/include
|
||||||
)
|
)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3)
|
target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3)
|
||||||
|
|||||||
19
src/main.cpp
19
src/main.cpp
@@ -7,12 +7,14 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
#include "sqlite3pp.h"
|
#include "sqlite3pp.h"
|
||||||
|
// #include "indicators/cursor_control.hpp"
|
||||||
|
// #include "indicators/progress_bar.hpp" en faite c'est la requete SQL le plus lent
|
||||||
|
|
||||||
int main(int argc, char const *argv[])
|
int main(int argc, char const *argv[])
|
||||||
{
|
{
|
||||||
auto begin = std::chrono::steady_clock::now();
|
auto begin = std::chrono::steady_clock::now();
|
||||||
|
|
||||||
sqlite3pp::database db("../uwu2x.db");
|
sqlite3pp::database db("../uwu2x-large.db");
|
||||||
sqlite3pp::query q(db, "SELECT DISTINCT identifier, strftime('%Y-%m-%d', date) FROM interaction ORDER BY date ASC;");
|
sqlite3pp::query q(db, "SELECT DISTINCT identifier, strftime('%Y-%m-%d', date) FROM interaction ORDER BY date ASC;");
|
||||||
|
|
||||||
std::set<std::string> identifiers;
|
std::set<std::string> identifiers;
|
||||||
@@ -38,13 +40,22 @@ int main(int argc, char const *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::ofstream f("../activity.json");
|
std::ofstream f("../activity.json");
|
||||||
f << "{" << std::endl;
|
// f << "{" << std::endl;
|
||||||
|
// for (const auto &[key, val] : activity)
|
||||||
|
// {
|
||||||
|
// f << "\t\"" << key << "\": {\"u\": " << val.at("u") << ", \"n\": " << val.at("n") << "}," << std::endl;
|
||||||
|
// }
|
||||||
|
// f.seekp((long)f.tellp() - 2);
|
||||||
|
// f << std::endl << "}" << std::endl;
|
||||||
|
|
||||||
|
//{ date: "2025-09-09", u: 186, n: 80 }
|
||||||
|
f << "[" << std::endl;
|
||||||
for (const auto &[key, val] : activity)
|
for (const auto &[key, val] : activity)
|
||||||
{
|
{
|
||||||
f << "\t\"" << key << "\": {\"u\": " << val.at("u") << ", \"n\": " << val.at("n") << "}," << std::endl;
|
f << "\t{\"date\": \"" << key << "\", \"u\": " << val.at("u") << ", \"n\": " << val.at("n") << "}," << std::endl;
|
||||||
}
|
}
|
||||||
f.seekp((long)f.tellp() - 2);
|
f.seekp((long)f.tellp() - 2);
|
||||||
f << std::endl << "}" << std::endl;
|
f << std::endl << "]" << std::endl;
|
||||||
|
|
||||||
auto end = std::chrono::steady_clock::now();
|
auto end = std::chrono::steady_clock::now();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user