def show_category(i): system.serialWarning() global category slug = categories[i]["slug"] name = categories[i]["name"] showMessage("Loading " + slug + "...") try: try: category = woezel.get_category(slug) except: showMessage("Failed to open category " + slug + "!", True) time.sleep(1) show_categories() gc.collect() opt = [] for package in category: opt.append("%s rev. %s" % (package["name"], package["revision"])) opt.append("< Back to categories") sel = term.menu("Installer - " + name, opt) if sel == len(category): show_categories() install_app(sel, i) except BaseException as e: sys.print_exception(e) showMessage(e, True) time.sleep(1) show_categories()
print("Updating cache failed.") wifi.disconnect() gc.collect() uinterface.connect_wifi() retry -= 1 if retry == 0: print("This is not ok, rebooting") system.reboot() categories = woezel.get_categories() active_categories = [cat for cat in categories if cat['eggs'] > 0] if len(active_categories) == 0: rgb.clear() rgb.framerate(20) uinterface.skippabletext('Error loading') system.start("appstore") while True: chosen_index = uinterface.menu([app['name'] for app in active_categories]) if chosen_index is None: system.reboot() category = active_categories[chosen_index] apps = woezel.get_category(category['slug']) chosen_index = uinterface.menu([app['name'] for app in apps]) if chosen_index is None: continue app = apps[chosen_index] uinstaller.install(app['slug'])