Guest User

Untitled

a guest
Oct 21st, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. var response = '', // FTP LIST response as a string
  2. lines = response.trim().split("\r\n"),
  3. parsed = [],
  4. regexp = new RegExp(
  5. '^([\\-dbclps])' + // Directory flag [1]
  6. '([\\-rwxs]{9})\\s+' + // Permissions [2]
  7. '(\\d+)\\s+' + // Number of items [3]
  8. '(\\w+)\\s+' + // File owner [4]
  9. '(\\w+)\\s+' + // File group [5]
  10. '(\\d+)\\s+' + // File size in bytes [6]
  11. '(\\w{3}\\s+\\d{1,2}\\s+' + // 3-char month and 1/2-char day of the month [7]
  12. '(?:\\d{1,2}:\\d{1,2}|\\d{4}))' + // Time or year (need to check conditions) [+= 7]
  13. '\\s+(.+)$' // File/directory name [8]
  14. );
  15.  
  16. // Add each parsed line to the parsed array
  17. for(var line in lines){
  18. var parsedLine = regexp.exec(lines[line]);
  19. if(parsedLine === null) {
  20. continue; // Skip if no match
  21. } else {
  22. parsed[line] = {
  23. type: parsedLine[1],
  24. perms: parsedLine[2],
  25. items: parsedLine[3],
  26. owner: parsedLine[4],
  27. group: parsedLine[5],
  28. size: parsedLine[6],
  29. date: parsedLine[7],
  30. file: parsedLine[8],
  31. };
  32. }
  33. }
  34.  
  35. alert(JSON.stringify(parsed));
Add Comment
Please, Sign In to add comment