Advertisement
throwawayrobot

eval.lua

Feb 26th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.82 KB | None | 0 0
  1. function string:eval(...) return load(self)(...) end
  2. function string:between(from, to)
  3.   local head, head_end = self:find(from, 0, true)
  4.   local tail, tail_end = self:find(to, head_end, true)
  5.   return self:sub(head_end, tail)
  6. end
  7. function string:lines(eol) return self:gmatch('[^'..eol or '\r\n'..']+') end
  8. function string:itemize(pattern) return self:gmatch('[%.]*'.. pattern ..'[%.]*') end
  9.  
  10. local pastebin = {
  11.   user_index = function (html)
  12.     local user_index = {}
  13.    
  14.     for line in html:between('<table class="maintable">', '</table>'):lines() do
  15.       for id, name in line:itemize('<a href="/(%w+)">(%g+)</a>') do
  16.        
  17.         user_index[id] = name
  18.       end
  19.     end
  20.    
  21.     return pairs(user_index)
  22.   end
  23. }
  24.  
  25. local vArgs = {...}
  26. (vArgs[1] or "print('usage: <code> [params]')"):eval(table.unpack(vArgs,2))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement