Esempio n. 1
0
File: Create.py Progetto: hdd/ue
def createProject(spec, dbMeta={}):
    project = ueAssetUtils.getProject(spec)

    if project:
        return project

    project["name"] = spec.proj
    project["created_by"] = getpass.getuser()

    for m in dbMeta:
        project[m] = dbMeta[m]

    ueClient.client.saveProject(spec, project)

    return ueAssetUtils.getProject(spec)
Esempio n. 2
0
def createProject(spec, dbMeta={}):
    project = ueAssetUtils.getProject(spec)

    if project:
        return project

    project["name"] = spec.proj
    project["created_by"] = getpass.getuser()

    for m in dbMeta:
        project[m] = dbMeta[m]

    ueClient.client.saveProject(spec, project)

    return ueAssetUtils.getProject(spec)
Esempio n. 3
0
File: ueInfo.py Progetto: hdd/ue
def printInfo():
    if "spec" not in info:
        print "ERROR: Spec not set"
        sys.exit(2)

    spec = ueSpec.Spec(info["spec"])

    if spec.grp == None:
        # Project info
        assetType = "project"
        assetInfo = ueAssetUtils.getProject(spec)
    elif spec.asst == None:
        # Group info
        assetType = "group"
        assetInfo = ueAssetUtils.getGroup(spec)
    elif spec.elclass == None and \
         spec.eltype == None and \
         spec.elname == None:
        # Asset info
        assetType = "asset"
        assetInfo = ueAssetUtils.getAsset(spec)
    elif spec.vers == None:
        # Element info
        assetType = "element"
        assetInfo = ueAssetUtils.getElement(spec)
        assetInfo = assetInfo[spec.elclass][spec.eltype][spec.elname]
    elif spec.elpass == None:
        # Version info
        assetType = "version"
        assetInfo = ueAssetUtils.getVersions(spec)[int(spec.vers)-1]
    else:
        print "ERROR: Could not identify spec as a valid element"
        sys.exit(2)

    print "Information on %s:\n%s\n" % (assetType, str(info["spec"]))

    for a in sorted(assetInfo):
        # Get a padding value so the key/value columns will be neatly aligned
        spacePadding = 28-len(a)

        # Parse the version and datetime info correctly
        if a == "versions":
            assetInfo[a] = len(assetInfo[a])
        elif a in ["created_at", "updated_at"]:
            assetInfo[a] = ueCore.formatDatetime(str(assetInfo[a]))

        # Get rid of the keys with _id because they're database stuff
        if not re.match(".*_id$", a):
            print "%s:%s%s" % (a, " "*spacePadding, str(assetInfo[a]))

    print ""
Esempio n. 4
0
def printInfo():
    if "spec" not in info:
        print "ERROR: Spec not set"
        sys.exit(2)

    spec = ueSpec.Spec(info["spec"])

    if spec.grp == None:
        # Project info
        assetType = "project"
        assetInfo = ueAssetUtils.getProject(spec)
    elif spec.asst == None:
        # Group info
        assetType = "group"
        assetInfo = ueAssetUtils.getGroup(spec)
    elif spec.elclass == None and \
         spec.eltype == None and \
         spec.elname == None:
        # Asset info
        assetType = "asset"
        assetInfo = ueAssetUtils.getAsset(spec)
    elif spec.vers == None:
        # Element info
        assetType = "element"
        assetInfo = ueAssetUtils.getElement(spec)
        assetInfo = assetInfo[spec.elclass][spec.eltype][spec.elname]
    elif spec.elpass == None:
        # Version info
        assetType = "version"
        assetInfo = ueAssetUtils.getVersions(spec)[int(spec.vers) - 1]
    else:
        print "ERROR: Could not identify spec as a valid element"
        sys.exit(2)

    print "Information on %s:\n%s\n" % (assetType, str(info["spec"]))

    for a in sorted(assetInfo):
        # Get a padding value so the key/value columns will be neatly aligned
        spacePadding = 28 - len(a)

        # Parse the version and datetime info correctly
        if a == "versions":
            assetInfo[a] = len(assetInfo[a])
        elif a in ["created_at", "updated_at"]:
            assetInfo[a] = ueCore.formatDatetime(str(assetInfo[a]))

        # Get rid of the keys with _id because they're database stuff
        if not re.match(".*_id$", a):
            print "%s:%s%s" % (a, " " * spacePadding, str(assetInfo[a]))

    print ""
