Skip to content

Commit 9405c15

Browse files
committed
convert long lasting representations to Tuple
1 parent f1eeef2 commit 9405c15

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

data_algebra/data_ops.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class ViewRepresentation(OperatorPlatform, ABC):
6262
Abstract base class."""
6363

6464
column_names: Tuple[str]
65-
sources: List[
65+
sources: Tuple[
6666
"ViewRepresentation"
6767
] # https://www.python.org/dev/peps/pep-0484/#forward-references
6868

@@ -73,17 +73,21 @@ def __init__(
7373
sources: Optional[Iterable["ViewRepresentation"]] = None,
7474
node_name: str,
7575
):
76-
column_names = tuple(column_names) # make sure a list and a disjoint copy
77-
self.column_names = column_names
78-
assert len(self.column_names) > 0
79-
for v in self.column_names:
76+
if not isinstance(column_names, tuple):
77+
column_names = tuple(column_names)
78+
assert len(column_names) > 0
79+
for v in column_names:
8080
assert isinstance(v, str)
8181
assert len(column_names) == len(set(column_names))
82+
self.column_names = column_names
8283
if sources is None:
83-
sources = []
84+
sources = ()
85+
else:
86+
if not isinstance(sources, tuple):
87+
sources = tuple(sources)
8488
for si in sources:
8589
assert isinstance(si, ViewRepresentation)
86-
self.sources = [si for si in sources]
90+
self.sources = sources
8791
OperatorPlatform.__init__(self, node_name=node_name)
8892

8993
def column_map(self) -> collections.OrderedDict:

0 commit comments

Comments
 (0)