def moduleDownload(helix, name): f = sqlite3.connect(list) for link in f.execute("SELECT link FROM link_list").fetchall(): link = link[0] try: urllib.request.urlretrieve(link + "//" + name + ".zip", dir_temp + name + ".zip") psuccess("Module downloaded and saved correctly!", "", helix.eventC) mdb = MDBmanager() mdb.install(dir_temp + name + ".zip") f.close() return 0 except urllib.request.URLError: perror("Module not found on the server: " + link, "", helix.eventC) f.close() return -1
def execute(helix, argv): if len(argv) <= 1: __usage() return 0 base = ArgsX.Base(len(argv), argv, 1) lopt = [ArgsX.LongOpt("remove", ArgsX.Options["req_arg"], "r"), ArgsX.LongOpt("list", ArgsX.Options["no_args"], "l"), ArgsX.LongOpt("info", ArgsX.Options["req_arg"], "i"), ArgsX.LongOpt("clear", ArgsX.Options["no_args"], None)] mdbman = MDBmanager() while True: ret = ArgsX.argsx(base, "r+li+", lopt, "-") if ret == ArgsX.Status["finish"]: break if ret == "r": try: mdbman.uninstall(argv[base.argptr]) except DbKeyError: perror("No package with the name %s" % argv[base.aptr]) break elif ret == "l": _list = mdbman.get_installed_pack() if not _list: pinfo("Empty, no package installed!") else: print() for pack in _list: print("[Package]:\t"+pack) print() break elif ret == "i": try: print("\nAuthor: %s" % mdbman.get_pack_author(argv[base.aptr])) print("About: %s" % mdbman.get_pack_about(argv[base.aptr])) print("Version: %f" % mdbman.get_pack_version(argv[base.aptr])) print("Modules:") modules = mdbman.get_module_from_pack_name(argv[base.aptr]) for module in modules: print("*\t%s" % module) print("\nBase:") bases = mdbman.get_base_from_pack_name(argv[base.aptr]) for base in bases: print("*\t%s" % base) print("\nLib:") libs = mdbman.get_lib_from_pack_name(argv[base.aptr]) for lib in libs: print("*\t%s" % lib) print("\nMan pages:") manps = mdbman.get_manp_from_pack_name(argv[base.aptr]) for manp in manps: print("*\t%s" % manp) print() except DbKeyError: perror("The package %s not exists" % argv[base.aptr]) elif ret == ArgsX.Status["longopt"]: if lopt[base.laptr].name == "clear": sure = input("Initialize ? Are you sure(y/n)?") if sure == "y": pwarning("Irreversible operation in progress...") _list = mdbman.get_installed_pack() for pack in _list: print("\n%s:" % pack.upper()) mdbman.uninstall(pack) psuccess("Operation terminated!", "\n") else: pinfo("Operation canceled!") elif ret == ArgsX.Status["lowarg"]: print("Options: " + argv[base.aptr - 1] + " required an argument") break elif ret == ArgsX.Status["badargs"]: perror("Bad Option!") break elif ret == ArgsX.Status["otherdata"]: try: mdbman.install(argv[base.argptr]) except FileNotFoundError: perror(argv[base.argptr] + " not found! Process Aborted!") break base.aptr += 1 return 0