code: def append_hdus(hdulist, srcmap_file, source_names, hpx_order):
          
          sys.stdout.write("  Extracting %i sources from %s" % (len(source_names), srcmap_file))
          try:
              hdulist_in = fits.open(srcmap_file)
          except IOError:
              try:
                  hdulist_in = fits.open('%s.gz' % srcmap_file)
              except IOError:
                  sys.stdout.write("  Missing file %s\n" % srcmap_file)
                  return
  
          for source_name in source_names:
              sys.stdout.write('.')
              sys.stdout.flush()
              if hpx_order is None:
                  hdulist.append(hdulist_in[source_name])
              else:
                  try:
                      hpxmap = HpxMap.create_from_hdulist(hdulist_in, hdu=source_name)
                  except IndexError:
                      print("  Index error on source %s in file %s" % (source_name, srcmap_file))
                      continue
                  except KeyError:
                      print("  Key error on source %s in file %s" % (source_name, srcmap_file))
                      continue
                  hpxmap_out = hpxmap.ud_grade(hpx_order, preserve_counts=True)
                  hdulist.append(hpxmap_out.create_image_hdu(name=source_name))
          sys.stdout.write("\n")
          hdulist.flush()
          hdulist_in.close()
docs: Append HEALPix maps to a list
  
          Parameters
          ----------
  
          hdulist : list
              The list being appended to
          srcmap_file : str
              Path to the file containing the HDUs
          source_names : list of str
              Names of the sources to extract from srcmap_file
          hpx_order : int
              Maximum order for maps