def get_all_data(): config_data = {} data_user_files = libFunc.get_file_list(path=get_env('DATA_USER_PATH'), file_type='*' + DATA_FORMAT) data_project_files = libFunc.get_file_list( path=get_env('DATA_PROJECT_PATH'), file_type='*' + DATA_FORMAT) data_project_files = list( set(data_user_files) | set(data_project_files)) for each_file in data_project_files: config_data.update({each_file: get_data(each_file, user_id)}) return config_data
def change_lstStatus(self): if self.scene_steps < 5: part_path = '' else: part_path = self.wgLoad.lstAsset.currentItem().text() + '/' if not self.wgLoad.lstStatus.currentItem( ) or not self.wgLoad.lstTask.currentItem(): return self.file_dir = self.load_dir + '/' + self.wgLoad.lstSet.currentItem( ).text() + '/' + part_path + self.wgLoad.lstTask.currentItem().text( ) + '/' + self.wgLoad.lstStatus.currentItem().text() tmp_content = libFunc.get_file_list(self.file_dir, extension=True) self.wgLoad.lstFiles.clear() if not tmp_content: return file_list = [] for file in tmp_content: if os.path.splitext(file)[1][1:] in self.software_keys: file_list.append(file) if file_list: if os.path.exists(self.file_dir + libData.META_INFO): self.file_data = libData.get_yml_file(self.file_dir + libData.META_INFO) else: self.file_data = '' self.wgLoad.lstFiles.addItems(sorted(file_list, reverse=True)) self.wgLoad.lstFiles.setCurrentRow(0)
def change_lstAsset(self): new_path = self.load_dir + '/' + self.wgLoad.lstSet.currentItem().text() + '/' + self.wgLoad.lstAsset.currentItem().text() tmp_content = libFunc.get_file_list(new_path) self.wgLoad.lstTask.clear() if tmp_content: self.wgLoad.lstTask.addItems(sorted(tmp_content)) self.wgLoad.lstTask.setCurrentRow(0)
def change_lstTask(self): if self.scene_steps > 4: asset_content = '/' + self.wgLoad.lstAsset.currentItem().text() else: asset_content = '' new_path = self.load_dir + '/' + self.wgLoad.lstSet.currentItem().text() + asset_content + '/' + self.wgLoad.lstTask.currentItem().text() tmp_content = libFunc.get_file_list(new_path) self.wgLoad.lstStatus.clear() if tmp_content: self.wgLoad.lstStatus.addItems(sorted(tmp_content, reverse=True)) self.wgLoad.lstStatus.setCurrentRow(0)
def setup(self, software=os.getenv('SOFTWARE')): if not software: raise OSError('STOP PROCESS', 'SOFTWARE couldnt be found.') self._software = software.lower() self._software_data = libData.get_data()['software'][ self._software.upper()] self._version = self._software_data['version'] self._path = self._software_data['path'] # RENDERER self._renderer = self._software_data.get('renderer', '') self._renderer_path = self._software_data.get('renderer_path', '') LOG.debug('------------------------------ {}'.format(self._software)) sub_path = [] software_path = [] # LOG.debug(os.environ['SOFTWARE_SRC_PATH']) for each_path in os.environ['SOFTWARE_SRC_PATH'].split(';'): # if not each_path.endswith('software'): each_path = os.path.dirname(each_path) tmp_paths = ('/').join([each_path, self._software]) software_path.append(tmp_paths) tmp_folder = libFunc.get_file_list(path=tmp_paths, exclude='.py', add_path=True) if not tmp_folder: continue sub_path.extend(tmp_folder) os.environ['SOFTWARE'] = self._software.upper() os.environ['SOFTWARE_PATH'] = (';').join(software_path) os.environ['SOFTWARE_SUB_PATH'] = (';').join(sub_path) LOG.debug("SOFTWARE_PATH: {}".format(os.environ['SOFTWARE_PATH'])) # GET data self._software_data = libData.get_data()['software'][ self._software.upper()] self._env = self._software_data.get('ENV', '') # ADD software ENV if (self._env): for env, content in self._env.iteritems(): if isinstance(content, list): for each in content: libData.add_env(env, each) else: libData.add_env(env, content) LOG.debug('{}_ENV: {}'.format(self._software.upper(), self._env))
def change_lstScene(self): self.load_dir = self.data['project']['PATH'][self.wgLoad.lstScene.currentItem().text()] tmp_content = libFunc.get_file_list(self.load_dir) self.scene_steps = len(self.data['rules']['SCENES'][self.wgLoad.lstScene.currentItem().text()].split('/')) if self.scene_steps < 5: self.wgLoad.lstAsset.hide() else: self.wgLoad.lstAsset.itemSelectionChanged.connect(self.change_lstAsset) self.wgLoad.lstAsset.show() self.wgLoad.lstSet.clear() if tmp_content: self.wgLoad.lstSet.addItems(sorted(tmp_content)) self.wgLoad.lstSet.setCurrentRow(0)
def change_cbxScene(self): self.wgSaveAs.cbxTask.clear() if not self.new_file: self.wgSaveAs.cbxTask.addItem(self.all_task) self.scene_steps = len(self.data['rules']['SCENES'][ self.wgSaveAs.cbxScene.currentText()].split('/')) if self.scene_steps < 5: self.wgSaveAs.cbxSet.hide() self.wgSaveAs.lblSet.hide() else: self.wgSaveAs.cbxSet.show() self.wgSaveAs.cbxSet.clear() self.wgSaveAs.lblSet.show() try: if self.wgSaveAs.cbxScene.currentText(): self.wgSaveAs.cbxTask.addItems(self.data['rules']['TASK'][ self.wgSaveAs.cbxScene.currentText()]) except: self.set_status( 'FAILED adding tasks items: data/project/$project/rules.yml : TASK', msg_type=3) if self.software == 'nuke': index = self.wgSaveAs.cbxTask.findText('COMP', QtCore.Qt.MatchContains) if index >= 0: self.wgSaveAs.cbxTask.setCurrentIndex(index) try: self.save_dir = self.data['project']['PATH'][ self.wgSaveAs.cbxScene.currentText()] if self.wgSaveAs.cbxSet.isVisible(): self.wgSaveAs.cbxSet.addItems( libFunc.get_file_list(self.save_dir)) except: LOG.error( 'FAILED adding PATH items: data/project/$project/project.yml : PATH', exc_info=True)