Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FormerLurker/ArcWelderLib.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFormerLurker <hochgebe@gmail.com>2021-11-21 21:31:00 +0300
committerFormerLurker <hochgebe@gmail.com>2021-11-21 21:31:00 +0300
commit9b0afec63643275ecdc9005bfbbba20e359a7938 (patch)
treecc9153d01a15d3764dd99bd53e30b6a178c21835 /PyArcWelder
parent4c193828056771381f7bfc6f04133bd1a45447ac (diff)
Make extrusion-rate-variance-percent optional (0 to disable). Add HTML box drawing for pretty statistics. Separate extrusion and retraction statistics for analyzation purposes, but keep combined statistics.
Diffstat (limited to 'PyArcWelder')
-rw-r--r--PyArcWelder/py_arc_welder.cpp6
-rw-r--r--PyArcWelder/py_arc_welder_extension.cpp8
-rw-r--r--PyArcWelder/py_logger.cpp16
3 files changed, 17 insertions, 13 deletions
diff --git a/PyArcWelder/py_arc_welder.cpp b/PyArcWelder/py_arc_welder.cpp
index fcb4b71..635ad9d 100644
--- a/PyArcWelder/py_arc_welder.cpp
+++ b/PyArcWelder/py_arc_welder.cpp
@@ -28,13 +28,15 @@ PyObject* py_arc_welder::build_py_progress(const arc_welder_progress& progress,
if (pyGuid == NULL)
return NULL;
// Extrusion Statistics
- std::string segment_statistics = progress.segment_statistics.str();
+ source_target_segment_statistics combined_stats = source_target_segment_statistics::add(progress.segment_statistics, progress.segment_retraction_statistics);
+
+ std::string segment_statistics = combined_stats.str("", utilities::box_drawing::HTML);
PyObject* pyMessage = gcode_arc_converter::PyUnicode_SafeFromString(segment_statistics);
if (pyMessage == NULL)
return NULL;
double total_count_reduction_percent = progress.segment_statistics.get_total_count_reduction_percent();
// Travel Statistics
- std::string segment_travel_statistics = progress.travel_statistics.str();
+ std::string segment_travel_statistics = progress.travel_statistics.str("", utilities::box_drawing::HTML);
PyObject* pyTravelMessage = gcode_arc_converter::PyUnicode_SafeFromString(segment_travel_statistics);
if (pyMessage == NULL)
return NULL;
diff --git a/PyArcWelder/py_arc_welder_extension.cpp b/PyArcWelder/py_arc_welder_extension.cpp
index 1e440f9..c08e3d7 100644
--- a/PyArcWelder/py_arc_welder_extension.cpp
+++ b/PyArcWelder/py_arc_welder_extension.cpp
@@ -190,19 +190,21 @@ extern "C"
{
return NULL;
}
- p_py_logger->set_log_level(args.log_level);
+ p_py_logger->set_log_level((log_levels)args.log_level);
std::string message = "py_gcode_arc_converter.ConvertFile - Beginning Arc Conversion.";
- p_py_logger->log(GCODE_CONVERSION, INFO, message);
+ p_py_logger->log(GCODE_CONVERSION, log_levels::INFO, message);
args.py_progress_callback = py_progress_callback;
args.log = p_py_logger;
+ // Set the encoding to html for the progress output
+ args.box_encoding = utilities::box_drawing::HTML;
py_arc_welder arc_welder_obj(args);
arc_welder_results results;
results = arc_welder_obj.process();
message = "py_gcode_arc_converter.ConvertFile - Arc Conversion Complete.";
- p_py_logger->log(GCODE_CONVERSION, INFO, message);
+ p_py_logger->log(GCODE_CONVERSION, log_levels::INFO, message);
Py_XDECREF(py_progress_callback);
// return the arguments
PyObject* p_progress = py_arc_welder::build_py_progress(results.progress, args.guid);
diff --git a/PyArcWelder/py_logger.cpp b/PyArcWelder/py_logger.cpp
index 0ae6548..3269c42 100644
--- a/PyArcWelder/py_logger.cpp
+++ b/PyArcWelder/py_logger.cpp
@@ -119,7 +119,7 @@ void py_logger::set_internal_log_levels(bool check_real_time)
void py_logger::log_exception(const int logger_type, const std::string& message)
{
- log(logger_type, ERROR, message, true);
+ log(logger_type, log_levels::ERROR, message, true);
}
void py_logger::log(const int logger_type, const int log_level, const std::string& message)
@@ -176,24 +176,24 @@ void py_logger::log(const int logger_type, const int log_level, const std::strin
}
else
{
- switch (log_level)
+ switch ((log_levels)log_level)
{
- case INFO:
+ case log_levels::INFO:
pyFunctionName = py_info_function_name;
break;
- case WARNING:
+ case log_levels::WARNING:
pyFunctionName = py_warn_function_name;
break;
- case ERROR:
+ case log_levels::ERROR:
pyFunctionName = py_error_function_name;
break;
- case DEBUG:
+ case log_levels::DEBUG:
pyFunctionName = py_debug_function_name;
break;
- case VERBOSE:
+ case log_levels::VERBOSE:
pyFunctionName = py_verbose_function_name;
break;
- case CRITICAL:
+ case log_levels::CRITICAL:
pyFunctionName = py_critical_function_name;
break;
default: