Skip to content

Commit

Permalink
added timestamp for the processed output file
Browse files Browse the repository at this point in the history
  • Loading branch information
vgoehler committed Mar 4, 2020
1 parent 32d380f commit a15f00c
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 11 deletions.
8 changes: 6 additions & 2 deletions src/python_eulerian_video_magnification/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,17 @@ def __init__(self, file_name: str, output_folder: str,
def output_file_name(filename: str, suffix: str, path: str, generate_json=False):
filename_split = os.path.splitext(os.path.split(filename)[-1])
extension = ".json" if generate_json else filename_split[1]
return os.path.join(path, filename_split[0] + "_%s_evm" % suffix + extension)
return os.path.join(path, filename_split[0] + "_%s_evm_%s" % (suffix, MetaData.get_date()) + extension)

def __getitem__(self, item):
return self.__data[item]

def save_meta_data(self):
"""stores the meta data dictionary as a json"""
self.__data['date'] = str(datetime.now())
self.__data['date'] = self.get_date()
with open(self.__data['meta_target'], 'w') as fp:
json.dump(self.__data, fp=fp, sort_keys=True, indent=4, separators=(',', ': '))

@staticmethod
def get_date() -> str:
return str(datetime.now()).replace(' ', '-').split('.')[0]
24 changes: 15 additions & 9 deletions tests/test_metadata.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,30 @@
import os.path

from datetime import datetime
from python_eulerian_video_magnification.metadata import MetaData
from python_eulerian_video_magnification.mode import Mode


def test_output_filename():
def test_output_filename(monkeypatch):
monkeypatch.setattr(MetaData, "get_date", lambda: "2020-01-01-16:16:16")
out = MetaData.output_file_name("abd.avi", "color", "/fu/bar/")
assert out == "/fu/bar/abd_color_evm.avi"
assert out == "/fu/bar/abd_color_evm_2020-01-01-16:16:16.avi"


def test_output_filename_with_path():
def test_output_filename_with_path(monkeypatch):
monkeypatch.setattr(MetaData, "get_date", lambda: "2020-01-01-16:16:16")
out = MetaData.output_file_name("/tmp/abd.avi", "color", "/fu/bar/")
assert out == "/fu/bar/abd_color_evm.avi"
assert out == "/fu/bar/abd_color_evm_2020-01-01-16:16:16.avi"


def test_output_filename_with_path_for_metadata():
def test_output_filename_with_path_for_metadata(monkeypatch):
monkeypatch.setattr(MetaData, "get_date", lambda: "2020-01-01-16:16:16")
out = MetaData.output_file_name("/tmp/abd.avi", "color", "/fu/bar/", generate_json=True)
assert out == "/fu/bar/abd_color_evm.json"
assert out == "/fu/bar/abd_color_evm_2020-01-01-16:16:16.json"


def test_for_data_as_expected():
def test_for_data_as_expected(monkeypatch):
monkeypatch.setattr(MetaData, "get_date", lambda: "2020-01-01-16:16:16")
sut = MetaData(
file_name="/fu/bar/gob.avi",
output_folder="/out/put/",
Expand All @@ -31,8 +36,9 @@ def test_for_data_as_expected():
amplification=23
)
assert getattr(sut, "_MetaData__data") == {'file': "/fu/bar/gob.avi", 'output': "/out/put/",
'target': "/out/put/gob_color_evm.avi",
'meta_target': "/out/put/gob_color_evm.json", 'low': 0.1, 'high': 2.1,
'target': "/out/put/gob_color_evm_2020-01-01-16:16:16.avi",
'meta_target': "/out/put/gob_color_evm_2020-01-01-16:16:16.json",
'low': 0.1, 'high': 2.1,
'levels': 4,
'amplification': 23, 'mode': 'COLOR', 'suffix': 'color', 'date': None}

Expand Down

0 comments on commit a15f00c

Please sign in to comment.