def get_current_item_paths(self): # TODO REWRITE THIS THING with multiple file in one snapshot in mind current_widget = self.search_results_widget.get_current_widget() current_tree_widget_item = current_widget.get_current_tree_widget_item() file_path = None dir_path = None all_process = None modes = env_mode.modes modes.append('main') for mode in modes: if current_tree_widget_item.files.get(mode): main_file = current_tree_widget_item.files[mode][0] repo_name = current_tree_widget_item.snapshot.get('repo') if repo_name: asset_dir = env_tactic.get_base_dir(repo_name)['value'][0] else: asset_dir = env_tactic.get_base_dir('client')['value'][0] file_path = gf.form_path( '{0}/{1}/{2}'.format(asset_dir, main_file['relative_dir'], main_file['file_name'])) # print file_path split_path = main_file['relative_dir'].split('/') dir_path = gf.form_path('{0}/{1}'.format(asset_dir, '{0}/{1}/{2}'.format(*split_path))) all_process = current_tree_widget_item.sobject.all_process return file_path, dir_path, all_process
def build_directory_structure(self): import os repo = self.repositoryComboBox.itemData( self.repositoryComboBox.currentIndex()) if self.stype.pipeline: paths = tc.get_dirs_with_naming(self.sobject.get_search_key()) for path in paths: abs_path = repo['value'][0] + '/' + path if not os.path.exists(gf.form_path(abs_path)): os.makedirs(gf.form_path(abs_path))
def create_versions_widget(self): self.collapse_wdg_vers = ui_misc_classes.Ui_collapsableWidget(state=True) layout_files = QtGui.QVBoxLayout() self.collapse_wdg_vers.setLayout(layout_files) self.collapse_wdg_vers.setText('Hide Versions Files') self.collapse_wdg_vers.setCollapsedText('Show Versions Files') # self.files_tree_widget = QtGui.QTreeWidget() self.treeWidget_vers = QtGui.QTreeWidget() self.treeWidget_vers.setAlternatingRowColors(True) self.treeWidget_vers.setSelectionMode(QtGui.QAbstractItemView.NoSelection) self.treeWidget_vers.setVerticalScrollMode(QtGui.QAbstractItemView.ScrollPerPixel) self.treeWidget_vers.setRootIsDecorated(False) self.treeWidget_vers.headerItem().setText(0, "File") self.treeWidget_vers.headerItem().setText(1, "Path") self.treeWidget_vers.setStyleSheet('QTreeView::item {padding: 2px;}') for keys, values in self.paths: for i, fl in enumerate(values['versioned']['names']): full_path = gf.form_path(self.repo['value'][0] + '/' + values['versioned']['paths'][i]) item = QtGui.QTreeWidgetItem() item.setText(0, ''.join(fl)) item.setText(1, full_path) self.treeWidget_vers.addTopLevelItem(item) self.treeWidget_vers.setMinimumWidth(self.treeWidget_vers.columnWidth(0) + self.treeWidget_vers.columnWidth(1) + 150) self.treeWidget_vers.setMinimumHeight(250) self.treeWidget_vers.resizeColumnToContents(0) self.treeWidget_vers.resizeColumnToContents(1) layout_files.addWidget(self.treeWidget_vers) self.main_layout.addWidget(self.collapse_wdg_vers)
def checkin_from_path(self, search_key, context, description, explicit_paths=None): if explicit_paths: update_versionless = bool(self.checkin_options_widget.updateVersionlessCheckBox.isChecked()) repo = self.get_current_repo() file_types = [] file_names = [] file_paths = [] exts = [] file_sizes = [] for path in explicit_paths: file_types.append('main') file_names.append(gf.extract_filename(path)) exts.append(gf.extract_extension(path)[0]) file_path = gf.form_path(path) file_paths.append(file_path) file_sizes.append(gf.get_st_size(file_path)) mode = 'inplace' create_icon = False if context == 'icon': create_icon = True return tc.checkin_file( search_key=search_key, context=context, description=description, version=None, update_versionless=update_versionless, file_types=file_types, file_names=file_names, file_paths=file_paths, file_sizes=file_sizes, exts=exts, keep_file_name=False, repo_name=repo, mode=mode, create_icon=create_icon )
def checkin_from_droplist(self, search_key, context, description): selected_items = self.ui_drop_plate.dropTreeWidget.selectedItems() if selected_items: update_versionless = bool(self.checkin_options_widget.updateVersionlessCheckBox.isChecked()) repo = self.get_current_repo() file_types = [] file_names = [] file_paths = [] exts = [] file_sizes = [] for item in selected_items: file_types.append('main') file_names.append(item.text(0)) file_path = gf.form_path(item.text(2) + '/' + item.text(0)) file_paths.append(file_path) exts.append(item.data(1, QtCore.Qt.UserRole)) file_sizes.append(gf.get_st_size(file_path)) mode = 'inplace' return tc.checkin_file( search_key=search_key, context=context, description=description, version=None, update_versionless=update_versionless, file_types=file_types, file_names=file_names, file_paths=file_paths, file_sizes=file_sizes, exts=exts, keep_file_name=False, repo_name=repo, mode=mode, create_icon=False )
def slide_images(self, value): # print('this is snapshot', self.slide_images.__func__) # print self.nested_item.type # # print self.nested_item.sobject.process['icon'] # print self.nested_item.sobject.process['icon'].contexts['icon'] # print self.nested_item.sobject.process['icon'].contexts['icon'].versions.values()[0].snapshot # print self.versions_icons # print value - 1 # print dir(self.nested_item.sobject) # print self.nested_item.sobject.process['icon'].contexts['icon'].versions if self.nested_item.type == 'snapshot' or 'sobject': if self.nested_item.type == 'snapshot': snapshot_repo = self.nested_item.snapshot.get('repo') else: snapshot_repo = self.versions_icons.values()[0].snapshot.get('repo') if snapshot_repo: repo = env_tactic.get_base_dir(snapshot_repo) if repo: asset_dir = gf.form_path(repo['value'][0]) else: asset_dir = gf.form_path(env_tactic.get_base_dir('client')['value'][0]) else: asset_dir = gf.form_path(env_tactic.get_base_dir('client')['value'][0]) # asset_dir = env_server.rep_dirs[self.nested_item.snapshot.get('repo')][0] if not self.web_list: self.web_list = self.playblast_list if not self.playblast_list: self.playblast_list = self.main_list self.web_list = self.main_list image_path_icon = u'{0}/{1}/{2}'.format(asset_dir, self.web_list[value - 1]['relative_dir'], self.web_list[value - 1]['file_name']) if self.playblast: image_path_big = u'{0}/{1}/{2}'.format(asset_dir, self.playblast_list[value - 1]['relative_dir'], self.playblast_list[value - 1]['file_name']) else: image_path_big = u'{0}/{1}/{2}'.format(asset_dir, self.main_list[value - 1]['relative_dir'], self.main_list[value - 1]['file_name']) self.preview_image = QtGui.QImage(0, 0, QtGui.QImage.Format_ARGB32) if not self.external: self.preview_image.load(image_path_big) else: self.preview_image.load(image_path_icon) if not self.preview_image.isNull(): # TODO TRY to you see yourself what todo... try: width = self.parent().playblastGroupBox.width() except: width = self.width() pix_map = QtGui.QPixmap.fromImage( self.preview_image.scaledToWidth( width-3, QtCore.Qt.SmoothTransformation ) ) self.scene.addPixmap(pix_map) self.previewGraphicsView.setScene(self.scene) return image_path_big