//
// D o w n l o a d F r o m R S t u d i o S e r v e r . s w i f t
// R S w i t c h
//
// C r e a t e d b y h r b r m s t r o n 8 / 2 4 / 1 9 .
// C o p y r i g h t © 2 0 1 9 B o b R u d i s . A l l r i g h t s r e s e r v e d .
//
import Foundation
import Cocoa
func download_from_studio_server ( fromRS : String , toFS : String ) {
let rsURL = URL ( string : fromRS ) !
let fsURL = URL ( string : toFS ) !
URLSession . shared . configuration . timeoutIntervalForRequest = 300.0
let task = URLSession . shared . downloadTask ( with : rsURL ) {
localURL , urlResponse , error in
if ( error != nil ) {
NSLog ( " Error exporting from RStudio Server; \( String ( describing : error ) ) " )
} else {
if let localURL = localURL {
if ( FileManager . default . fileExists ( atPath : fsURL . path ) ) {
do {
try FileManager . default . removeItem ( at : fsURL )
} catch {
NSLog ( " Error removing file during RStudio Server export; \( error ) " )
}
}
do {
try FileManager . default . moveItem ( at : localURL , to : fsURL )
NSWorkspace . shared . openFile ( fsURL . deletingLastPathComponent ( ) . absoluteString , withApplication : " Finder " )
NSWorkspace . shared . activateFileViewerSelecting ( [ fsURL ] )
} catch {
NSLog ( " Error moving RStudio Server export file; \( error ) " )
}
}
}
}
task . resume ( )
}