equal
deleted
inserted
replaced
6 |
6 |
7 xhtml_header = '''<?xml version="1.0" encoding="utf-8"?> |
7 xhtml_header = '''<?xml version="1.0" encoding="utf-8"?> |
8 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" |
8 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" |
9 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
9 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
10 ''' |
10 ''' |
|
11 |
|
12 WorkingDir = None |
11 |
13 |
12 class PLCHMI(athena.LiveElement): |
14 class PLCHMI(athena.LiveElement): |
13 |
15 |
14 initialised = False |
16 initialised = False |
15 |
17 |
160 self.oldstate = None |
162 self.oldstate = None |
161 self.site = site |
163 self.site = site |
162 |
164 |
163 def listen(self, state): |
165 def listen(self, state): |
164 if state != self.oldstate: |
166 if state != self.oldstate: |
165 {'Started': self.site.PLCStarted, |
167 action = {'Started': self.site.PLCStarted, |
166 'Stopped': self.site.PLCStopped}[state]() |
168 'Stopped': self.site.PLCStopped}.get(state, None) |
|
169 if action is not None: action () |
167 self.oldstate = state |
170 self.oldstate = state |
168 |
171 |
169 def website_statuslistener_factory(site): |
172 def website_statuslistener_factory(site): |
170 return statuslistener(site).listen |
173 return statuslistener(site).listen |