Esempio n. 5
0
    def createScript(self):
        job = {}

        if self.run == "nuke":
            ext = "nk"

        proj = ueAssetUtils.getProject(self.destSpec)
        asst = ueAssetUtils.getAsset(self.destSpec)

        versions = ueAssetUtils.getVersions(self.sourceSpec)
        version = versions[len(versions) - 1]

        p = os.path.join(version["path"], version["file_name"] + "." + ext)

        for f in range(self.frame_start, self.frame_end + 1):
            frame = {}
            if self.run == "nuke":
                frame["cmd"] = "nuke -x -V -f -X %s -F %i-%i %s" % (",".join(
                    self.options["writeNode"]), f, f, p)
            frame["proj"] = self.destSpec.proj
            frame["grp"] = self.destSpec.grp
            frame["asst"] = self.destSpec.asst
            frame["proj_root"] = proj["path"]
            frame["asst_root"] = asst["path"]
            job[f] = frame

        versions = ueAssetUtils.getVersions(self.destSpec)
        version = versions[len(versions) - 1]

        p = os.path.join(
            asst["path"], "tmp", "drQueue",
            version["file_name"] + "." + str(int(time.time())) + ".dq")

        if not os.path.exists(os.path.dirname(p)):
            import ueCore.FileUtils as ueFileUtils
            ueFileUtils.createDir(os.path.dirname(p))

        try:
            f = open(p, "w")
            f.write(json.dumps(job, sort_keys=True, indent=4))
            f.close()
        except IOError, e:
            print "ERROR: Creating job script '%s' (%s)" % (p, e)
            sys.exit(2)
Esempio n. 6
0
File: Job.py Progetto: hdd/ue
    def createScript(self):
        job = {}

        if self.run == "nuke":
            ext = "nk"

        proj = ueAssetUtils.getProject(self.destSpec)
        asst = ueAssetUtils.getAsset(self.destSpec)

        versions = ueAssetUtils.getVersions(self.sourceSpec)
        version = versions[len(versions)-1]

        p = os.path.join(version["path"], version["file_name"]+"."+ext)

        for f in range(self.frame_start, self.frame_end+1):
            frame = {}
            if self.run == "nuke":
                frame["cmd"] = "nuke -x -V -f -X %s -F %i-%i %s" % (",".join(self.options["writeNode"]),
                                                                    f, f, p)
            frame["proj"] = self.destSpec.proj
            frame["grp"] = self.destSpec.grp
            frame["asst"] = self.destSpec.asst
            frame["proj_root"] = proj["path"]
            frame["asst_root"] = asst["path"]
            job[f] = frame

        versions = ueAssetUtils.getVersions(self.destSpec)
        version = versions[len(versions)-1]

        p = os.path.join(asst["path"], "tmp", "drQueue", version["file_name"]+"."+str(int(time.time()))+".dq")

        if not os.path.exists(os.path.dirname(p)):
            import ueCore.FileUtils as ueFileUtils
            ueFileUtils.createDir(os.path.dirname(p))

        try:
            f = open(p, "w")
            f.write(json.dumps(job, sort_keys=True, indent=4))
            f.close()
        except IOError, e:
            print "ERROR: Creating job script '%s' (%s)" % (p, e)
            sys.exit(2)
Esempio n. 7
0
def changeAsset():
    spec = ueSpec.Spec(sys.argv[-1])

    if not spec.proj in ueAssetUtils.getProjectsList():
        print "ERROR: Project does not exist"
        sys.exit(2)

    if not spec.grp in ueAssetUtils.getGroupsList(spec):
        print "ERROR: Group does not exist"
        sys.exit(2)

    if not spec.asst in ueAssetUtils.getAssetsList(spec):
        print "ERROR: Asset does not exist"
        sys.exit(2)

    project = ueAssetUtils.getProject(spec)
    asset = ueAssetUtils.getAsset(spec)

    print "export PROJ=%s; " % spec.proj
    print "export GRP=%s; " % spec.grp
    print "export ASST=%s; " % spec.asst
    print "export PROJ_ROOT=%s; " % project["path"]
    print "export ASST_ROOT=%s" % asset["path"]
Esempio n. 8
0
def changeAsset():
    spec = ueSpec.Spec(sys.argv[-1])

    if not spec.proj in ueAssetUtils.getProjectsList():
        print "ERROR: Project does not exist"
        sys.exit(2)

    if not spec.grp in ueAssetUtils.getGroupsList(spec):
        print "ERROR: Group does not exist"
        sys.exit(2)

    if not spec.asst in ueAssetUtils.getAssetsList(spec):
        print "ERROR: Asset does not exist"
        sys.exit(2)

    project = ueAssetUtils.getProject(spec)
    asset = ueAssetUtils.getAsset(spec)

    print "export PROJ=%s; " % spec.proj
    print "export GRP=%s; " % spec.grp
    print "export ASST=%s; " % spec.asst
    print "export PROJ_ROOT=%s; " % project["path"]
    print "export ASST_ROOT=%s" % asset["path"]
Esempio n. 9
0
File: Update.py Progetto: hdd/ue
def updateProject(spec, dbMeta={}):
    ueClient.client.updateProject(spec, dbMeta)

    return ueAssetUtils.getProject(spec)
Esempio n. 10
0
def updateProject(spec, dbMeta={}):
    ueClient.client.updateProject(spec, dbMeta)

    return ueAssetUtils.getProject(spec)