diff options
Diffstat (limited to 'run.py')
-rwxr-xr-x | run.py | 21 |
1 files changed, 15 insertions, 6 deletions
@@ -1,6 +1,7 @@ #!/usr/bin/python3 import base +import urllib.error import argparse @@ -21,14 +22,17 @@ backends = PluginManager() backends.setPluginPlaces(["./backends"]) backends.collectPlugins() ## Load frontends (not yet implemented) -# from yapsy.PluginManager import PluginManager -# frontends = PluginManager() -# frontends.setPluginPlaces(["./frontends"]) -# frontends.collectPlugins() +from yapsy.PluginManager import PluginManager +frontends = PluginManager() +frontends.setPluginPlaces(["./frontends"]) +frontends.collectPlugins() for pluginInfo in backends.getAllPlugins(): backends.activatePluginByName(pluginInfo.name) pluginInfo.plugin_object.register_restaurants() +for pluginInfo in frontends.getAllPlugins(): + frontends.activatePluginByName(pluginInfo.name) + if args.list : for k,i in base.foodsources.items(): @@ -37,14 +41,19 @@ if args.list : restlist = None if args.rest : restlist = args.rest.split(",") - +to_render = [] for k,i in base.foodsources.items() : if restlist and not i.name in restlist : continue try : food = i.get_food(ignore_nudelauswahl=True) - print("*"*20+i.human_name+"*"*20+"\n"+base.formt(food)) + to_render.append((i, food)) + # print("*"*20+i.human_name+"*"*20+"\n"+base.formt(food)) except base.NoMenuError: print(i.human_name + ": No menu found. This could be due to a holiday or due to an error in the script.") except urllib.error.HTTPError as e : print(i.human_name + ": Fetching menu failed: %s" % str(e)) + +for i in frontends.getAllPlugins(): + print(i.name) + i.plugin_object.render(to_render) |