-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrecordingForwardingManager.py
More file actions
56 lines (44 loc) · 2.03 KB
/
recordingForwardingManager.py
File metadata and controls
56 lines (44 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import requests
from config import CLOUDFRONT_SERVER, START_RECORD_ENDPOINT, ACTION_ENDPOINT
from recorder import Recorder
class RecordingForwardingManager:
def __init__(self):
self.recording_connection = None
self.recording_paused = False
self.recorder = Recorder(stream=True)
self.session_name = ""
def update_recordings_size(self):
return 0
def record_audio(self):
if self.session_name:
self.recorder.record(filename=self.session_name)
def save_audio(self):
self.recorder.stop_recording()
def record_command(self, command):
action_type, action = command.get_command_description()
r = requests.get("https://" + CLOUDFRONT_SERVER + ACTION_ENDPOINT, params={"action_type": action_type,
"action": action,
"session_name": self.session_name})
print(r.json())
def start_recording(self, connection_id):
self.session_name = requests.get("https://" + CLOUDFRONT_SERVER + START_RECORD_ENDPOINT).json()['session_name']
self.recording_connection = connection_id
self.recording_paused = False
self.record_audio()
return {"message": "Recording started..."}
def pause_recording(self, connection):
if connection == self.recording_connection:
self.save_audio()
self.recording_paused = True
return {"message": "Recording paused."}
def resume_recording(self, connection):
if connection == self.recording_connection:
self.recording_paused = False
self.record_audio()
return {"message": "Recording resumed..."}
def stop_recording(self, connection):
if connection == self.recording_connection:
self.save_audio()
self.recording_paused = None
self.recording_connection = None
return {"message": "Recording finished!"}