Skip to content

Commit 62d272d

Browse files
Merge pull request #150 from dotflow-io/feature/130
🪲 BUG-#130: Fix mutable default arguments in Config.__init__ causing shared state
2 parents cbc3bee + aa992b2 commit 62d272d

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

dotflow/core/config.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,19 @@ class Config:
6161

6262
def __init__(
6363
self,
64-
storage: Storage | None = StorageDefault(),
65-
notify: Notify | None = NotifyDefault(),
66-
log: Log | None = LogDefault(),
67-
api: Api | None = ApiDefault(),
68-
scheduler: Scheduler | None = SchedulerDefault(),
64+
storage: Storage | None = None,
65+
notify: Notify | None = None,
66+
log: Log | None = None,
67+
api: Api | None = None,
68+
scheduler: Scheduler | None = None,
6969
) -> None:
70-
self.storage = storage
71-
self.notify = notify
72-
self.log = log
73-
self.api = api
74-
self.scheduler = scheduler
70+
self.storage = storage if storage is not None else StorageDefault()
71+
self.notify = notify if notify is not None else NotifyDefault()
72+
self.log = log if log is not None else LogDefault()
73+
self.api = api if api is not None else ApiDefault()
74+
self.scheduler = (
75+
scheduler if scheduler is not None else SchedulerDefault()
76+
)
7577

7678
self._validate()
7779

0 commit comments

Comments
 (0)