def menu(password): from functools import partial from termenu.app import AppMenu import requests def make_action((params, callback)): def action(): assert len(params)<=3 url = URL.format(*params[:2], PASSWORD=password) if len(params) > 2: url += "&p=%" + params[2] print url, "->", ret = requests.get(url) print ret, "->", if callback: print "..." return callback(ret.content) else: print repr(ret.content) return action def convert(d, typ, parents=[]): if isinstance(d, dict): for (k, v) in d.iteritems(): for item in convert(v, make_action, parents=parents+[k]): yield item else: yield " - ".join(parents), typ(d) actions = sorted(convert(COMMANDS, make_action)) AppMenu.show_menu("GoPro", actions)
def there(): ret = AppMenu.show("Where's there?", "Spain France Albania".split() + [("Quit", AppMenu.quit)], multiselect=True, back_on_abort=True) print(ret) return ret
def go(): def back(): print("Going back.") AppMenu.back() def there(): ret = AppMenu.show("Where's there?", "Spain France Albania".split() + [("Quit", AppMenu.quit)], multiselect=True, back_on_abort=True) print(ret) return ret return AppMenu.show("Go Where?", [("YELLOW<<Back>>", back), ("GREEN<<There>>", there)])
def go(): def back(): print("Going back.") AppMenu.back() def there(): ret = AppMenu.show("Where's there?", "Spain France Albania".split() + [("Quit", AppMenu.quit)], multiselect=True, back_on_abort=True) print(ret) return ret return AppMenu.show("Go Where?", [ ("YELLOW<<Back>>", back), ("GREEN<<There>>", there) ])
def leave(): print("Leave...") AppMenu.quit()
def back(): print("Going back.") AppMenu.back()
import time from termenu.app import AppMenu def leave(): print("Leave...") AppMenu.quit() def go(): def back(): print("Going back.") AppMenu.back() def there(): ret = AppMenu.show("Where's there?", "Spain France Albania".split() + [("Quit", AppMenu.quit)], multiselect=True, back_on_abort=True) print(ret) return ret return AppMenu.show("Go Where?", [("YELLOW<<Back>>", back), ("GREEN<<There>>", there)]) if __name__ == "__main__": AppMenu.show("Make your MAGENTA<<decision>>", [("RED<<Leave>>", leave), ("BLUE<<Go>>", go)])
import time from termenu.app import AppMenu def leave(): print("Leave...") AppMenu.quit() def go(): def back(): print("Going back.") AppMenu.back() def there(): ret = AppMenu.show("Where's there?", "Spain France Albania".split() + [("Quit", AppMenu.quit)], multiselect=True, back_on_abort=True) print(ret) return ret return AppMenu.show("Go Where?", [ ("YELLOW<<Back>>", back), ("GREEN<<There>>", there) ]) if __name__ == "__main__": AppMenu.show("Make your MAGENTA<<decision>>", [ ("RED<<Leave>>", leave), ("BLUE<<Go>>", go) ])