Skip to content

Commit 6502c8c

Browse files
committed
wip: home theatre facade working with only 3 / 7 separates
1 parent 8681ea9 commit 6502c8c

File tree

3 files changed

+57
-10
lines changed

3 files changed

+57
-10
lines changed

chapter07_adapter_facade/facade/home_theatre_facade.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
class HomeTheaterFacade:
22

33
def __init__(self, amp, tuner,
4-
# player,
4+
player,
55
# projector,
66
# screen,
77
# lights,
88
# popper
99
):
1010
self.amp = amp
1111
self.tuner = tuner
12-
# self.player = player
12+
self.player = player
1313
# self.projector = projector
1414
# self.screen = screen
1515
# self.lights = lights
@@ -27,8 +27,8 @@ def watch_movie(self, movie):
2727
# self.amp.set_streaming_player(self.player)
2828
self.amp.set_surround_sound()
2929
self.amp.set_volume(5)
30-
# self.player.on()
31-
# self.player.play(movie)
30+
self.player.on()
31+
self.player.play(movie)
3232

3333
def end_movie(self):
3434
print("Shutting movie theater down...")
@@ -37,8 +37,8 @@ def end_movie(self):
3737
# self.screen.up()
3838
# self.projector.off()
3939
self.amp.off()
40-
# self.player.stop()
41-
# self.player.off()
40+
self.player.stop()
41+
self.player.off()
4242

4343
def listen_to_radio(self, frequency):
4444
print("Tuning in the airwaves...")

chapter07_adapter_facade/home_theatre.py

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

44

55
def theatre_test_drive():
66
amp = Amplifier("Amplifier")
77
tuner = Tuner("AM/FM Tuner", amp)
8-
# player = StreamingPlayer("Streaming Player", amp)
8+
player = StreamingPlayer("Streaming Player", amp)
99
# cd = CdPlayer("CD Player", amp)
1010
# 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,
16-
# player,
16+
player,
1717
# projector,
1818
# screen,
1919
# lights,

chapter07_adapter_facade/separates/separates.py

+48-1
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,58 @@ def off(self):
4747
print(f"{self.description} off")
4848

4949
def set_frequency(self, frequency):
50-
print(f"{self.description} setting frequency to {frequency}")
50+
print(f"{self.description} setting frequency to frequency")
5151
self.frequency = frequency
5252

5353
def set_am(self):
5454
print(f"{self.description} setting AM mode")
5555

5656
def set_fm(self):
5757
print(f"{self.description} setting FM mode")
58+
59+
60+
class StreamingPlayer:
61+
def __init__(self, description, amplifier):
62+
self.description = description
63+
self.amplifier = amplifier
64+
self.current_chapter = 0
65+
self.movie = None
66+
67+
def __str__(self):
68+
return self.description
69+
70+
def on(self):
71+
print(f"{self.description} on")
72+
73+
def off(self):
74+
print(f"{self.description} off")
75+
76+
def play(self, arg):
77+
if isinstance(arg, str):
78+
self.movie = arg
79+
self.current_chapter = 0
80+
print(self.description + " playing \"" + self.movie + "\"")
81+
elif isinstance(arg, int):
82+
if self.movie is None:
83+
print(f"{self.description} can't play chapter {arg} no movie selected")
84+
else:
85+
self.current_chapter = arg
86+
print(
87+
f"{self.description} playing chapter {self.current_chapter}"
88+
+ " of \""
89+
+ self.movie
90+
+ "\""
91+
)
92+
93+
def stop(self):
94+
self.current_chapter = 0
95+
print(self.description + " stopped \"" + self.movie + "\"")
96+
97+
def pause(self):
98+
print(self.description + " paused \"" + self.movie + "\"")
99+
100+
def set_two_channel_audio(self):
101+
print(f"{self.description} set two channel audio")
102+
103+
def set_surround_audio(self):
104+
print(f"{self.description} set surround audio")

0 commit comments

Comments
 (0)