From ef69acfa4c2bb51f2adf80d3e216c935d7702bd6 Mon Sep 17 00:00:00 2001 From: sebastian-swob Date: Wed, 11 Dec 2024 15:46:55 +0100 Subject: [PATCH 1/3] addressed most improvements suggested by alex in : https://github.com/SPF-OST/pytrnsys_process/pull/32 --- examples/ready-to-run/processing_example.py | 22 ++-- pytrnsys_process/api.py | 8 +- .../{converter.py => file_converter.py} | 6 +- pytrnsys_process/logger.py | 15 +++ pytrnsys_process/plotting/plot_wrappers.py | 95 ++++++++++++------ pytrnsys_process/plotting/plotters.py | 31 +----- pytrnsys_process/utils.py | 41 +++++++- .../data/plots/bar-chart/expected.png | Bin 28598 -> 28936 bytes .../data/plots/line-plot/expected.png | Bin 40305 -> 39454 bytes .../data/plots/scatter-plot/expected.png | Bin 9822 -> 9901 bytes .../data/plots/stacked-bar-chart/expected.png | Bin 31999 -> 38097 bytes tests/pytrnsys_process/test_converter.py | 10 +- tests/pytrnsys_process/test_plotters.py | 2 +- tests/pytrnsys_process/test_utils.py | 2 +- 14 files changed, 155 insertions(+), 77 deletions(-) rename pytrnsys_process/{converter.py => file_converter.py} (98%) diff --git a/examples/ready-to-run/processing_example.py b/examples/ready-to-run/processing_example.py index 8661a60..1d78f87 100644 --- a/examples/ready-to-run/processing_example.py +++ b/examples/ready-to-run/processing_example.py @@ -19,42 +19,48 @@ def processing_of_monthly_data(simulation: api.Simulation): # modify label for the y axis ax.set_ylabel("Power [kW]") - # make label fit inside your plot + + # This is also done by api.save_plot, but if you want to see your plot before saving it. + # For example with _plt.show(). Calling this function is required, to make the plot look as expected. _plt.tight_layout() # create plots folder inside simulation directory and save plot in configured formats - api.save_plot(fig, simulation.path, "monthly-bar-chart") + api.export_plots_in_configured_formats( + fig, simulation.path, "monthly-bar-chart" + ) def processing_of_hourly_data(simulation: api.Simulation): # create line plot using hourly data fig, ax = api.line_plot(simulation.hourly, ["QSrc1TIn", "QSrc1TOut"]) - # modify label for the y axis + # Here you can modify anything to do with your plot, according to the matplotlib.pyplot standard ax.set_ylabel("Temperature [°C]") # make label fit inside your plot _plt.tight_layout() # create plots folder inside simulation directory and save plot in configured formats - api.save_plot(fig, simulation.path, "hourly-line-plot") + api.export_plots_in_configured_formats( + fig, simulation.path, "hourly-line-plot" + ) def processing_for_histogram(simulation: api.Simulation): # create histogram using hourly data fig, _ = api.histogram(simulation.hourly, ["QSrc1TIn"]) - # create plots folder inside simulation directory and save plot in configured formats - api.save_plot(fig, simulation.path, "histogram") + # if you don't want to export your plot, you can also just show it by calling this function + _plt.show() if __name__ == "__main__": # This is the entry point to your script. - # In here you can decide how you would like to run your processing steps. + # Here, you can decide how you would like to run your processing steps. # In the example below we run both processing steps on a whole result set. # Or a single processing step on a single simulation. # Make sure to remove the lines you do not want to run. - # bundle the scenarios into a list + # bundle the steps into a list processing_scenarios = [ processing_of_monthly_data, processing_of_hourly_data, diff --git a/pytrnsys_process/api.py b/pytrnsys_process/api.py index 5732fec..5f55c86 100644 --- a/pytrnsys_process/api.py +++ b/pytrnsys_process/api.py @@ -21,9 +21,13 @@ ) from pytrnsys_process.process_sim.process_sim import Simulation +# ============================================================ # this lives here, because it needs to be available everywhere from pytrnsys_process.settings import settings -from pytrnsys_process.utils import save_plot + +# ============================================================ + +from pytrnsys_process.utils import export_plots_in_configured_formats __all__ = [ "line_plot", @@ -35,6 +39,6 @@ "process_single_simulation", "process_whole_result_set", "Simulation", - "save_plot", + "export_plots_in_configured_formats", "settings", ] diff --git a/pytrnsys_process/converter.py b/pytrnsys_process/file_converter.py similarity index 98% rename from pytrnsys_process/converter.py rename to pytrnsys_process/file_converter.py index c9e971c..597f19e 100644 --- a/pytrnsys_process/converter.py +++ b/pytrnsys_process/file_converter.py @@ -55,7 +55,7 @@ def convert_sim_results_to_csv( ) for input_file in input_files: - if not input_file.is_file(): + if input_file.is_dir(): continue if ftd.has_pattern(input_file, const.FileType.MONTHLY): @@ -130,12 +130,12 @@ def _refactor_filename( filename: str, patterns: list[str], prefix: str ) -> str: """Process filename by removing patterns and adding appropriate prefix. - + Args: filename: The original filename to process patterns: List of regex patterns to remove from filename prefix: Prefix to add to the processed filename - + Returns: The processed filename with patterns removed and prefix added """ diff --git a/pytrnsys_process/logger.py b/pytrnsys_process/logger.py index 8a4431a..45393c5 100644 --- a/pytrnsys_process/logger.py +++ b/pytrnsys_process/logger.py @@ -1,3 +1,18 @@ +""" +Configures logging for the pytrnsys_process package with three outputs: +1. Console output (INFO level) - Shows basic messages without stacktrrace +2. Regular log file (INFO level) - Logs to pytrnsys_process.log without stacktrace +3. Debug log file (DEBUG level) - Logs to pytrnsys_process_debug.log with full stacktrace + +The logging setup includes custom formatting for each handler and uses a TracebackInfoFilter +to control stacktrace visibility in different outputs. The main logger is configured at DEBUG +level to capture all logging events, while individual handlers control what gets displayed +in each output. + +All handlers use the same log record. +Once the log record is modified and anything removed from it, will not be available in the other handlers. +""" + import logging import sys diff --git a/pytrnsys_process/plotting/plot_wrappers.py b/pytrnsys_process/plotting/plot_wrappers.py index 6b9d505..0c8d4ef 100644 --- a/pytrnsys_process/plotting/plot_wrappers.py +++ b/pytrnsys_process/plotting/plot_wrappers.py @@ -32,12 +32,19 @@ def line_plot( >>> >>> def create_line_plot(simulation: api.Simulation): >>> fig, ax = api.line_plot(simulation.hourly, columns=['var1', 'var2']) - Customize the plot using the returned axes object: + >>> # Customize the plot using the returned axes object: >>> ax.set_xlabel('Time') >>> ax.set_ylabel('Value') >>> ax.set_title('My Plot') >>> ax.grid(True) >>> _plt.show() + >>> + >>> # run the single scenario on a single simulation + >>> api.process_single_simulation( + >>> _pl.Path("data/results/complete-0-SnkScale0.6000-StoreScale8"), + >>> create_line_plot, + >>> ) + For additional customization options, refer to: - Matplotlib documentation: https://matplotlib.org/stable/api/ - Pandas plotting: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.plot.html @@ -70,12 +77,19 @@ def bar_chart( Example: >>> from pytrnsys_process import api - >>> fig, ax = api.bar_chart(simulation.monthly, columns=['var1', 'var2']) - Customize the plot using the returned axes object: - >>> ax.set_xlabel('Time') - >>> ax.set_ylabel('Value') - >>> ax.set_title('My Plot') - >>> ax.grid(True) + >>> def create_bar_chart(simulation: api.Simulation): + >>> fig, ax = api.bar_chart(simulation.monthly, columns=['var1', 'var2']) + >>> # Customize the plot using the returned axes object: + >>> ax.set_xlabel('Time') + >>> ax.set_ylabel('Value') + >>> ax.set_title('My Plot') + >>> ax.grid(True) + >>> + >>> # run the single scenario on a single simulation + >>> api.process_single_simulation( + >>> _pl.Path("data/results/complete-0-SnkScale0.6000-StoreScale8"), + >>> create_bar_chart, + >>> ) For additional customization options, refer to: - Matplotlib documentation: https://matplotlib.org/stable/api/ @@ -109,12 +123,19 @@ def stacked_bar_chart( Example: >>> from pytrnsys_process import api - >>> fig, ax = api.stacked_bar_chart(simulation.monthly, columns=['var1', 'var2', 'var3']) - Customize the plot using the returned axes object: - >>> ax.set_xlabel('Time') - >>> ax.set_ylabel('Value') - >>> ax.set_title('My Plot') - >>> ax.grid(True) + >>> def create_stacked_bar_chart(simulation: api.Simulation): + >>> fig, ax = api.stacked_bar_chart(simulation.monthly, columns=['var1', 'var2', 'var3']) + >>> # Customize the plot using the returned axes object: + >>> ax.set_xlabel('Time') + >>> ax.set_ylabel('Value') + >>> ax.set_title('My Plot') + >>> ax.grid(True) + >>> + >>> # run the single scenario on a single simulation + >>> api.process_single_simulation( + >>> _pl.Path("data/results/complete-0-SnkScale0.6000-StoreScale8"), + >>> create_stacked_bar_chart, + >>> ) For additional customization options, refer to: - Matplotlib documentation: https://matplotlib.org/stable/api/ @@ -148,12 +169,19 @@ def histogram( Example: >>> from pytrnsys_process import api - >>> fig, ax = api.histogram(simulation.hourly, columns=['var1', 'var2']) - Customize the plot using the returned axes object: - >>> ax.set_xlabel('Value') - >>> ax.set_ylabel('Frequency') - >>> ax.set_title('My Histogram') - >>> ax.grid(True) + >>> def create_histogram(simulation: api.Simulation): + >>> fig, ax = api.histogram(simulation.hourly, columns=['var1', 'var2']) + >>> # Customize the plot using the returned axes object: + >>> ax.set_xlabel('Value') + >>> ax.set_ylabel('Frequency') + >>> ax.set_title('My Histogram') + >>> ax.grid(True) + >>> + >>> # run the single scenario on a single simulation + >>> api.process_single_simulation( + >>> _pl.Path("data/results/complete-0-SnkScale0.6000-StoreScale8"), + >>> create_histogram, + >>> ) For additional customization options, refer to: - Matplotlib documentation: https://matplotlib.org/stable/api/ @@ -190,17 +218,24 @@ def scatter_plot( Example: >>> from pytrnsys_process import api - >>> fig, ax = api.scatter_plot( - ... simulation.hourly, - ... columns=["var1", "var2", "var3"], - ... x_column="var1", - ... y_column="var2", - ... ) - Customize the plot using the returned axes object: - >>> ax.set_xlabel('Time') - >>> ax.set_ylabel('Value') - >>> ax.set_title('My Scatter Plot') - >>> ax.grid(True) + >>> def create_scatter_plot(simulation: api.Simulation): + >>> fig, ax = api.scatter_plot( + ... simulation.hourly, + ... columns=["var1", "var2", "var3"], + ... x_column="var1", + ... y_column="var2", + ... ) + >>> # Customize the plot using the returned axes object: + >>> ax.set_xlabel('Time') + >>> ax.set_ylabel('Value') + >>> ax.set_title('My Scatter Plot') + >>> ax.grid(True) + >>> + >>> # run the single scenario on a single simulation + >>> api.process_single_simulation( + >>> _pl.Path("data/results/complete-0-SnkScale0.6000-StoreScale8"), + >>> create_scatter_plot, + >>> ) For additional customization options, refer to: - Matplotlib documentation: https://matplotlib.org/stable/api/ diff --git a/pytrnsys_process/plotting/plotters.py b/pytrnsys_process/plotting/plotters.py index 50b7bc1..cd209ed 100644 --- a/pytrnsys_process/plotting/plotters.py +++ b/pytrnsys_process/plotting/plotters.py @@ -15,6 +15,7 @@ # TODO: deal with legends (curve names, fonts, colors, linestyles) # pylint: disable=fixme # TODO: clean up old stuff by refactoring # pylint: disable=fixme # TODO: make issue for docstrings of plotting # pylint: disable=fixme +# TODO: Add colormap support # pylint: disable=fixme @dataclass @@ -113,32 +114,6 @@ def _do_plot( return fig, ax - # TODO: Add colormap support # pylint: disable=fixme - # def _do_plot( - # self, - # df: _pd.DataFrame, - # columns: list[str], - # use_legend: bool = True, - # size: tuple[float, float] = const.PlotSizes.A4.value, - # **kwargs: _tp.Any, - # ) -> _plt.Figure: - # """The matplot date formatter does not work when using df.plot func. - # This is an example to plot a stacked bar chart without df.plot""" - # fig, ax = _plt.subplots(figsize=size) - # x = _np.arange(len(df.index)) - # bottom = _np.zeros(len(df.index)) - # for col in columns: - # ax.bar(x, df[col], label=col, bottom=bottom, width=0.35) - # bottom += df[col] - # if use_legend: - # ax.legend() - # ax.set_xticks(x) - # ax.set_xticklabels( - # _pd.to_datetime(df.index).strftime(self.DATE_FORMAT) - # ) - # self.configure(ax) - # return fig - # TODO Idea for what an energy balance plot method could look like # pylint: disable=fixme @staticmethod def create_energy_balance_monthly( @@ -237,6 +212,8 @@ def _do_plot( ) -> tuple[_plt.Figure, _plt.Axes]: fig, ax = _plt.subplots(figsize=size) # TODO: cleanup the other Plotters to remove the stringy dictionary. - df[columns].plot.scatter(colormap=self.COLOR_MAP, legend=use_legend, ax=ax, **kwargs) + df[columns].plot.scatter( + colormap=self.COLOR_MAP, legend=use_legend, ax=ax, **kwargs + ) ax = self.configure(ax) return fig, ax diff --git a/pytrnsys_process/utils.py b/pytrnsys_process/utils.py index 16f5719..7d372e2 100644 --- a/pytrnsys_process/utils.py +++ b/pytrnsys_process/utils.py @@ -34,9 +34,48 @@ def get_files( # TODO add docstring #pylint: disable=fixme -def save_plot( + +def export_plots_in_configured_formats( fig: _plt.Figure, path_to_directory: _pl.Path, plot_name: str ) -> None: + """Save a matplotlib figure in multiple formats and sizes. + + Saves the figure in all configured formats (png, pdf, emf) and sizes (A4, A4_HALF) + as specified in the plot settings. For EMF format, the figure is first saved as SVG + and then converted using Inkscape. + + Args: + fig: The matplotlib Figure object to save + path_to_directory: Directory path where the plot should be saved + plot_name: Base name for the plot file (will be appended with size and format) + + Returns: + None + + Note: + - Creates a 'plots' subdirectory if it doesn't exist + - For EMF files, requires Inkscape to be installed at the configured path + - File naming format: {plot_name}-{size_name}.{format} + + Example: + >>> from pytrnsys_process import api + >>> def processing_of_monthly_data(simulation: api.Simulation): + >>> monthly_df = simulation.monthly + >>> columns_to_plot = ["QSnk60P", "QSnk60PauxCondSwitch_kW"] + >>> fig, ax = api.bar_chart( + >>> monthly_df, + >>> columns_to_plot, + >>> ) + >>> # Save the plot in multiple formats + >>> api.export_plots_in_configured_formats(fig, simulation.path, "monthly-bar-chart") + >>> # Creates files like: + >>> # results/simulation1/plots/monthly-bar-chart-A4.png + >>> # results/simulation1/plots/monthly-bar-chart-A4.pdf + >>> # results/simulation1/plots/monthly-bar-chart-A4.emf + >>> # results/simulation1/plots/monthly-bar-chart-A4_HALF.png + >>> # etc. + + """ plot_settings = _set.settings.plot plots_folder = path_to_directory / "plots" plots_folder.mkdir(exist_ok=True) diff --git a/tests/pytrnsys_process/data/plots/bar-chart/expected.png b/tests/pytrnsys_process/data/plots/bar-chart/expected.png index 7257cb744394ec65e652cbf2c16284b883976625..05f61aa6177cd134d0a153e3ba1c84210006508d 100644 GIT binary patch literal 28936 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%0Ah-9L>u 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

