#!/usr/bin/python
import sys, os, os.path, random

exts = ["jpg", "jpeg", "png", "gif"]
#set_prog = "feh --bg-scale"
#set_prog = "gconftool --type string --set /desktop/gnome/background/picture_filename"

def main():
	if len(sys.argv) != 3:
		print "USAGE: randwp.py set_prog wallpaper_dir"
		return 1
	set_prog, wp_dir = sys.argv[1:]
	files = rec_listdir(wp_dir)
	images = filter(lambda file: ext(file) in ["." + x for x in exts], files)
	chosen_one = random.choice(images)
	os.system(set_prog + " " + chosen_one)
	return 0

def rec_listdir(dir):
	list = []
	for item in os.listdir(dir):
		item_path = os.path.join(dir, item)
		if os.path.isdir(item_path):
			list = list + rec_listdir(item_path)
		else:
			list.append(item_path)
	return list

def ext(path):
	return os.path.splitext(path)[1]

if __name__ == "__main__":
	main()


