1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 from flumotion.component.base.admin_text import BaseAdminText
23
24 import string
25
26 from twisted.internet import defer
27
28 __version__ = "$Rev$"
29
30
31 -class VideoTestAdminText(BaseAdminText):
32 commands = ['setpattern', 'getpattern']
33 patterns = ['smpte', 'snow', 'black']
34
37
38 - def getCompletions(self, input):
39 input_split = input.split()
40 available_commands = []
41 if input.endswith(' '):
42 input_split.append('')
43 if len(input_split) <= 1:
44 for c in self.commands:
45 if c.startswith(string.lower(input_split[0])):
46 available_commands.append(c)
47 elif len(input_split) == 2:
48 if string.lower(input_split[0]) == 'setpattern':
49 for p in self.patterns:
50 if p.startswith(string.lower(input_split[1])):
51 available_commands.append(p)
52
53 return available_commands
54
55 - def runCommand(self, command):
56 command_split = command.split()
57 if string.lower(command_split[0]) == 'setpattern':
58
59 if len(command_split) == 2:
60 pattern = -1
61 if string.lower(command_split[1]) == 'smpte':
62 pattern = 0
63 elif string.lower(command_split[1]) == 'snow':
64 pattern = 1
65 elif string.lower(command_split[1]) == 'black':
66 pattern = 2
67 if pattern > -1:
68 d = self.callRemote("setPattern", pattern)
69 return d
70 elif string.lower(command_split[0]) == 'getpattern':
71
72
73 def getpattern_cb(uiState):
74 return self.patterns[uiState.get('pattern')]
75 d = self.callRemote("getUIState")
76 d.addCallback(getpattern_cb)
77 return d
78 else:
79 return None
80
81
82 UIClass = VideoTestAdminText
83