def onShelfbarGoto(self): project_name = self.toolbar.getProject() asset_name = self.toolbar.getAsset() task_name = self.toolbar.getTask() self.project = PillarsCore.Project(project_name) self.project.location = PillarsUtils.PillarsProjectDir tasks = PillarsUtils.getTasks(project_name, asset_name) for task in tasks: if task_name == task.name: task.location = PillarsCore.getWorkPath(PillarsUtils.PillarsProjectDir, project_name, self.author.department, self.author.name) self.task = task self.toolbar.setTaskPath(self.task.location) self.project.writeJson(PillarsUtils.GotoProject) self.asset.writeJson(PillarsUtils.GotoAsset) self.task.writeJson(PillarsUtils.GotoTask) self.statusBar.setMessage("Goto %s:%s Successful" % (asset_name, task_name))
def goto(project_name, asset_name, task_name): assets = getAllAssets(project_name) tasks = getTasks(project_name, asset_name) author = loadGotoAuthor() if assets: PillarsCore.writeObjects(assets, Assets) if tasks: PillarsCore.writeObjects(tasks, Tasks) project = PillarsCore.Project(project_name) project.location = PillarsProjectDir project.writeJson(GotoProject) for asset in assets: if asset_name == asset.name: asset.writeJson(GotoAsset) for task in tasks: if task_name == task.name: task.location = PillarsCore.getWorkPath(PillarsProjectDir, project_name, author.department, author.name) task.writeJson(GotoTask) PillarsCore.makeWorkPath(task.location, task.getFullName(), task.name) return True