except: if globls.debug: traceback.print_exc() utils.print_exit("error: bad/missing argument(s)") try: domain = Domain(domain_home) if show_installed: # TODO: should paths or names be shown for installed and published? print("%s" % "\n".join(domain.get_installed())) if show_label: print("%s" % str(domain.get_label())) if show_published: print("%s" % "\n".join(domain.get_published())) if show_sources: print("%s" % str(domain.get_sources())) if show_subdomains: print("\n".join(domain.get_subdomains())) if show_version: version = domain.get_version() version_string = ".".join(map(str, version)) print("%s" % version_string) except SystemExit: raise except utils.SSMExitException, detail: utils.print_exit(detail) except: if globls.debug: traceback.print_exc() utils.print_exit("error: operation failed") sys.exit(0)
globls.verbose = True else: raise Exception() except SystemExit: raise except: if globls.debug: traceback.print_exc() utils.print_exit("error: bad/missing argument(s)") try: if repo_url: sources = repo_url else: domain = Domain(domain_home) sources = domain.get_sources() repo = Repository(sources) package_map = {} package_urls = repo.list() for url in repo.list(): filename = os.path.basename(url) if not filename.endswith(".ssm"): continue package_name = filename[:-4] if package_name_pattern and not fnmatch.fnmatch( package_name, package_name_pattern): continue if platforms_pattern: t = package_name.split("_", 3) if len(t) != 3 or not fnmatch.fnmatch(t[2], platforms_pattern):
package_name = os.path.basename(filename)[:-4] else: utils.print_exit("error: bad filename") if not package_name: utils.print_exit("error: missing package name") try: domain = Domain(domain_home) if not domain.is_compatible(): utils.print_exit(MSG_INCOMPATIBLE_DOMAIN) if domain.is_installed(package_name) and skip_on_installed: utils.print_verbose("skipping installed package") else: if sources == None: sources = domain.get_sources().split("\n") for source in sources: source = source.strip() if source == "": continue repo = Repository(source) tarf = repo.get(package_name) if tarf != None: utils.print_verbose( "installing package (%s) from repository (%s)" % (package_name, source)) pkg = Package(domain, package_name) pkg.install(tarf, username, groupname, clobber) break else: utils.print_exit("error: could not find package")