Skip to content

Commit 588f39a

Browse files
authored
Merge pull request #329 from rednafi/master
Added type hints to factory pattern
2 parents 11449e6 + a822f7f commit 588f39a

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

patterns/creational/factory.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,27 +29,29 @@
2929
class GreekLocalizer:
3030
"""A simple localizer a la gettext"""
3131

32-
def __init__(self):
32+
def __init__(self) -> None:
3333
self.translations = {"dog": "σκύλος", "cat": "γάτα"}
3434

35-
def localize(self, msg):
35+
def localize(self, msg: str) -> str:
3636
"""We'll punt if we don't have a translation"""
3737
return self.translations.get(msg, msg)
3838

3939

4040
class EnglishLocalizer:
4141
"""Simply echoes the message"""
4242

43-
def localize(self, msg):
43+
def localize(self, msg: str) -> str:
4444
return msg
4545

4646

47-
def get_localizer(language="English"):
47+
def get_localizer(language: str = "English") -> object:
48+
4849
"""Factory"""
4950
localizers = {
5051
"English": EnglishLocalizer,
5152
"Greek": GreekLocalizer,
5253
}
54+
5355
return localizers[language]()
5456

5557

@@ -70,4 +72,5 @@ def main():
7072

7173
if __name__ == "__main__":
7274
import doctest
75+
7376
doctest.testmod()

0 commit comments

Comments
 (0)