Skip to content

Commit

Permalink
Add type hint for sample_meta_data.py (#1159)
Browse files Browse the repository at this point in the history
Co-authored-by: Yang Ding <yang.ding@motioncorrect.com>
  • Loading branch information
cakester and dyt811 committed Nov 20, 2022
1 parent 0adcbbf commit 8e08fc6
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions ivadomed/loader/sample_meta_data.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
from __future__ import annotations
import typing
if typing.TYPE_CHECKING:
from typing import ItemsView
from typing import KeysView


class SampleMetadata(object):
"""Metadata class to help update, get and set metadata values.
Expand All @@ -8,22 +15,22 @@ class SampleMetadata(object):
metadata (dict): Image metadata.
"""

def __init__(self, d=None):
def __init__(self, d: dict = None) -> None:
self.metadata = {} or d

def __setitem__(self, key, value):
def __setitem__(self, key: any, value: any) -> None:
self.metadata[key] = value

def __getitem__(self, key):
def __getitem__(self, key: any) -> any:
return self.metadata[key]

def __contains__(self, key):
def __contains__(self, key: any) -> bool:
return key in self.metadata

def items(self):
def items(self) -> ItemsView:
return self.metadata.items()

def _update(self, ref, list_keys):
def _update(self, ref: SampleMetadata, list_keys: list) -> None:
"""Update metadata keys with a reference metadata.
A given list of metadata keys will be changed and given the values of the reference
Expand All @@ -37,5 +44,5 @@ def _update(self, ref, list_keys):
if (k not in self.metadata.keys() or not bool(self.metadata[k])) and k in ref.metadata.keys():
self.metadata[k] = ref.metadata[k]

def keys(self):
def keys(self) -> KeysView:
return self.metadata.keys()

0 comments on commit 8e08fc6

Please sign in to comment.