Skip to content

Commit 7af8c70

Browse files
committed
Give option to overwrite module parameters
1 parent a786b2e commit 7af8c70

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

src/tlo/methods/collect_event_chains.py

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from tlo.notify import notifier
22

33
from pathlib import Path
4-
from typing import Optional
4+
from typing import Optional, List
55
from tlo import Module, Parameter, Types, logging, population
66
from tlo.population import Population
77
import pandas as pd
@@ -15,8 +15,19 @@
1515

1616
class CollectEventChains(Module):
1717

18-
def __init__(self, name=None):
18+
def __init__(
19+
self,
20+
name: Optional[str] = None,
21+
generate_event_chains: Optional[bool] = None,
22+
modules_of_interest: Optional[List[str]] = None,
23+
events_to_ignore: Optional[List[str]] = None
24+
25+
):
1926
super().__init__(name)
27+
28+
self.generate_event_chains = generate_event_chains
29+
self.modules_of_interest = modules_of_interest
30+
self.events_to_ignore = events_to_ignore
2031

2132
# This is how I am passing data from fnc taking place before event to the one after
2233
# It doesn't seem very elegant but not sure how else to go about it
@@ -57,6 +68,28 @@ def read_parameters(self, resourcefilepath: Optional[Path] = None):
5768
def initialise_population(self, population):
5869
pass
5970

71+
def initialise_simulation(self, sim):
72+
# Use parameter file values by default, if not overwritten
73+
self.generate_event_chains = self.parameters['generate_event_chains'] \
74+
if self.generate_event_chains is None \
75+
else self.generate_event_chains
76+
77+
self.modules_of_interest = self.parameters['modules_of_interest'] \
78+
if self.modules_of_interest is None \
79+
else self.modules_of_interest
80+
81+
self.events_to_ignore = self.parameters['events_to_ignore'] \
82+
if self.events_to_ignore is None \
83+
else self.events_to_ignore
84+
85+
def get_generate_event_chains(self) -> bool:
86+
"""Returns `generate_event_chains`. (Should be equal to what is specified by the parameter, but
87+
overwrite with what was provided in argument if an argument was specified -- provided for backward
88+
compatibility/debugging.)"""
89+
return self.parameters['generate_event_chains'] \
90+
if self.arg_generate_event_chains is None \
91+
else self.arg_generate_event_chains
92+
6093
def on_birth(self, mother, child):
6194
# Could the notification of birth simply take place here?
6295
pass

0 commit comments

Comments
 (0)