diff --git a/src/sakia/data/entities/__init__.py b/src/sakia/data/entities/__init__.py index cc26e0512cac040a8f9ea0d2f2c156218c094504..34c5913afe57c061dd7f5fd5718f5c859db718c8 100644 --- a/src/sakia/data/entities/__init__.py +++ b/src/sakia/data/entities/__init__.py @@ -5,3 +5,4 @@ from .transaction import Transaction from .node import Node from .connection import Connection from .user_parameters import UserParameters +from .app_data import AppData diff --git a/src/sakia/data/entities/app_data.py b/src/sakia/data/entities/app_data.py new file mode 100644 index 0000000000000000000000000000000000000000..10316f4b787ffd4f2df50a0a7a364ccf8ed70dd6 --- /dev/null +++ b/src/sakia/data/entities/app_data.py @@ -0,0 +1,6 @@ +import attr + + +@attr.s() +class AppData: + profiles = attr.ib(factory=list) diff --git a/src/sakia/data/files/app_data.py b/src/sakia/data/files/app_data.py new file mode 100644 index 0000000000000000000000000000000000000000..79b3fdb6ac68fbdec23e8ed4e767f3b6462ff30a --- /dev/null +++ b/src/sakia/data/files/app_data.py @@ -0,0 +1,28 @@ +import attr +import json +from ..entities import AppData + + +@attr.s(frozen=True) +class AppDataFile: + """ + The repository for AppData + """ + _file = attr.ib() + + def save(self, app_data): + """ + Commit a app_data to the database + :param sakia.data.entities.AppData app_data: the app_data to commit + """ + with open(self._file, 'w') as outfile: + json.dump(attr.asdict(app_data), outfile, indent=4) + + def load(self): + """ + Update an existing app_data in the database + :param sakia.data.entities.AppData app_data: the app_data to update + """ + with open(self._file, 'r') as json_data: + app_data = AppData(**json.load(json_data)) + return app_data diff --git a/src/sakia/data/files/user_parameters.py b/src/sakia/data/files/user_parameters.py index 119fee4da3258701cde9abe097048b79928fbc79..ec161a1d0656181f7a0d3853d7bbedf29429de6b 100644 --- a/src/sakia/data/files/user_parameters.py +++ b/src/sakia/data/files/user_parameters.py @@ -25,4 +25,4 @@ class UserParametersFile: """ with open(self._file, 'r') as json_data: user_parameters = UserParameters(**json.load(json_data)) - return user_parameters \ No newline at end of file + return user_parameters