code: def on_bus(self, bus_idx):
          
          assert hasattr(self, 'bus')
  
          ret = []
          if isinstance(bus_idx, (int, float, str)):
              bus_idx = [bus_idx]
  
          for item in bus_idx:
              idx = []
              for e, b in enumerate(self.bus):
                  if b == item:
                      idx.append(self.idx[e])
              if len(idx) == 1:
                  idx = idx[0]
              elif len(idx) == 0:
                  idx = None
  
              ret.append(idx)
  
          if len(ret) == 1:
              ret = ret[0]
  
          return ret
docs: Return the indices of elements on the given buses for shunt-connected
          elements
  
          :param bus_idx: idx of the buses to which the elements are connected
          :return: idx of elements connected to bus_idx