diff options
Diffstat (limited to 'levels/borgar.net/get-levels.rb')
-rw-r--r-- | levels/borgar.net/get-levels.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/levels/borgar.net/get-levels.rb b/levels/borgar.net/get-levels.rb new file mode 100644 index 0000000..b059cf6 --- /dev/null +++ b/levels/borgar.net/get-levels.rb @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +require 'open-uri' + +HOME_URL = 'http://borgar.net/programs/sokoban/' +BASE_URL = 'http://borgar.net/programs/sokoban/levels' + +# read HTML, extract level sets +open(HOME_URL).read.scan(/<option value="([^"]+)"/).flatten.each do |name| + # build source url and destination file name + src_url = '%s/%s.txt' % [BASE_URL, name.gsub(/ /, '%20')] + dst_path = '%s.txt' % [name] + + # read url, write to path + puts dst_path + File.write(dst_path, open(src_url).read) +end |