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