S029 ftps - Download a file throught FTPS
#################################;
# Download a file throught FTPS #;
#################################;
#Create a script to download;
script create post "demo.file.ftps.download" false 1
(param
(var "[remoteDirectory]" {true} "The remote directory" is_null:false is_empty:false "/Users/jimmitry/Desktop")
(var "[filter]" {true} "The file filter from the remote directory" is_null:false is_empty:false ".*png")
(var "[localDirectory]" {true} "The local directory" is_null:false is_empty:false "/Users/jimmitry/Desktop/ftp")
;)
"Download file through FTPS"
{
try {
#Connect to the FTPS server;
ftps connect "session1" {cm get "demo_cm_ftps";};
ftps set type "session1" "BINARY";
#Move to the remote directory;
ftps cd "session1" [remoteDirectory];
#Get all remote files;
json load "files" (ftps ls "session1" [filter]);
#Get all files;
-> "[nbFiles]" (json count "files" "/");
for (-> "[i]" 0) (< [i] [nbFiles]) (++ "[i]") {
-> "[filename]" (json select "files" (concat "/[" [i] "]/name"));
ftps get "session1" [filename] (concat [localDirectory] "/" [filename]);
};
#Disconnect the session;
ftps disconnect "session1";
} {
#Close objects;
try {ftps disconnect "session1";} {} "[sub_err]";
#Generate an error;
exception (1) ([err]);
} "[err]";
} "Return nothing";
#Execute the script;
execute "demo.file.ftps.download.post"
"[remoteDirectory]" "/Users/jimmitry/Desktop"
"[filter]" ".*png"
"[localDirectory]" "/Users/jimmitry/Desktop/ftp"
;