code: def open_uris(self, uris, chname=None, bulk_add=False):
          
          if len(uris) == 0:
              return
  
          if chname is None:
              channel = self.get_channel_info()
              if channel is None:
                  # No active channel to load these into
                  return
              chname = channel.name
          channel = self.get_channel_on_demand(chname)
  
          def show_dataobj_bulk(data_obj):
              self.gui_do(channel.add_image, data_obj, bulk_add=True)
  
          def load_file_bulk(filepath):
              self.nongui_do(self.open_file_cont, filepath, show_dataobj_bulk)
  
          def show_dataobj(data_obj):
              self.gui_do(channel.add_image, data_obj, bulk_add=False)
  
          def load_file(filepath):
              self.nongui_do(self.open_file_cont, filepath, show_dataobj)
  
          # determine whether first file is loaded as a bulk load
          if bulk_add:
              self.open_uri_cont(uris[0], load_file_bulk)
          else:
              self.open_uri_cont(uris[0], load_file)
          self.update_pending()
  
          for uri in uris[1:]:
              # rest of files are all loaded using bulk load
              self.open_uri_cont(uri, load_file_bulk)
              self.update_pending()
docs: Open a set of URIs.
  
          Parameters
          ----------
          uris : list of str
              The URIs of the files to load
  
          chname: str, optional (defaults to channel with focus)
              The name of the channel in which to load the items
  
          bulk_add : bool, optional (defaults to False)
              If True, then all the data items are loaded into the
              channel without disturbing the current item there.
              If False, then the first item loaded will be displayed
              and the rest of the items will be loaded as bulk.