Exemplo n.º 1
0
def updateInstalled(args) -> bool:
    package = CraftPackageObject(None)
    for packageName, _ in CraftCore.installdb.getDistinctInstalled():
        p = CraftPackageObject.get(packageName)
        if p:
            package.children[p.name] = p
    return run(package, "all", args)
Exemplo n.º 2
0
def upgrade(packages, args) -> bool:
    if packages.children:
        deps = CraftDependencyPackage(packages)
    else:
        deps = CraftDependencyPackage(CraftPackageObject(None))
        for packageName, _, _ in CraftCore.installdb.getDistinctInstalled():
            p = CraftPackageObject.get(packageName)
            # package in the db might have been renamed and has no blueprint anymore
            if p:
                deps.children[p.path] = p.path
    packageList = deps.getDependencies()
    return __recurseCraft(
        [], ["-i", "--options", "virtual.ignored=True", "craft"
             ]) and __recurseCraft(["--update"], [x.path for x in packageList])
Exemplo n.º 3
0
def upgrade(args, argv=None) -> bool:
    ENV_KEY = "CRAFT_CORE_UPDATED"
    if ENV_KEY not in os.environ:
        if argv is None:
            argv = sys.argv[1:]
        os.environ[ENV_KEY] = "1"
        # update the core
        if not run(CraftPackageObject.get("craft"), "all", args):
            return False
        return __recurseCraft([], argv)
    else:
        package = CraftPackageObject(None)
        for packageName, _, _ in CraftCore.installdb.getDistinctInstalled():
            p = CraftPackageObject.get(packageName)
            if p:
                package.children[p.name] = p
        return run(package, "update", args)
Exemplo n.º 4
0
def resolvePackage(packageNames : [str], version : str=None) -> [CraftPackageObject]:
    package = CraftPackageObject(None)
    def resolveChildren(child):
        if child.isCategory():
            for c in child.children.values():
                resolveChildren(c)
        else:
            if version:
                UserOptions.addPackageOption(child, "version", version)
            package.children[child.name] = child

    for packageName in packageNames:
        child = CraftPackageObject.get(packageName)
        if not child:
            raise BlueprintNotFoundException(packageName)
        resolveChildren(child)
    return package
Exemplo n.º 5
0
def updateInstalled(args) -> bool:
    ENV_KEY = "CRAFT_CORE_UPDATED"
    if ENV_KEY not in os.environ:
        os.environ[ENV_KEY] = "1"
        # update the core
        if not run(CraftPackageObject.get("craft"), "all", args):
            return False
        # close the log file and the db
        CraftTitleUpdater.instance.stop()
        CraftCore.debug._fileHandler.close()
        del CraftCore.installdb
        return subprocess.call([sys.executable] + sys.argv) == 0
    else:
        package = CraftPackageObject(None)
        for packageName, _ in CraftCore.installdb.getDistinctInstalled():
            p = CraftPackageObject.get(packageName)
            if p:
                package.children[p.name] = p
        return run(package, "all", args)