Beispiel #1
0
    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)
Beispiel #2
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):
Beispiel #3
0
            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")