def get_installer_from_name(installer_name): installer_class_name = "{}Installer".format(installer_name.title()) installers = get_installers("installers") for installer in installers: #<class 'installers.nodebrew.NodebrewInstaller'> if str(installer).find(installer_class_name) != -1: Installer = installer() repr_name = str(installer).split()[-1].strip(">") print Installer.logger.system("Found installer: {}".format(repr_name)) return installer print Installer.logger.warning("Installer not found") return None
def reset(): installer = Installer() # Move shellrc, shellprofile in backup dir to home dir. shellrc = os.path.join(BACKUPDIR, installer.shellrc.split("/")[-1]) if os.access(shellrc, os.F_OK): with open(installer.shellrc, "w") as fp: fp.write(open(shellrc, "r").read()) if installer.shellprofile is not None: shellprofile = os.path.join(BACKUPDIR, installer.shellprofile.split("/")[-1]) if os.access(shellprofile, os.F_OK): with open(installer.shellprofile, "w") as fp: fp.write(open(shellprofile,"r").read()) # Run installer reset method for installer in get_installers("installers"): klass = installer() if "reset" in dir(klass): klass.reset() shutil.rmtree(BACKUPDIR)
#<class 'installers.nodebrew.NodebrewInstaller'> if str(installer).find(installer_class_name) != -1: Installer = installer() repr_name = str(installer).split()[-1].strip(">") print Installer.logger.system("Found installer: {}".format(repr_name)) return installer print Installer.logger.warning("Installer not found") return None if __name__ == "__main__": if len(sys.argv) == 1: # normal for installer in get_installers("installers"): print installer elif len(sys.argv) == 2: if sys.argv[1] == "reset": # reset install reset() sys.exit(0) elif sys.argv[1] == "install": # install create_backup() for installer in get_installers("installers"): print installer try: