1 package require TclCurl
3 proc FtpMatch {pattern filename} {
5 puts "Pattern: $pattern - File: $filename"
7 # For this example everything matches
11 proc FtpCheck {remains} {
14 # Lets forget about directories:
15 if {($someVar(filetype) eq "directory") || ([regexp {^\.} $someVar(filename)])} {
19 puts -nonewline "File to download $someVar(filename) ($someVar(size)B) (y/N): "
21 set line [string tolower [gets stdin]]
28 proc FtpSaveFile {readData} {
34 if {![file exists downloads]} {
37 set outFile [open "downloads/$someVar(filename)" w+]
38 fconfigure $outFile -translation binary
41 puts -nonewline $outFile $readData
59 set curlHandle [curl::init]
61 $curlHandle configure -url ftp://sunsite.rediris.es/sites/metalab.unc.edu/ldp/*
62 $curlHandle configure -chunkbgnproc FtpCheck
63 $curlHandle configure -chunkbgnvar someVar
64 $curlHandle configure -chunkendproc FtpDone
65 $curlHandle configure -writeproc FtpSaveFile
66 $curlHandle configure -wildcardmatch 1
67 $curlHandle configure -fnmatchproc FtpMatch