Changeset 152
- Timestamp:
- 09/23/2009 11:45:50 PM (14 years ago)
- Location:
- SHX/trunk/src/SeismicHandler
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
SHX/trunk/src/SeismicHandler
- Property svn:ignore
-
old new 1 1 *.pyc 2 .project 3 .pydevproject
-
- Property svn:ignore
-
SHX/trunk/src/SeismicHandler/core/modules/Command.py
r137 r152 32 32 from SeismicHandler.core.log import logging 33 33 from SeismicHandler.core.shlib import shlib 34 from SeismicHandler.core.modules.Events import EventManager, Event34 from SeismicHandler.core.modules.Events import MessageService, Message 35 35 36 36 class Command(object): … … 75 75 self.promote() 76 76 77 EventManager.trigger(Event(EventManager.COMMANDRUN))77 MessageService.trigger(Message(MessageService.COMMANDRUN)) 78 78 79 79 def Cancel(self): -
SHX/trunk/src/SeismicHandler/core/modules/Events.py
r139 r152 35 35 return "notifier must be callable!" 36 36 37 class Event(object):37 class Message(object): 38 38 """Event class. 39 39 … … 54 54 self.done = False 55 55 56 class Events(object):56 class MessageController(object): 57 57 """Events manager 58 58 59 59 Subscribing to events: 60 60 >>> def x(e, x): print x*2 61 >>> e = Events()62 >>> foo = Event("foo")63 >>> bar = Event("bar")61 >>> e = MessageController() 62 >>> foo = Message("foo") 63 >>> bar = Message("bar") 64 64 >>> e.subscribe(foo, x) 65 65 >>> e.subscribe(bar, x) … … 230 230 self.trigger(pending[0], *pending[1]) 231 231 232 EventManager = Events()232 MessageService = MessageController() 233 233 234 234 if __name__ == "__main__": -
SHX/trunk/src/SeismicHandler/core/modules/Trace.py
r151 r152 27 27 from SeismicHandler.core.shlib import shlib 28 28 from SeismicHandler.core.log import logging 29 from SeismicHandler.core.modules.Events import EventManager, Event29 from SeismicHandler.core.modules.Events import MessageService, Message 30 30 from SeismicHandler.core.shheaders import MEMBLC, EMPTYVALUES 31 31 from SeismicHandler.core.error import InfoEntryNotFoundError, InfoEntryReadOnlyError … … 187 187 def __init__(self): 188 188 self.sh = shlib().sh 189 EventManager.subscribe(Event(EventManager.REDRAW), self.update)190 EventManager.subscribe(Event(EventManager.TRACEUPDATE), self.update)189 MessageService.subscribe(Message(MessageService.REDRAW), self.update) 190 MessageService.subscribe(Message(MessageService.TRACEUPDATE), self.update) 191 191 self.logger = logging.getLogger("modules.traces") 192 192 self.update() … … 330 330 from SeismicHandler.core.commands import Run 331 331 332 EventManager.block(Event(EventManager.REDRAW))332 MessageService.block(Message(MessageService.REDRAW)) 333 333 # create 2 hours of synthetic data (100 Hz) 334 334 # position set by counter … … 338 338 339 339 Run("sum all") 340 EventManager.unblock(Event(EventManager.REDRAW))340 MessageService.unblock(Message(MessageService.REDRAW)) 341 341 342 342 t.plot(True) -
SHX/trunk/src/SeismicHandler/core/shlib.py
r151 r152 37 37 from SeismicHandler.config.options import environment 38 38 from SeismicHandler.core.shheaders import LINELENGTH, NOERROR, PARAM, CAPCNV, EMPTYVALUES 39 from SeismicHandler.core.modules.Events import EventManager, Event39 from SeismicHandler.core.modules.Events import MessageService, Message 40 40 41 41 logger = logging.getLogger("core.shlib") … … 96 96 self._startup() 97 97 98 idxu = Event(EventManager.INFOIDXUPDATE)99 EventManager.subscribe(idxu, self._readIdxStructure)100 EventManager.trigger(idxu)98 idxu = Message(MessageService.INFOIDXUPDATE) 99 MessageService.subscribe(idxu, self._readIdxStructure) 100 MessageService.trigger(idxu) 101 101 102 102 def _readIdxStructure(self, *args, **kwargs): … … 165 165 fct(trc, ientry, value, C.byref(status)) 166 166 167 EventManager.trigger(Event(EventManager.TRACEUPDATE))167 MessageService.trigger(Message(MessageService.TRACEUPDATE)) 168 168 if status.value: 169 169 logger.error("could not set info entry '%s'" % name) … … 294 294 295 295 if redraw.value: 296 EventManager.trigger(Event(EventManager.REDRAW))296 MessageService.trigger(Message(MessageService.REDRAW)) 297 297 298 298 # print quit.value, redraw.value, iscmdproc.value, rdlevel.value, status.value -
SHX/trunk/src/SeismicHandler/startup.py
r151 r152 39 39 from SeismicHandler.core.modules.Trace import Traces as xTraces 40 40 from SeismicHandler.core.modules import Tools 41 from SeismicHandler.core.modules.Events import Event, EventManager41 from SeismicHandler.core.modules.Events import Message, MessageService 42 42 43 43 # access to traces … … 57 57 Run(options.args[0]) 58 58 # After running script from command line, update trace information. 59 EventManager.trigger(Event(EventManager.TRACEUPDATE))59 MessageService.trigger(Message(MessageService.TRACEUPDATE)) 60 60 except IndexError: 61 61 pass -
SHX/trunk/src/SeismicHandler/tests/test_commands.py
r151 r152 1 1 # -*- coding: utf-8 -*- 2 2 3 from SeismicHandler.core.modules.Events import Event, EventManager3 from SeismicHandler.core.modules.Events import Message, MessageService 4 4 from SeismicHandler.core.modules.Trace import Traces 5 5 from SeismicHandler.core.modules.Variables import Symbol, System … … 65 65 def testAppend(self): 66 66 # Create two synthetic traces. 67 EventManager.block(Event(EventManager.REDRAW))68 Run("cresharp") 69 Run("cresharp") 70 EventManager.unblock(Event(EventManager.REDRAW))67 MessageService.block(Message(MessageService.REDRAW)) 68 Run("cresharp") 69 Run("cresharp") 70 MessageService.unblock(Message(MessageService.REDRAW)) 71 71 72 72 self.assertEqual(self.traces[0].length, 1000) … … 260 260 261 261 # Reload info entries. 262 EventManager.trigger(Event(EventManager.INFOIDXUPDATE))262 MessageService.trigger(Message(MessageService.INFOIDXUPDATE)) 263 263 264 264 # Create test trace and assign value to created info entry. … … 267 267 268 268 # Trace data has been altered. 269 EventManager.trigger(Event(EventManager.TRACEUPDATE))269 MessageService.trigger(Message(MessageService.TRACEUPDATE)) 270 270 271 271 self.assertEqual(self.traces.get(1).foo, "lala") … … 378 378 379 379 def testMend(self): 380 # This test fails in context to all other tests. Running stand alone, it will pass. 381 # It also passes, if next line is uncommented (strange, isn't it). 382 # XXX 383 # print len(self.traces) 380 384 Run("cresharp") 381 385 Run("mend 1 6 10 30") … … 494 498 495 499 # resample does not trigger redraw 496 EventManager.trigger(Event(EventManager.TRACEUPDATE))500 MessageService.trigger(Message(MessageService.TRACEUPDATE)) 497 501 498 502 self.assertAlmostEqual(self.traces[-1].delta, 0.01) … … 560 564 # the summed trace has *never* a length greater 100 seconds 561 565 562 EventManager.block(Event(EventManager.REDRAW))566 MessageService.block(Message(MessageService.REDRAW)) 563 567 564 568 # if you set seconds to 100 or lower, everything works fine … … 572 576 Run("sum all") 573 577 574 EventManager.unblock(Event(EventManager.REDRAW))578 MessageService.unblock(Message(MessageService.REDRAW)) 575 579 576 580 for trc in self.traces: -
SHX/trunk/src/SeismicHandler/tests/test_events.py
r139 r152 1 1 # -*- coding: utf-8 -*- 2 2 3 from SeismicHandler.core.modules.Events import Event, EventManager3 from SeismicHandler.core.modules.Events import Message, MessageService 4 4 import unittest 5 5 … … 8 8 self.ret = [] 9 9 10 self.test = Event("test")11 self.test2 = Event("test2")10 self.test = Message("test") 11 self.test2 = Message("test2") 12 12 13 EventManager.subscribe([self.test, self.test2], self.returnValue)13 MessageService.subscribe([self.test, self.test2], self.returnValue) 14 14 15 15 def returnValue(self, *c): … … 18 18 19 19 def testSubscribe(self): 20 self.assertTrue(self.test in EventManager.events)21 self.assertTrue(self.test2 in EventManager.events)20 self.assertTrue(self.test in MessageService.events) 21 self.assertTrue(self.test2 in MessageService.events) 22 22 23 23 def testTrigger(self): 24 EventManager.trigger(self.test, "one")25 EventManager.trigger(self.test2, "two")24 MessageService.trigger(self.test, "one") 25 MessageService.trigger(self.test2, "two") 26 26 27 27 self.assertEqual(self.ret, ["one", "two"]) 28 28 29 29 def testUnsubscribe(self): 30 EventManager.unsubscribe(self.returnValue, self.test)31 self.assertFalse(self.returnValue in EventManager.events[self.test])30 MessageService.unsubscribe(self.returnValue, self.test) 31 self.assertFalse(self.returnValue in MessageService.events[self.test]) 32 32 33 EventManager.trigger(self.test, "one2")34 EventManager.trigger(self.test2, "two2")33 MessageService.trigger(self.test, "one2") 34 MessageService.trigger(self.test2, "two2") 35 35 36 36 self.assertEqual(self.ret, ["two2",]) 37 37 38 38 def tearDown(self): 39 EventManager.unsubscribe(self.returnValue)39 MessageService.unsubscribe(self.returnValue) 40 40 41 41 def suite(): -
SHX/trunk/src/SeismicHandler/tests/test_traces.py
r151 r152 1 1 # -*- coding: utf-8 -*- 2 2 3 from SeismicHandler.core.modules.Events import Event, EventManager3 from SeismicHandler.core.modules.Events import Message, MessageService 4 4 from SeismicHandler.core.modules.Trace import Traces 5 5 from SeismicHandler.core.commands import Run … … 75 75 76 76 # trigger update trace info from lib 77 EventManager.trigger(Event(EventManager.REDRAW))77 MessageService.trigger(Message(MessageService.REDRAW)) 78 78 79 79 self.assertEqual(self.trace.alloc, 1000) … … 118 118 def testInfoEntriesPy(self): 119 119 # set values via python 120 EventManager.block(Event(EventManager.TRACEUPDATE))120 MessageService.block(Message(MessageService.TRACEUPDATE)) 121 121 self.trace.station = "FOOBAR" 122 122 self.trace.chan1 = "E" … … 125 125 self.trace.comment = "comment with blanks" 126 126 self.trace.zoom = 5 127 EventManager.unblock(Event(EventManager.TRACEUPDATE))127 MessageService.unblock(Message(MessageService.TRACEUPDATE)) 128 128 129 129 self.assertEqual(self.trace.alloc, 1000) … … 169 169 self.trace.chan1 = "E" 170 170 171 EventManager.trigger(Event(EventManager.REDRAW))171 MessageService.trigger(Message(MessageService.REDRAW)) 172 172 173 173 self.assertEqual(self.trace.chan1, "E")
Note: See TracChangeset
for help on using the changeset viewer.