Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import json
- import urllib2
- import sys
- dirs = [
- 'levels/doom/0-9/',
- 'levels/doom/a-c/',
- 'levels/doom/d-f/',
- 'levels/doom/g-i/',
- 'levels/doom/j-l/',
- 'levels/doom/m-o/',
- 'levels/doom/megawads/',
- 'levels/doom/p-r/',
- 'levels/doom/s-u/',
- 'levels/doom/v-z/',
- 'levels/doom/Ports/0-9/',
- 'levels/doom/Ports/a-c/',
- 'levels/doom/Ports/d-f/',
- 'levels/doom/Ports/g-i/',
- 'levels/doom/Ports/j-l/',
- 'levels/doom/Ports/m-o/',
- 'levels/doom/Ports/megawads/',
- 'levels/doom/Ports/p-r/',
- 'levels/doom/Ports/s-u/',
- 'levels/doom/Ports/v-z/',
- 'levels/doom2/0-9/',
- 'levels/doom2/a-c/',
- 'levels/doom2/d-f/',
- 'levels/doom2/g-i/',
- 'levels/doom2/j-l/',
- 'levels/doom2/m-o/',
- 'levels/doom2/megawads/',
- 'levels/doom2/p-r/',
- 'levels/doom2/s-u/',
- 'levels/doom2/v-z/',
- 'levels/doom2/Ports/0-9/',
- 'levels/doom2/Ports/a-c/',
- 'levels/doom2/Ports/d-f/',
- 'levels/doom2/Ports/g-i/',
- 'levels/doom2/Ports/j-l/',
- 'levels/doom2/Ports/m-o/',
- 'levels/doom2/Ports/megawads/',
- 'levels/doom2/Ports/p-r/',
- 'levels/doom2/Ports/s-u/',
- 'levels/doom2/Ports/v-z/',
- 'levels/hacx/',
- 'levels/heretic/0-9/',
- 'levels/heretic/a-c/',
- 'levels/heretic/d-f/',
- 'levels/heretic/g-i/',
- 'levels/heretic/j-l/',
- 'levels/heretic/m-o/',
- 'levels/heretic/p-r/',
- 'levels/heretic/Ports/',
- 'levels/heretic/s-u/',
- 'levels/heretic/v-z/',
- 'levels/hexen/0-9/',
- 'levels/hexen/a-c/',
- 'levels/hexen/d-f/',
- 'levels/hexen/g-i/',
- 'levels/hexen/j-l/',
- 'levels/hexen/m-o/',
- 'levels/hexen/p-r/',
- 'levels/hexen/s-u/',
- 'levels/hexen/v-z/',
- 'levels/strife/',
- 'themes/aliens/',
- 'themes/aod/',
- 'themes/apt/',
- 'themes/barney/',
- 'themes/batman/',
- 'themes/chook/',
- 'themes/DAC/dac2005/',
- 'themes/drwho/',
- 'themes/hacx/',
- 'themes/hr/',
- 'themes/marines/',
- 'themes/mm/',
- 'themes/omf/',
- 'themes/pacman/',
- 'themes/simpsons/',
- 'themes/sonic/',
- 'themes/startrek/',
- 'themes/starwars/',
- 'themes/tab/',
- 'themes/TeamTNT/bloodlands/',
- 'themes/TeamTNT/boom/',
- 'themes/TeamTNT/daedalus/',
- 'themes/TeamTNT/doom2000/',
- 'themes/TeamTNT/ed4_rfo/',
- 'themes/TeamTNT/eternal/',
- 'themes/TeamTNT/finaldoom/',
- 'themes/TeamTNT/grievance/',
- 'themes/TeamTNT/icarus/',
- 'themes/TeamTNT/pursuit/',
- 'themes/TeamTNT/reclamation/',
- 'themes/TeamTNT/return/',
- 'themes/twc/',
- 'themes/university/',
- 'themes/wolf3d/',
- 'themes/wtf/',
- 'themes/xmas/'
- ]
- def get_url(path):
- return 'http://www.doomworld.com/idgames/api/api.php?action=getfiles&name=' + path + '&out=json'
- def get_json(url):
- sys.stderr.write(url + '\n')
- s = urllib2.urlopen(url)
- return json.loads(s.read())
- total_files = []
- for path in dirs:
- j = get_json(get_url(path))
- files = j['content']['file']
- if isinstance(files, dict): # Doomworld API turns single-item arrays into simple items
- files = [files]
- total_files += files
- total_files.sort(key=lambda x: -x['votes'])
- for file in total_files:
- print file['id'], file['dir'] + file['filename'], file['rating']
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement