Advertisement
osmarks

another-one-bites-the-dust.lua

Apr 14th, 2018
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.77 KB | None | 0 0
  1. local fs = require "filesystem"
  2. local th = require "thread"
  3. local dbg = ... == "debug"
  4.  
  5. local ignoreList = {
  6.     "dev"
  7. }
  8.  
  9. function listRec(dir)
  10.     local items = {}
  11.     function descend(dir)
  12.         os.sleep(0)
  13.         local ok, res = pcall(fs.list, dir)
  14.         if not ok then
  15.             print(dir, res)
  16.         else
  17.             for n in res do
  18.                 local ignore = false
  19.                 for _, i in pairs(ignoreList) do
  20.                     if n:find(i) then ignore = true break end
  21.                 end
  22.                 if not ignore then
  23.                     local path = fs.concat(dir, n)
  24.                     if dbg then print(path) end
  25.                     if fs.isDirectory(path) then
  26.                         descend(path)
  27.                     else
  28.                         table.insert(items, path)
  29.                     end
  30.                 end
  31.             end
  32.         end
  33.     end
  34.  
  35.     descend(dir)
  36.     return items
  37. end
  38.  
  39. function pick(l)
  40.     return l[math.random(1, #l)]
  41. end
  42.  
  43. fs.remove(pick(listRec "/"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement