function cdrom_files, t0, t1, weeks=weeks, directories=directories, $ day=day, mag_disk=mag_disk, dir_command=dir_command, $ jb_name=jb_name, jb_directory=jb_directory, $ sfd=sfd, flare=flare, _extra=_extra, debug=debug, refresh=refresh common cdrom_files_blk, cddir common cdrom_files_blk2, jbenvc if n_params() eq 1 and n_elements(day) eq 0 then $ day=gt_day(t0,/string) if data_chk(_extra,/struct) then $ pre=strlowcase(tag_names(_extra)) else pre='' refresh=keyword_set(refresh) if n_elements(jbenvc) eq 0 then jbenvc='' jbenv=(get_logenv('jb_name'))(0) case 1 of data_chk(jb_name,/string): jb_command='showmount -e ' + $ str_replace(strlowcase(strcompress(jb_name)),'showmount -e','') data_chk(jb_command,/string): jbenv ne '': begin if jbenvc ne jbenv then begin box_message,'Using JukeBox environmental: ' + jbenv(0) jbenvc = jbenv endif jbarr=str2arr(jbenv,' ') if n_elements(jbarr) gt 1 then jb_command=jbenv else $ jb_command='showmount -e ' + jbenv(0) endcase else: jb_command='showmount -e solserv' ; default cmd/name endcase case 1 of data_chk(mag_disk,/string): begin cddir=file_list(mag_disk,'??_??a',/quiet) if cddir(0) eq '' then cddir=file_list(mag_disk,'????_??') endcase n_elements(mag_disk) eq 1: begin cddir=file_list('$DIR_SITE_ONLINE_WEEKS','??_??a') if cddir(0) eq '' then cddir=file_list('$DIR_SITE_ONLINE_WEEKS','????_??') endcase refresh or (n_elements(cddir) eq 0):begin jb_command=strtrim(jb_command,2) if strpos(jb_command,'showmount') ne -1 then begin smdirs=str2arr('/usr/sbin,/bin,/usr/local/bin') smpath=concat_dir(smdirs,'showmount') chk=where(file_exist(smpath),smcnt) if smcnt gt 0 then jb_command=str_replace(jb_command,'showmount',$ smpath(chk(0))) endif spawn,str2arr(jb_command,' '),/noshell,cddir ; directory (multi colum?) cols=str2cols(cddir,' ') ; 1D->2D strtab2vect,cols,cddir ; 2D->1D endcase else: endcase debug=keyword_set(debug) break_file,cddir,ll,pp,ff,vv,ee dirs=cddir ;if keyword_set(mag_disk) then dirs=cddir $ ; else dirs=strsplit(cddir,/head) if keyword_set(day) then weeks=anytim2weekinfo(day,/year2) case 1 of keyword_set(sfd): fss=wc_where(dirs,'*/sfd*',sscnt) keyword_set(flare): fss=wc_where(dirs,'*/fdat*',sscnt) keyword_set(weeks): begin fss=-1 for i=0,n_elements(weeks)-1 do begin if keyword_set(mag_disk) then $ fss=[fss,where(strpos(cddir,weeks(i)) ne -1)] else $ fss=[fss,wc_where(dirs,'*/'+weeks(i)+'*')] chk=where(fss ne -1, sscnt) if sscnt gt 0 then fss=fss(chk) else $ box_message,'Week ' + weeks(i) + ' not '+ $ (['in CD Jukebox',' online '])(keyword_set(mag_disk)) endfor endcase else: begin fss=lindgen(n_elements(dirs)) sscnt=n_elements(dirs) endcase endcase if debug then stop if sscnt eq 0 then begin box_message,'No files found ...' return,-1 endif dirs=dirs(fss) if keyword_set(directories) then retval=dirs else $ retval=file_list(dirs,pre+'*',/cd) if retval(0) eq '' then begin ndir=concat_dir(dirs,weeks+'A') if file_exist(ndir) then begin ; nested box_message,'Nested directory....' dirs=ndir retval=file_list(dirs,pre+'*',/cd) endif endif if n_params() eq 2 then begin times=file2time(retval,out_sty='ints') ss=sel_timrange(times,t0,t1,/betw) if ss(0) ne -1 then retval=retval(ss) else retval='' endif if keyword_set(day) then begin fid=time2file(day,delim='.',/year2,/date_only) ss=where(strpos(retval,fid(0)) ne -1, sscnt) if sscnt gt 0 then retval=retval(ss) else retval='' endif if debug then stop return,retval end