Identify YamlFile by path, not name
There is no point in storing a 'name' for a YamlFile, let's use the
path, which is unique.
Also, adds a test for the property.
Signed-off-by: martin f. krafft <madduck@madduck.net>
diff --git a/storage/yaml_fs/tests/test_yamlfile.py b/storage/yaml_fs/tests/test_yamlfile.py
index d8302f1..7e2bfb7 100644
--- a/storage/yaml_fs/tests/test_yamlfile.py
+++ b/storage/yaml_fs/tests/test_yamlfile.py
@@ -16,6 +16,9 @@
def setUp(self):
self._file = yamlfile.YamlFile(TESTFILE)
+ def test_path_property(self):
+ assert self._file.path == TESTFILE
+
def test_data(self):
e = self._file.entity
c = e.classes
diff --git a/storage/yaml_fs/yamlfile.py b/storage/yaml_fs/yamlfile.py
index 0d1175a..56d1325 100644
--- a/storage/yaml_fs/yamlfile.py
+++ b/storage/yaml_fs/yamlfile.py
@@ -16,15 +16,13 @@
self._path = path
self._data = dict()
self._read()
+ path = property(lambda self: self._path)
def _read(self):
fp = file(self._path)
self._data = yaml.safe_load(fp)
- self._name = self._data.get('name', self._path)
fp.close()
- name = property(lambda self: self._name)
-
def _get_entity(self):
classes = datatypes.Classes(self._data.get('classes', []))
parameters = datatypes.Parameters(self._data.get('parameters', {}))
@@ -33,5 +31,5 @@
entity = property(lambda self: self._get_entity())
def __repr__(self):
- return '<{0} {1}, {2}>'.format(self.__class__.__name__, self._name,
+ return '<{0} {1}, {2}>'.format(self.__class__.__name__, self._path,
self._data.keys())