Skip to content

Commit

Permalink
cleanup repr/str
Browse files Browse the repository at this point in the history
  • Loading branch information
sarthfrey committed Jul 26, 2019
1 parent d3a1fdc commit a4515f4
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 2 deletions.
5 changes: 4 additions & 1 deletion ensemble/ensemble.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,12 @@ def __repr__(self) -> str:
)

def __str__(self, level: int = 0) -> str:
return self._str()[:-1]

def _str(self, level: int = 0) -> str:
ret = '\t' * level + repr(self) + "\n"
for child in self.children.values():
ret += child.__str__(level+1)
ret += child._str(level+1)
return ret

def _init_to_graph(self, children: List[Callable], weights: Optional[List[np.ndarray]]):
Expand Down
5 changes: 4 additions & 1 deletion ensemble/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ def __repr__(self) -> str:
f"Model(name='{self.name}', func={self.name}({', '.join(self.arg_names)}))"
)

def __str__(self, level: int = 0) -> str:
def __str__(self):
return self._str()

def _str(self, level: int = 0) -> str:
return '\t' * level + repr(self) + "\n"

def get_name(self) -> str:
Expand Down
8 changes: 8 additions & 0 deletions ensemble/node.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,21 @@ def __call__(self, *args, **kwargs):
def __repr__(self, *args, **kwargs):
pass

@abstractmethod
def __str__(self, *args, **kwargs):
pass

@abstractmethod
def get_name(self):
pass

def get_arg_names(self):
return set(inspect.getfullargspec(self)[0])

@abstractmethod
def _str(self):
pass

"""
@abstractmethod
def set_name(self, name):
Expand Down
1 change: 1 addition & 0 deletions examples/evaluate_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ def wrapper(dataset):
e = Ensemble('ensemble', children=[model1, model2], mode='all')
results = Ensemble('results', children=[model1, model2, e])
results.decorate_children(evaluate)
print(results)
pprint(
results(dataset=get_dataset())
)
Expand Down

0 comments on commit a4515f4

Please sign in to comment.