#!/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('')