1
2
3
4
5
6
7
8
9
10
11
12
13
14 __doc__="""RpnGraphPoint
15
16 Base class for graph points with RPNs. Never directly instantiated.
17 """
18
19 from Globals import InitializeClass
20
21 from Products.ZenModel.GraphPoint import GraphPoint
22 from Products.ZenRRD.utils import rpnStack
23
24
26 rpn = ''
27
28 _properties = GraphPoint._properties + (
29 {'id':'rpn', 'type':'string', 'mode':'w'},
30 )
31
34
35
36 - def getRpn(self, multiid=-1, prefix=''):
37 parts = self.rpn.split(',')
38 for i, var in enumerate(parts):
39 try:
40 unused = float(var)
41 continue
42 except ValueError:
43 pass
44
45 if var in rpnStack.opcodes:
46 continue
47
48 parts[i] = self.getDsName(var, multiid, prefix)
49
50 return ','.join(parts)
51
52
53 InitializeClass(RpnGraphPoint)
54