#!/usr/bin/python import os import random from sys import argv mypath = argv[0] def ext_resolver(filename): ext = filename.split('.')[-1] ext = ext.lower() ext_list = {'nes':'tuxnes -E --js1=/dev/input/js0 --joystick-map=1:B2,B1,B9,B8,,,,,B3', 'smc':'zsnes -m -v 18 -y', 'gba':'VisualBoyAdvance', 'bin':'dgen -f -j', 'ogm':'mplayer -fs', 'avi':'mplayer -fs', 'mkv':'mplayer -fs', 'py' :'emacs', 'png':'mirage', 'jpg':'mirage', 'bmp':'mirage', 'gif':'mirage'} if ext in ext_list: return ext_list[ext] else: return 'echo' def dir_list(dircontent): dirs = [] files = [] for item in dircontent: if os.path.isdir(currentpath + '/' + item): dirs.append(item) else: files.append(item) dirs.sort() files.sort() return dirs, files def replacer(string): return string.replace('&', '&').replace('<', '<').replace('>', '>').replace('"', '"').replace("'", ''') def gen_menu(dirs, files): curpath = replacer(currentpath) print('') print('thunar "' + curpath + '"') print('sh -c "cd ' + curpath + ' && urxvt "') print('') for thisdir in dirs: thisdir = replacer(thisdir) menuid = str(random.randrange(1,99,1)).zfill(2) print(' ') for thisfile in files: thisfile = replacer(thisfile) print(' ') print(' ') print(' ') print(' ' + ext_resolver(thisfile) + ' "' + curpath + '/' + thisfile + '"') print(' ') print(' ') print(' ') print('') if len(argv) > 1: currentpath = ' '.join(argv[1:]) else: currentpath = "/" try: content = [x for x in os.listdir(currentpath) if x[0] != '.'] parts = dir_list(content) gen_menu(parts[0], parts[1]) except OSError: print('') print('') print('')