Files
bernina_robot/script/test/test.py

31 lines
950 B
Python

from json import load, dump
from os import path
import os
class AdjustableFS:
def __init__(self, file_path, name=None, default_value=None):
self.file_path = file_path
if not path.exists(self.file_path):
if not path.exists(path.dirname(self.file_path)):
os.mkdir(path.dirname(self.file_path))
self._write_value(default_value)
self.name = name
def get_current_value(self):
with open(self.file_path, "r") as f:
res = load(f)
return res["value"]
def write_value(self, value):
with open(self.file_path, "w") as f:
dump({"value": value}, f, indent=4)
def __call__(self, value=None):
if not value is None:
self.write_value(value)
else:
return self.get_current_value()
def __repr__(self):
return "Current value of {} at: ".format(self.name) + str(self.get_current_value())