def init(): commands = { 'product.add': {'handler': Product.productAddCmd, 'args':2, 'help':'productAdd sku stock'}, 'product.info': {'handler': Product.productInfoCmd, 'args':1, 'help':'productInfo sku'}, 'reservation.add': {'handler': Product.reservationAddCmd, 'args':3, 'help':'reservationAdd client_id sku qty'}, 'reservation.del': {'handler': Product.reservationDelCmd, 'args':3, 'help':'reservationDel client_id sku qty'}, 'reservation.set': {'handler': Product.reservationSetCmd, 'args':3, 'help':'reservationSet client_id sku qty'}, 'stock.set': {'handler': Product.stockSetCmd, 'args':2, 'help':'stockSet sku stock'}, 'stock.dec': {'handler': Product.stockDecCmd, 'args':2, 'help':'stockDec sku qty'}, 'stock.get': {'handler': Product.stockGetCmd, 'args':1, 'help':'stockGet sku'}, 'product.total': {'handler': Product.totalCmd, 'args':0, 'help':'status'} } for c in commands: Command.register( commands[c]['handler'], c, commands[c]['args'], commands[c]['help'] ) Event.register('db.save', Product.saveDb) Event.register('db.load', Product.loadDb)
def init(self): # config options self.config = {} self.loadConfig() self.running = False # initialize the event object used for sleeping self.event = threading.Event() if self.config['persistence'] and os.path.exists(self.config['file_name']): try: Logger.info('loading database from %s' % self.config['file_name']) self.load() except Exception as e: Logger.critical(str(e)) self.setup() # register our 'save' commands Command.register(self.saveCmd, 'db.save', 0, 'db.save') # treat events Event.register('core.reload', self.reloadEvent) Event.register('core.shutdown', self.shutdownEvent)
class TestEvent(unittest.TestCase): def setUp(self): self._event = Event('temperature.high') def test_add_handler(self): self._event.add_handler(handler_temperature_event1) self.assertEqual(handler_temperature_event1, self._event.get_handlers()[id(handler_temperature_event1)]) def test_remove_handler(self): self._event.add_handler(handler_temperature_event1) self._event.remove_handler(handler_temperature_event1) self.assertEqual({}, self._event.get_handlers()) def test_count_handlers(self): self._event.add_handler(handler_temperature_event1) self._event.add_handler(handler_temperature_event1) self._event.add_handler(handler_temperature_event2) self._event.add_handler(handler_temperature_event2) self.assertEqual(2, len(self._event.get_handlers())) def test_count_notified(self): self._event.add_handler(handler_temperature_event1) self._event.add_handler(handler_temperature_event2) self.assertEqual(2, self._event.register('payload')) def test_clear_handlers(self): self._event.add_handler(handler_temperature_event1) self._event.add_handler(handler_temperature_event2) self._event.clear_handlers() self.assertEqual(0, len(self._event.get_handlers()))
class Game(): def __init__(self): self.graphics = Graphics() self.character = Character(Point(400, 300)) self.graphics.register(self.character) self.event = Event() self.event.register(self.character.handler) def process_input(self): self.event.process_input() def update(self): self.character.update() def render(self): self.graphics.render()
def __init__(self): self.running = False # configuration self.config = {} self.loadConfig() # event object used for sleeping self.event = threading.Event() Event.register('core.reload', self.reloadEvent) Event.register('core.shutdown', self.shutdownEvent) super(Expiration, self).__init__() self.start()
def __init__(self): self.config = {} # load configuration options self.loadConfig() self.running = True self.connections = {} # initialize the epoll object self.epoll = select.epoll() # workers manager self.manager = Manager(self) self.manager.start() Event.register('core.reload', self.reloadEvent) Command.register(self.shutdownCmd, 'core.shutdown', 0, 'core.shutdown')
def __init__(self, server): super(Manager, self).__init__() # list of workers self.workers = [] # mutex for the list of workers self.workersLock = threading.RLock() # condition variable self.event = threading.Event() # flag indicating that we're still running self.running = False # manager config self.config = {} self.loadConfig() # available idle threads self.idleWorkers = Queue.Queue() # read buffer to collect data from sockets # and split it later by \n and feed it to workers # when a \n is met # fd -> buffer self.readBuffer = {} # register commands Command.register(self.workersCmd, 'core.workers', 0) # register for the core.reload event Event.register('core.reload', self.reloadEvent) # server instance self.server = server
def init(): Module.loadConfig() Module.loadModules() Module.startAllModules() Event.register('core.reload', Module.reloadEvent)
def init(): Logger.logger = logging.getLogger(config.Config.APP_NAME) Logger.setup() Event.register('core.reload', Logger.reloadEvent)