Skip to content

Commit b70750b

Browse files
committed
wip: home theatre facade working with 4 / 7 separates
1 parent 6502c8c commit b70750b

File tree

3 files changed

+30
-9
lines changed

3 files changed

+30
-9
lines changed

chapter07_adapter_facade/facade/home_theatre_facade.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ class HomeTheaterFacade:
22

33
def __init__(self, amp, tuner,
44
player,
5-
# projector,
5+
projector,
66
# screen,
77
# lights,
88
# popper
99
):
1010
self.amp = amp
1111
self.tuner = tuner
1212
self.player = player
13-
# self.projector = projector
13+
self.projector = projector
1414
# self.screen = screen
1515
# self.lights = lights
1616
# self.popper = popper
@@ -21,8 +21,8 @@ def watch_movie(self, movie):
2121
# self.popper.pop()
2222
# self.lights.dim(10)
2323
# self.screen.down()
24-
# self.projector.on()
25-
# self.projector.wideScreenMode()
24+
self.projector.on()
25+
self.projector.wide_screen_mode()
2626
self.amp.on()
2727
# self.amp.set_streaming_player(self.player)
2828
self.amp.set_surround_sound()
@@ -35,7 +35,7 @@ def end_movie(self):
3535
# self.popper.off()
3636
# self.lights.on()
3737
# self.screen.up()
38-
# self.projector.off()
38+
self.projector.off()
3939
self.amp.off()
4040
self.player.stop()
4141
self.player.off()

chapter07_adapter_facade/home_theatre.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
from facade.home_theatre_facade import HomeTheaterFacade
2-
from separates.separates import Amplifier, Tuner, StreamingPlayer
2+
from separates.separates import Amplifier, Tuner, StreamingPlayer, Projector
33

44

55
def theatre_test_drive():
66
amp = Amplifier("Amplifier")
77
tuner = Tuner("AM/FM Tuner", amp)
88
player = StreamingPlayer("Streaming Player", amp)
99
# cd = CdPlayer("CD Player", amp)
10-
# projector = Projector("Projector", player)
10+
projector = Projector("Projector", player)
1111
# lights = TheaterLights("Theater Ceiling Lights")
1212
# screen = Screen("Theater Screen")
1313
# popper = PopcornPopper("Popcorn Popper")
1414

1515
home_theater = HomeTheaterFacade(amp, tuner,
1616
player,
17-
# projector,
17+
projector,
1818
# screen,
1919
# lights,
2020
# popper

chapter07_adapter_facade/separates/separates.py

+22-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def off(self):
7474
print(f"{self.description} off")
7575

7676
def play(self, arg):
77-
if isinstance(arg, str):
77+
if isinstance(arg, str):
7878
self.movie = arg
7979
self.current_chapter = 0
8080
print(self.description + " playing \"" + self.movie + "\"")
@@ -102,3 +102,24 @@ def set_two_channel_audio(self):
102102

103103
def set_surround_audio(self):
104104
print(f"{self.description} set surround audio")
105+
106+
107+
class Projector:
108+
def __init__(self, description, player):
109+
self.description = description
110+
self.player = player
111+
112+
def __str__(self):
113+
return self.description
114+
115+
def on(self):
116+
print(f"{self.description} on")
117+
118+
def off(self):
119+
print(f"{self.description} off")
120+
121+
def wide_screen_mode(self):
122+
print(self.description + " in widescreen mode (16x9 aspect ratio)")
123+
124+
def tv_mode(self):
125+
print(self.description + " in tv mode (4x3 aspect ratio)")

0 commit comments

Comments
 (0)