From e46adb545d1acfaee1a4a76813bc891afdf07fc4 Mon Sep 17 00:00:00 2001 From: Sam Richards Date: Wed, 31 Jan 2024 16:30:00 +0000 Subject: [PATCH] Adding a couple of extra metadata fields for filenaming. (#79) * Adding a couple of extra metadata fields for filenaming. This helps define exactly how the output filename is defined, which then helps with the log files, and general template generation. Signed-off-by: Sam.Richards@taurich.org * Update enctests/testframework/encoders/ffmpeg_encoder.py Fixing return Co-authored-by: Daniel Flehner Heen Signed-off-by: Sam Richards * Fixing return values for get-output-filename Signed-off-by: Sam.Richards@taurich.org * Fixing template. Signed-off-by: Sam.Richards@taurich.org * Update enctests/testframework/encoders/ffmpeg_encoder.py Converting the return type to a Tuple Co-authored-by: Daniel Flehner Heen Signed-off-by: Sam Richards --------- Signed-off-by: Sam.Richards@taurich.org Signed-off-by: Sam Richards Co-authored-by: Sam.Richards@taurich.org Co-authored-by: Daniel Flehner Heen --- enctests/testframework/encoders/ffmpeg_encoder.py | 13 ++++++++----- enctests/testframework/templates/basic.html.jinja | 4 ++-- .../testframework/templates/basicmovie.html.jinja | 6 +++--- .../templates/basicpictures.html.jinja | 2 +- .../testframework/templates/colorweb.html.jinja | 4 ++-- .../testframework/templates/doctests.html.jinja | 6 +++--- enctests/testframework/utils/outputTemplate.py | 1 + 7 files changed, 20 insertions(+), 16 deletions(-) diff --git a/enctests/testframework/encoders/ffmpeg_encoder.py b/enctests/testframework/encoders/ffmpeg_encoder.py index 4c0cec61..3c9daf11 100644 --- a/enctests/testframework/encoders/ffmpeg_encoder.py +++ b/enctests/testframework/encoders/ffmpeg_encoder.py @@ -48,7 +48,7 @@ def run_wedges(self) -> dict: for wedge_name, wedge in self.test_config.get('wedges', {}).items(): # Test name is based on main test name and wedge name test_name = f"{self.test_config.get('name')}-{wedge_name}" - out_file = self.get_output_filename(test_name) + out_file, testbasename = self.get_output_filename(test_name) # Remove it, so if the new run fails to create anything # we are not accidently using the old one. @@ -101,7 +101,8 @@ def run_wedges(self) -> dict: test_meta['command'] = cmd test_meta['encode_arguments'] = wedge test_meta['description'] = self.test_config.get('description') - + test_meta['outputfile'] = str(out_file) + test_meta['testbasename'] = testbasename result_meta = test_meta.setdefault('results', {}) result_meta['completed_utc'] = \ datetime.now(timezone.utc).isoformat() @@ -172,15 +173,17 @@ def get_source_path(self) -> Tuple[pathlib.Path, str]: return path, symbol - def get_output_filename(self, test_name: str) -> pathlib.Path: + def get_output_filename(self, test_name: str) -> Tuple[pathlib.Path, str]: source_path, symbol = self.get_source_path() stem = source_path.stem.replace(symbol, '') if stem[-1] == ".": stem = stem[:-1] + testbasename = f"{stem}-{test_name}" + out_file = self.destination.absolute().joinpath( - f"{stem}-{test_name}{self.test_config.get('suffix')}" + f"{testbasename}{self.test_config.get('suffix')}" ) - return out_file + return out_file, testbasename diff --git a/enctests/testframework/templates/basic.html.jinja b/enctests/testframework/templates/basic.html.jinja index 2f5e0ef7..160b487a 100644 --- a/enctests/testframework/templates/basic.html.jinja +++ b/enctests/testframework/templates/basic.html.jinja @@ -48,8 +48,8 @@ {% for enc_info in test.results %} - {{ enc_info.name|e }} - Test {{ enc_info.testresult}} + {{ enc_info.name|e }} + Test {{ enc_info.testresult}} {{ enc_info.encode_time}} {{ enc_info.filesize}} {{enc_info.vmaf_harmonic_mean |e }} diff --git a/enctests/testframework/templates/basicmovie.html.jinja b/enctests/testframework/templates/basicmovie.html.jinja index ee85e190..cdea7252 100644 --- a/enctests/testframework/templates/basicmovie.html.jinja +++ b/enctests/testframework/templates/basicmovie.html.jinja @@ -50,8 +50,8 @@ {% for enc_info in test.results %} - {{ enc_info.name|e }} - Result - {{ enc_info.testresult }} + {{ enc_info.name|e }} + Result - {{ enc_info.testresult }} {{ enc_info.encode_time}} {{ "{:,}".format(enc_info.filesize) }} {{enc_info.vmaf_harmonic_mean |e }} @@ -90,7 +90,7 @@ {% for enc_info in test.results %} - {{ enc_info.name|e }} + {{ enc_info.name|e }} {{enc_info.encode_arguments | e}} diff --git a/enctests/testframework/templates/basicpictures.html.jinja b/enctests/testframework/templates/basicpictures.html.jinja index d0788b6e..09387e23 100644 --- a/enctests/testframework/templates/basicpictures.html.jinja +++ b/enctests/testframework/templates/basicpictures.html.jinja @@ -47,7 +47,7 @@ {% for enc_info in test.results %} - {{ enc_info.name|e }} + {{ enc_info.name|e }} {{ enc_info.encode_time}} {{ "{:,}".format(enc_info.filesize) }} {{enc_info.vmaf.harmonic_mean |e }} diff --git a/enctests/testframework/templates/colorweb.html.jinja b/enctests/testframework/templates/colorweb.html.jinja index de1fef1e..c6699a85 100644 --- a/enctests/testframework/templates/colorweb.html.jinja +++ b/enctests/testframework/templates/colorweb.html.jinja @@ -47,8 +47,8 @@ {% for enc_info in test.results %} - {{ enc_info.name|e }} - {{ enc_info.testresult }} + {{ enc_info.name|e }} + {{ enc_info.testresult }} {{ enc_info.mean_error}} {{ enc_info.max_error}} {{ enc_info.encode_time}} diff --git a/enctests/testframework/templates/doctests.html.jinja b/enctests/testframework/templates/doctests.html.jinja index becc0921..a842fa61 100644 --- a/enctests/testframework/templates/doctests.html.jinja +++ b/enctests/testframework/templates/doctests.html.jinja @@ -43,10 +43,10 @@ {% for enc_info in test.results %} - {{ enc_info.name|e }} - {{ enc_info.testresult}} + {{ enc_info.name|e }} + {{ enc_info.testresult}} {{ enc_info.mean_error}} - {{ enc_info.max_error}} + {{ enc_info.max_error}} {{ enc_info.encode_time}} {{ "{:,}".format(enc_info.filesize) }} {{enc_info.command | e}} diff --git a/enctests/testframework/utils/outputTemplate.py b/enctests/testframework/utils/outputTemplate.py index 63703b61..622fee95 100644 --- a/enctests/testframework/utils/outputTemplate.py +++ b/enctests/testframework/utils/outputTemplate.py @@ -72,6 +72,7 @@ def processTemplate(config, timeline): continue merge_test_info = test_info.metadata['aswf_enctests']['results'] merge_test_info['name'] = ref_name + merge_test_info['testbasename'] = test_info.metadata['aswf_enctests']['testbasename'] merge_test_info['wedge'] = ref_name.replace(track.metadata.get('source_test_name', '')+"-", "") if 'description' in test_info.metadata['aswf_enctests']: merge_test_info['test_description'] = test_info.metadata['aswf_enctests']['description']