pro egso_retrieve_filelist, qz, outdir=outdir, compact=compact

;    compact all to current directory, or form tree??

root = 'kkkk2'
if keyword_set(outdir) then root=concat_dir(outdir,root)

;
;    create output tree unless told not to do so

if not keyword_set(compact) then begin

  topdirs = strlowcase(all_vals(qz.observatory))                        
  subdirs = strlowcase(all_vals(qz.observatory+'/'+qz.instrument)) 

  print,'* Creating Directory Tree in: '+root
  if not is_dir(root) then mk_dir,root
  if not is_dir(root) then begin
    help, outdir, root
    message,'Problem with root outdir: '+root
    return
    endif

  for j=0,n_elements(topdirs)-1 do mk_dir,root+'/'+topdirs(j)    
  for j=0,n_elements(subdirs)-1 do mk_dir,root+'/'+subdirs(j)

  endif

yesnox,'Do you want to proceed with the copy: ',okgo
if not okgo then return

;=====================================================================================

;    okay, get the data...
host = get_logenv('HOST') 	;& host='msslmq'
if strpos(host,'mssl') ge 0 then doftp=0  else doftp=1

nrec = n_elements(qz)
maxcopy = 10  ;nrec/10      ;???????????
kount = 0

httpconnect = obj_new( 'http' )

for j=0,nrec-1 do begin
  url = qz(j).link
  print,'Get: ',url

  outname = root+'/'+qz(j).filename
  if not keyword_set(compact) then $
    outname = root+'/'+strlowcase(qz(j).observatory+'/'+qz(j).instrument)+'/'+qz(j).filename
;  print,'Write: ',outname, j

  isftp=0  &  if strpos(url,'ftp') ge 0 then isftp=1
;  ishttp=0  &  if strpos(inname,'http') ge 0 then ishttp=1

  if kount lt maxcopy then begin
    if isftp and not doftp then begin
      print,'>>>> Skipping FTP', j

      endif else begin
      httpconnect->copy, url, outname
      kount = kount+1
      print,'Write: ',outname, j, kount

      endelse

    endif

goto, skip
  case 1 of
    isftp: begin
      if doftp then begin
        print,'** FTP file'
;??
        kount = kount+1
        endif else print,'>>>> Skipping FTP'
      end
    ishttp: begin
      print,'** HTTP file'
      httpconnect->copy, url, outname

      kount = kount+1
      end
    else: print,'NOT Valid'
    endcase
skip:

  endfor

end