?}pg 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 diff --git a/tests/pytrnsys_process/data/plots/line-plot/expected.png b/tests/pytrnsys_process/data/plots/line-plot/expected.png index 076726f213cae26ee723087d4845d748b3e7bba1..620ba2b500d7afea543802455c81e22d3bdde3d9 100644 GIT binary patch literal 39454 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 literal 40305 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 diff --git a/tests/pytrnsys_process/data/plots/scatter-plot/expected.png b/tests/pytrnsys_process/data/plots/scatter-plot/expected.png index 9ab8f43a31c5f755c4d2e67b0ce62ec2373eb318..fb18a2b299652cc9457aa2aaae32f23ffe21bad8 100644 GIT binary patch literal 9901 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 Hv)lgbhfr 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 QRrudz`)PLRHeYS|FAUc}m;e9( literal 31999 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 Date: Wed, 11 Dec 2024 17:31:10 +0100 Subject: [PATCH 2/3] Refactoring as part of review --- pytrnsys_process/logger.py | 2 +- pytrnsys_process/process_sim/process_sim.py | 35 +++++++++------------ pytrnsys_process/settings.py | 2 +- pytrnsys_process/utils.py | 29 ++++++++--------- tests/pytrnsys_process/test_process_sim.py | 5 +++ tests/pytrnsys_process/test_utils.py | 13 +++++--- 6 files changed, 44 insertions(+), 42 deletions(-) diff --git a/pytrnsys_process/logger.py b/pytrnsys_process/logger.py index 45393c5..49a4506 100644 --- a/pytrnsys_process/logger.py +++ b/pytrnsys_process/logger.py @@ -1,6 +1,6 @@ """ Configures logging for the pytrnsys_process package with three outputs: -1. Console output (INFO level) - Shows basic messages without stacktrrace +1. Console output (INFO level) - Shows basic messages without stacktrace 2. Regular log file (INFO level) - Logs to pytrnsys_process.log without stacktrace 3. Debug log file (DEBUG level) - Logs to pytrnsys_process_debug.log with full stacktrace diff --git a/pytrnsys_process/process_sim/process_sim.py b/pytrnsys_process/process_sim/process_sim.py index 50a1295..fdf2972 100644 --- a/pytrnsys_process/process_sim/process_sim.py +++ b/pytrnsys_process/process_sim/process_sim.py @@ -1,6 +1,7 @@ import pathlib as _pl from collections import abc as _abc from dataclasses import dataclass, field +import typing as _tp import pandas as _pd @@ -43,6 +44,7 @@ class Simulation: def process_sim( sim_files: _abc.Sequence[_pl.Path], sim_folder: _pl.Path ) -> Simulation: + # TODO: add docstring to explain architectural choice. simulation_data_collector = _SimulationDataCollector() for sim_file in sim_files: try: @@ -192,25 +194,16 @@ def _process_file( def _merge_dataframes_into_simulation( simulation_data_collector: _SimulationDataCollector, sim_folder: _pl.Path ) -> Simulation: - monthly_df = ( - handle_duplicate_columns( - _pd.concat(simulation_data_collector.monthly, axis=1) - ) - if simulation_data_collector.monthly - else _pd.DataFrame() - ) - hourly_df = ( - handle_duplicate_columns( - _pd.concat(simulation_data_collector.hourly, axis=1) - ) - if simulation_data_collector.hourly - else _pd.DataFrame() - ) - timestep_df = ( - handle_duplicate_columns( - _pd.concat(simulation_data_collector.step, axis=1) - ) - if simulation_data_collector.step - else _pd.DataFrame() - ) + + monthly_df = get_df_without_duplicates(simulation_data_collector.monthly) + hourly_df = get_df_without_duplicates(simulation_data_collector.hourly) + timestep_df = get_df_without_duplicates(simulation_data_collector.step) + return Simulation(sim_folder, monthly_df, hourly_df, timestep_df) + + +def get_df_without_duplicates(dfs: _abc.Sequence[_pd.DataFrame]): + if len(dfs) > 0: + return handle_duplicate_columns(_pd.concat(dfs, axis=1)) + + return _pd.DataFrame() diff --git a/pytrnsys_process/settings.py b/pytrnsys_process/settings.py index 22987bf..75cf8a7 100644 --- a/pytrnsys_process/settings.py +++ b/pytrnsys_process/settings.py @@ -28,7 +28,7 @@ class Plot: @dataclass class Reader: - folder_name_for_printer_files_loc: str = "temp" + folder_name_for_printer_files: str = "temp" read_step_files: bool = True diff --git a/pytrnsys_process/utils.py b/pytrnsys_process/utils.py index 7d372e2..9706144 100644 --- a/pytrnsys_process/utils.py +++ b/pytrnsys_process/utils.py @@ -19,7 +19,7 @@ def get_sim_folders(path_to_results: _pl.Path) -> _abc.Sequence[_pl.Path]: def get_files( sim_folders: _abc.Sequence[_pl.Path], - results_folder_name: str = _set.settings.reader.folder_name_for_printer_files_loc, + results_folder_name: str = _set.settings.reader.folder_name_for_printer_files, get_mfr_and_t: bool = _set.settings.reader.read_step_files, ) -> _abc.Sequence[_pl.Path]: sim_files: list[_pl.Path] = [] @@ -41,13 +41,13 @@ def export_plots_in_configured_formats( """Save a matplotlib figure in multiple formats and sizes. Saves the figure in all configured formats (png, pdf, emf) and sizes (A4, A4_HALF) - as specified in the plot settings. For EMF format, the figure is first saved as SVG - and then converted using Inkscape. + as specified in the plot settings (api.settings.plot). + For EMF format, the figure is first saved as SVG and then converted using Inkscape. Args: - fig: The matplotlib Figure object to save - path_to_directory: Directory path where the plot should be saved - plot_name: Base name for the plot file (will be appended with size and format) + fig: The matplotlib Figure object to save. + path_to_directory: Directory path where the plots should be saved. + plot_name: Base name for the plot file (will be appended with size and format). Returns: None @@ -62,10 +62,8 @@ def export_plots_in_configured_formats( >>> def processing_of_monthly_data(simulation: api.Simulation): >>> monthly_df = simulation.monthly >>> columns_to_plot = ["QSnk60P", "QSnk60PauxCondSwitch_kW"] - >>> fig, ax = api.bar_chart( - >>> monthly_df, - >>> columns_to_plot, - >>> ) + >>> fig, ax = api.bar_chart(monthly_df, columns_to_plot) + >>> >>> # Save the plot in multiple formats >>> api.export_plots_in_configured_formats(fig, simulation.path, "monthly-bar-chart") >>> # Creates files like: @@ -88,17 +86,20 @@ def export_plots_in_configured_formats( if fmt == ".emf": path_to_svg = file_no_suffix.with_suffix(".svg") fig.savefig(path_to_svg) - convert_svg_to_emf(path_to_svg) + convert_svg_to_emf(file_no_suffix) + if ".svg" not in plot_settings.file_formats: + os.remove(path_to_svg) else: fig.savefig(file_no_suffix.with_suffix(fmt)) -def convert_svg_to_emf(path_to_svg: _pl.Path) -> None: +def convert_svg_to_emf(file_no_suffix: _pl.Path) -> None: try: inkscape_path = _set.settings.plot.inkscape_path if not _pl.Path(inkscape_path).exists(): raise OSError(f"Inkscape executable not found at: {inkscape_path}") - emf_filepath = path_to_svg.parent / f"{path_to_svg.stem}.emf" + emf_filepath = file_no_suffix.with_suffix(".emf") + path_to_svg = file_no_suffix.with_suffix(".svg") subprocess.run( [ @@ -111,7 +112,7 @@ def convert_svg_to_emf(path_to_svg: _pl.Path) -> None: capture_output=True, text=True, ) - os.remove(path_to_svg) + except subprocess.CalledProcessError as e: logger.error( "Inkscape conversion failed: %s\nOutput: %s", diff --git a/tests/pytrnsys_process/test_process_sim.py b/tests/pytrnsys_process/test_process_sim.py index 00725af..cf4ca60 100644 --- a/tests/pytrnsys_process/test_process_sim.py +++ b/tests/pytrnsys_process/test_process_sim.py @@ -9,6 +9,10 @@ PATH_TO_RESULTS = const.DATA_FOLDER / "results/sim-1" +# TODO: check whether get_files enters any folders inside of the temp folder. It should not. # pylint: disable=fixme +# TODO: add an excel file to the temp folder and ensure that error logged and otherwise continues. # pylint: disable=fixme +# TODO: + class TestProcessSim: @@ -133,6 +137,7 @@ def test_handle_with_conflicting_none_duplicates(self): class TestBenchmarkProcessSim: + # TODO: fix these tests. # pylint: disable=fixme def test_process_per_sim_prt(self, benchmark): benchmark(ps.process_sim, PATH_TO_RESULTS) diff --git a/tests/pytrnsys_process/test_utils.py b/tests/pytrnsys_process/test_utils.py index 370262e..fe91e5e 100644 --- a/tests/pytrnsys_process/test_utils.py +++ b/tests/pytrnsys_process/test_utils.py @@ -10,7 +10,8 @@ def test_save_plot_for_default_settings(tmp_path): fig = Mock(spec=plt.Figure) - with patch("pytrnsys_process.utils.convert_svg_to_emf") as mock_convert: + with (patch("pytrnsys_process.utils.convert_svg_to_emf") as mock_convert, + patch("os.remove") as mock_remove): # Call save_plot utils.export_plots_in_configured_formats(fig, tmp_path, "test_plot") @@ -35,10 +36,11 @@ def test_save_plot_for_default_settings(tmp_path): # Verify convert_svg_to_emf was called for each size expected_convert_calls = [ - call(plots_dir / "test_plot-A4.svg"), - call(plots_dir / "test_plot-A4_HALF.svg"), + call(plots_dir / "test_plot-A4"), + call(plots_dir / "test_plot-A4_HALF"), ] assert mock_convert.call_args_list == expected_convert_calls + assert mock_remove.call_count == 2 def test_convert_svg_to_emf(tmp_path): @@ -49,9 +51,10 @@ def test_convert_svg_to_emf(tmp_path): ): # Create test SVG path svg_path = tmp_path / "test.svg" + file_no_suffix = tmp_path / "test" # Call convert_svg_to_emf - utils.convert_svg_to_emf(svg_path) + utils.convert_svg_to_emf(file_no_suffix) # Verify subprocess.run was called correctly mock_run.assert_called_once_with( @@ -67,7 +70,7 @@ def test_convert_svg_to_emf(tmp_path): ) # Verify original SVG was removed - mock_remove.assert_called_once_with(svg_path) + assert not mock_remove.called def test_convert_svg_to_emf_inkscape_not_found(tmp_path): From f2903e0d28d13d7457b839c1c6208e6e76737604 Mon Sep 17 00:00:00 2001 From: sebastian-swob Date: Thu, 12 Dec 2024 09:31:26 +0100 Subject: [PATCH 3/3] fixed tests and added improvements from code review --- pytrnsys_process/process_sim/process_sim.py | 4 +-- pytrnsys_process/utils.py | 2 +- .../results/sim-1/temp/don-not-process.xlsx | 0 tests/pytrnsys_process/test_process_sim.py | 36 +++++++++++-------- tests/pytrnsys_process/test_utils.py | 33 +++++++++++++++-- 5 files changed, 55 insertions(+), 20 deletions(-) create mode 100644 tests/pytrnsys_process/data/results/sim-1/temp/don-not-process.xlsx diff --git a/pytrnsys_process/process_sim/process_sim.py b/pytrnsys_process/process_sim/process_sim.py index fdf2972..17926df 100644 --- a/pytrnsys_process/process_sim/process_sim.py +++ b/pytrnsys_process/process_sim/process_sim.py @@ -1,7 +1,6 @@ import pathlib as _pl from collections import abc as _abc from dataclasses import dataclass, field -import typing as _tp import pandas as _pd @@ -44,7 +43,8 @@ class Simulation: def process_sim( sim_files: _abc.Sequence[_pl.Path], sim_folder: _pl.Path ) -> Simulation: - # TODO: add docstring to explain architectural choice. + # Used to store the array of dataframes for each file type. + # Later used to concatenate all into one dataframe and saving as Sim object simulation_data_collector = _SimulationDataCollector() for sim_file in sim_files: try: diff --git a/pytrnsys_process/utils.py b/pytrnsys_process/utils.py index 9706144..db430b7 100644 --- a/pytrnsys_process/utils.py +++ b/pytrnsys_process/utils.py @@ -26,7 +26,7 @@ def get_files( for sim_folder in sim_folders: if get_mfr_and_t: sim_files.extend(sim_folder.glob("*[_T,_Mfr].prt")) - for sim_file in (sim_folder / results_folder_name).glob("**/*"): + for sim_file in (sim_folder / results_folder_name).glob("*"): sim_files.append(sim_file) return [x for x in sim_files if x.is_file()] diff --git a/tests/pytrnsys_process/data/results/sim-1/temp/don-not-process.xlsx b/tests/pytrnsys_process/data/results/sim-1/temp/don-not-process.xlsx new file mode 100644 index 0000000..e69de29 diff --git a/tests/pytrnsys_process/test_process_sim.py b/tests/pytrnsys_process/test_process_sim.py index cf4ca60..b445780 100644 --- a/tests/pytrnsys_process/test_process_sim.py +++ b/tests/pytrnsys_process/test_process_sim.py @@ -1,27 +1,29 @@ +import unittest as _ut +import unittest.mock as _mock + import pandas as _pd import pytest as _pt import tests.pytrnsys_process.constants as const -from pytrnsys_process import settings as sett from pytrnsys_process import utils from pytrnsys_process.process_sim import process_file as pf from pytrnsys_process.process_sim import process_sim as ps PATH_TO_RESULTS = const.DATA_FOLDER / "results/sim-1" -# TODO: check whether get_files enters any folders inside of the temp folder. It should not. # pylint: disable=fixme -# TODO: add an excel file to the temp folder and ensure that error logged and otherwise continues. # pylint: disable=fixme -# TODO: - -class TestProcessSim: +class TestProcessSim(_ut.TestCase): def test_process_sim_prt(self): sim_files = utils.get_files([PATH_TO_RESULTS]) - simulation = ps.process_sim(sim_files, PATH_TO_RESULTS) - - self.do_assert(simulation) + with self.assertLogs("pytrnsys_process", level="ERROR") as log_context: + simulation = ps.process_sim(sim_files, PATH_TO_RESULTS) + assert ( + "don-not-process.xlsx: No columns to parse from file" + in log_context.output[0] + ) + self.do_assert(simulation) def test_process_sim_csv(self): sim_files = utils.get_files( @@ -36,9 +38,10 @@ def test_process_sim_csv(self): def test_process_sim_ignore_step(self): sim_files = utils.get_files([PATH_TO_RESULTS]) - sett.settings.reader.read_step_files = False - - simulation = ps.process_sim(sim_files, PATH_TO_RESULTS) + with _mock.patch( + "pytrnsys_process.settings.settings.reader.read_step_files", False + ): + simulation = ps.process_sim(sim_files, PATH_TO_RESULTS) assert simulation.step.shape == (0, 0) @@ -137,13 +140,16 @@ def test_handle_with_conflicting_none_duplicates(self): class TestBenchmarkProcessSim: - # TODO: fix these tests. # pylint: disable=fixme def test_process_per_sim_prt(self, benchmark): - benchmark(ps.process_sim, PATH_TO_RESULTS) + sim_files = utils.get_files([PATH_TO_RESULTS]) + + benchmark(lambda: ps.process_sim(sim_files, PATH_TO_RESULTS)) def test_process_per_sim_csv(self, benchmark): - benchmark(ps.process_sim, PATH_TO_RESULTS) + sim_files = utils.get_files([PATH_TO_RESULTS]) + + benchmark(lambda: ps.process_sim(sim_files, PATH_TO_RESULTS)) def test_process_per_file_using_file_content(self, benchmark): benchmark( diff --git a/tests/pytrnsys_process/test_utils.py b/tests/pytrnsys_process/test_utils.py index fe91e5e..5e07ee3 100644 --- a/tests/pytrnsys_process/test_utils.py +++ b/tests/pytrnsys_process/test_utils.py @@ -10,8 +10,10 @@ def test_save_plot_for_default_settings(tmp_path): fig = Mock(spec=plt.Figure) - with (patch("pytrnsys_process.utils.convert_svg_to_emf") as mock_convert, - patch("os.remove") as mock_remove): + with ( + patch("pytrnsys_process.utils.convert_svg_to_emf") as mock_convert, + patch("os.remove") as mock_remove, + ): # Call save_plot utils.export_plots_in_configured_formats(fig, tmp_path, "test_plot") @@ -106,3 +108,30 @@ def test_convert_svg_to_emf_subprocess_error(tmp_path): assert ( "Inkscape conversion failed" in mock_logger.error.call_args[0][0] ) + + +def test_get_files_works_as_expected(tmp_path): + # Create test directory structure + sim_folder = tmp_path / "sim1" + results_folder = sim_folder / "temp" + nested_folder = results_folder / "nested" + + # Create directories + for folder in [sim_folder, results_folder, nested_folder]: + folder.mkdir(parents=True) + + # Create some test files + test_file1 = results_folder / "test1.prt" + test_file2 = nested_folder / "test2.prt" + test_file1.touch() + test_file2.touch() + + # Run the function + files = utils.get_files([sim_folder]) + + # Verify results + assert len(files) == 1 + assert all(f.is_file() for f in files) + assert nested_folder not in files + assert results_folder not in files + assert set(files) == {test_file1}