Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. func execute(sudoCommands: String) -> String {
  2. return(execute(command: "osascript -e "do shell script \"" + sudoCommands + "\" with administrator privileges""))
  3. }
  4.  
  5. func execute(command: String) -> String {
  6. var arguments:[String] = []
  7. arguments.append("-c")
  8. arguments.append( command )
  9.  
  10. let task = Process()
  11. task.launchPath = "/bin/sh"
  12. task.arguments = arguments
  13.  
  14. let pipe = Pipe()
  15. task.standardOutput = pipe
  16. task.standardError = pipe
  17. task.launch()
  18. task.waitUntilExit()
  19. let data = pipe.fileHandleForReading.readDataToEndOfFile()
  20.  
  21. return(NSString(data: data, encoding: String.Encoding.utf8.rawValue) as! String)
  22. }
  23.  
  24. func getSize(path: String, asRoot: Bool = false) -> String {
  25.  
  26. var result: String!
  27.  
  28. if(asRoot){
  29. result = execute(sudoCommands: "sudo du -shm " + path)
  30. } else {
  31. result = execute(command: "du -shm " + path)
  32. }
  33.  
  34. var sizesMB = 0
  35. for dirResult in result.components(separatedBy: "n") where dirResult != "" {
  36. let currentDirSize = dirResult.components(separatedBy: "t")[0]
  37. sizesMB = sizesMB + Int(currentDirSize)!
  38. }
  39.  
  40. return( "(sizesMB) MB")
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement