diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-10-27 19:01:15 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-10-27 19:01:15 (GMT) |
commit | 12166aa342f7c8d905097e43a1f50e0775503069 (patch) | |
tree | 73a6e7296fbf9898633a02c2503a3e959789d8c3 /ds9/library/catvot.tcl | |
parent | d4d595fa7fb12903db9227d33d48b2b00120dbd1 (diff) | |
download | blt-12166aa342f7c8d905097e43a1f50e0775503069.zip blt-12166aa342f7c8d905097e43a1f50e0775503069.tar.gz blt-12166aa342f7c8d905097e43a1f50e0775503069.tar.bz2 |
Initial commit
Diffstat (limited to 'ds9/library/catvot.tcl')
-rw-r--r-- | ds9/library/catvot.tcl | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/ds9/library/catvot.tcl b/ds9/library/catvot.tcl new file mode 100644 index 0000000..ad040ef --- /dev/null +++ b/ds9/library/catvot.tcl @@ -0,0 +1,70 @@ +# Copyright (C) 1999-2016 +# Smithsonian Astrophysical Observatory, Cambridge, MA, USA +# For conditions of distribution and use, see copyright notice in "copyright" + +package provide DS9 1.0 + +# SAMP + +proc CATVOTURL {url catalog title} { + if {[string length $url] == 0} { + return + } + + ParseURL $url r + switch -- $r(scheme) { + ftp {CATVOTFTP $r(authority) $r(path)} + file {CATVOTFile $r(path)} + http - + default {CATVOTHTTP $url $catalog $title} + } +} + +proc CATVOTFTP {host path} { + global loadParam + global ds9 + global debug + + set ftp [ftp::Open $host "ftp" "-ds9@" -mode passive] + if {$ftp > -1} { + set fn [tmpnam [file extension $path]] + set ftp::VERBOSE $debug(tcl,ftp) + set "ftp::ftp${ftp}(Output)" FTPLog + ftp::Type $ftp binary + if {[ftp::Get $ftp $path $fn]} { + CATVOTFile $fn + } + + ftp::Close $ftp + + if {[file exists $fn]} { + catch {file delete -force $fn} + } + } +} + +proc CATVOTHTTP {url catalog title} { + global icat + + CATDialog catvot {} $catalog $title none + + set varname [lindex $icat(cats) end] + upvar #0 $varname var + global $varname + + set ${varname}(query) {} + set ${varname}(url) $url + set ${varname}(proc,parser) VOTParse + + CATLoad $varname +} + +proc CATVOTFile {fn} { + global icat + + CATDialog catvot {} {} {} none + if {$fn != {}} { + CATLoadFn [lindex $icat(cats) end] $fn VOTRead + } +} + |