Esempio n. 1
0
    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)
Esempio n. 2
0
File: db.py Progetto: mflorin/ir
    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)
Esempio n. 3
0
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()))
Esempio n. 4
0
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()
Esempio n. 5
0
    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()
Esempio n. 6
0
File: server.py Progetto: mflorin/ir
    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')
Esempio n. 7
0
    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
Esempio n. 8
0
File: module.py Progetto: mflorin/ir
 def init():
     Module.loadConfig()
     Module.loadModules()
     Module.startAllModules()
     Event.register('core.reload', Module.reloadEvent)
Esempio n. 9
0
File: logger.py Progetto: mflorin/ir
 def init():
     Logger.logger = logging.getLogger(config.Config.APP_NAME)
     Logger.setup()
     Event.register('core.reload', Logger.reloadEvent)