1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 """utilities used by flumotion-command"""
19
20 from flumotion.twisted.defer import defer_generator
21 from flumotion.common import errors
22
23 __version__ = "$Rev$"
24
25
27 split = string.split('/')
28 assert len(split) == 3
29 assert not split[0]
30 return split[1:]
31
32
34 split = string.split('/')
35 assert not split[0]
36 assert len(split) > 0 and len(split) < 4
37 if len(split) == 3:
38 return ['component'] + split[1:]
39 elif len(split) == 2:
40 if split[1] == 'atmosphere':
41 return ['atmosphere']
42 elif split[1] == '':
43 return ['root']
44 else:
45 return ['flow'] + split[1:]
46
47
49 if avatarId[0] == 'atmosphere':
50 for c in planet.get('atmosphere').get('components'):
51 if c.get('name') == avatarId[1]:
52 return c
53 print ('Could not find component named %s in flow %s'
54 % (avatarId[1], avatarId[0]))
55 return None
56
57 for f in planet.get('flows'):
58 if f.get('name') == avatarId[0]:
59 for c in f.get('components'):
60 if c.get('name') == avatarId[1]:
61 return c
62 print ('Could not find component named %s in flow %s'
63 % (avatarId[1], avatarId[0]))
64 return None
65
66
83 get_component_uistate = defer_generator(get_component_uistate)
84