Skip to content

Commit 45a0d3e

Browse files
committed
[section] Change name handling on init
name can now be none on init. If no name was provided on init, id is used as name value.
1 parent bc4bade commit 45a0d3e

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

odml/section.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class BaseSection(base.Sectionable):
2525

2626
_format = format.Section
2727

28-
def __init__(self, name, type=None, parent=None,
28+
def __init__(self, name=None, type=None, parent=None,
2929
definition=None, reference=None,
3030
repository=None, link=None, include=None, id=None):
3131

@@ -42,6 +42,10 @@ def __init__(self, name, type=None, parent=None,
4242
print(e)
4343
self._id = str(uuid.uuid4())
4444

45+
# Use id if no name was provided.
46+
if not name:
47+
name = self._id
48+
4549
self._parent = None
4650
self._name = name
4751
self._definition = definition

test/test_section.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,21 @@ def test_simple_attributes(self):
3939
sec.definition = ""
4040
self.assertIsNone(sec.definition)
4141

42+
def test_name(self):
43+
# Test id is used when name is not provided
44+
s = Section()
45+
self.assertIsNotNone(s.name)
46+
self.assertEqual(s.name, s.id)
47+
48+
# Test name is properly set on init
49+
name = "rumpelstilzchen"
50+
s = Section(name)
51+
self.assertEqual(s.name, name)
52+
53+
name = "rumpelstilzchen"
54+
s = Section(name=name)
55+
self.assertEqual(s.name, name)
56+
4257
def test_parent(self):
4358
s = Section("Section")
4459
self.assertIsNone(s.parent)

0 commit comments

Comments
 (0)