Exemple #1
0
    def handle(self, *args, **kwargs):
        
        params = _get_params(kwargs.get('payload'), ['id', 'cluster_id'], 'data.')
        
        with closing(self.server.odb.session()) as session:

            db_item = service(session, params['cluster_id'], params['id'])
            
            item = Element('item')
            item.id = db_item.id
            item.name = db_item.name
            item.is_active = db_item.is_active
            item.impl_name = db_item.impl_name
            item.is_internal = db_item.is_internal
            item.usage_count = 'TODO getbyid'
    
            return ZATO_OK, etree.tostring(item)
Exemple #2
0
 def handle(self, *args, **kwargs):
     
     params = _get_params(kwargs.get('payload'), ['cluster_id'], 'data.')
     
     with closing(self.server.odb.session()) as session:
         item_list = Element('item_list')
         db_items = service_list(session, params['cluster_id'])
         
         for db_item in db_items:
 
             item = Element('item')
             item.id = db_item.id
             item.name = db_item.name
             item.is_active = db_item.is_active
             item.impl_name = db_item.impl_name
             item.is_internal = db_item.is_internal
             item.usage_count = 'TODO getlist'
 
             item_list.append(item)
 
         return ZATO_OK, etree.tostring(item_list)
Exemple #3
0
 def handle(self, *args, **kwargs):
     
     with closing(self.server.odb.session()) as session:
         payload = kwargs.get('payload')
         request_params = ['id', 'is_active', 'name']
         
         params = _get_params(payload, request_params, 'data.')
         id = int(params['id'])
         is_active = is_boolean(params['is_active'])
         name = params['name']
         
         service_elem = Element('service')
         
         try:
             
             service = session.query(Service).filter_by(id=id).one()
             service.is_active = is_active
             service.name = name
             
             session.add(service)
             session.commit()
             
             service_elem.id = service.id
             service_elem.name = service.name
             service_elem.impl_name = service.impl_name
             service_elem.is_internal = service.is_internal
             service_elem.usage_count = 'TODO edit'
             
             params['action'] = SERVICE.EDIT
             self.broker_client.send_json(params, msg_type=MESSAGE_TYPE.TO_PARALLEL_SUB)
             
             return ZATO_OK, etree.tostring(service_elem)
             
         except Exception, e:
             msg = 'Could not update the service, e=[{e}]'.format(e=format_exc(e))
             self.logger.error(msg)
             session.rollback()
             
             raise