docs: def get_attribute_data(attr_ids, node_ids, **kwargs):
      """
          For a given attribute or set of attributes, return  all the resources and
          resource scenarios in the network
      """
      node_attrs = db.DBSession.query(ResourceAttr).\
                                              options(joinedload_all('attr')).\
                                              filter(ResourceAttr.node_id.in_(node_ids),
                                              ResourceAttr.attr_id.in_(attr_ids)).all()
  
      ra_ids = []
      for ra in node_attrs:
          ra_ids.append(ra.id)
  
  
      resource_scenarios = db.DBSession.query(ResourceScenario).filter(ResourceScenario.resource_attr_id.in_(ra_ids)).options(joinedload('resourceattr')).options(joinedload_all('dataset.metadata')).order_by(ResourceScenario.scenario_id).all()
  
  
      for rs in resource_scenarios:
         if rs.dataset.hidden == 'Y':
             try:
                  rs.dataset.check_read_permission(kwargs.get('user_id'))
             except:
                 rs.dataset.value      = None
         db.DBSession.expunge(rs)
  
      return node_attrs, resource_scenarios