def build_directory_structure(self, sobject=None): import os repo = self.repositoryComboBox.itemData( self.repositoryComboBox.currentIndex()) if sobject: sobject_class = tc.SObject(sobject, project=self.stype.project) self.sobject = sobject_class if self.stype.pipeline: paths = tc.get_dirs_with_naming(self.sobject.get_search_key(), None) all_paths = [] if paths: if paths['versionless']: all_paths.extend(paths['versionless']) if paths['versions']: all_paths.extend(paths['versions']) if not repo: base_dirs = env_tactic.get_all_base_dirs() for key, val in base_dirs: if val['value'][4]: for path in all_paths: abs_path = val['value'][0] + '/' + path if not os.path.exists(gf.form_path(abs_path)): os.makedirs(gf.form_path(abs_path)) else: for path in all_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 build_directory_structure(self, sobject=None): import os repo = self.repositoryComboBox.itemData( self.repositoryComboBox.currentIndex()) if sobject: sobject_class = tc.SObject(sobject, project=self.stype.project) self.sobject = sobject_class if self.stype.pipeline: current_pipeline = self.stype.pipeline.get( self.sobject.get_pipeline_code()) workflow = self.stype.get_workflow() processes_list = current_pipeline.get_all_processes_names() sub_processes_list = [] # getting sub-processes from workflow for process, process_info in current_pipeline.process.items(): if process_info.get('type') == 'hierarchy': child_pipeline = workflow.get_child_pipeline_by_process_code( current_pipeline, process) if child_pipeline: sub_processes_list.extend( child_pipeline.get_all_processes_names()) if sub_processes_list: processes_list.extend(sub_processes_list) paths = tc.get_dirs_with_naming(self.sobject.get_search_key(), processes_list) all_paths = [] if paths: if paths['versionless']: all_paths.extend(paths['versionless']) if paths['versions']: all_paths.extend(paths['versions']) if not repo: base_dirs = env_tactic.get_all_base_dirs() for key, val in base_dirs: if val['value'][4]: for path in all_paths: abs_path = val['value'][0] + '/' + path if not os.path.exists(gf.form_path(abs_path)): os.makedirs(gf.form_path(abs_path)) else: for path in all_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_control_buttons(self): self.addNewButton = QtGui.QPushButton('Create') self.addNewButton.setMaximumWidth(80) self.saveButton = QtGui.QPushButton('Save') self.saveButton.setMaximumWidth(80) self.cancelButton = QtGui.QPushButton('Cancel') self.cancelButton.setMaximumWidth(80) self.buildDirectoryButton = QtGui.QPushButton('Build Full Directory Structure') self.buildDirectoryButton.setIcon(gf.get_icon('database')) self.build_directory_checkbox = QtGui.QCheckBox('Build Full Directory Structure') self.build_directory_checkbox.setChecked(False) self.build_directory_checkbox.setIcon(gf.get_icon('database')) self.repositoryComboBox = QtGui.QComboBox() base_dirs = env_tactic.get_all_base_dirs() # Default repo states current_repo = gf.get_value_from_config(cfg_controls.get_checkin(), 'repositoryComboBox') for key, val in base_dirs: if val['value'][4]: self.repositoryComboBox.addItem(val['value'][1]) self.repositoryComboBox.setItemData(self.repositoryComboBox.count() - 1, val) # Special for build all repos dirs self.repositoryComboBox.addItem('All Repos') if current_repo: self.repositoryComboBox.setCurrentIndex(current_repo) if self.tactic_widget.view == 'insert': self.main_layout.addWidget(self.build_directory_checkbox, 1, 0, 1, 1) self.main_layout.addWidget(self.repositoryComboBox, 1, 1, 1, 1) spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.main_layout.addItem(spacerItem, 1, 2, 1, 1) self.main_layout.addWidget(self.addNewButton, 1, 3, 1, 1) self.main_layout.addWidget(self.cancelButton, 1, 4, 1, 1) self.main_layout.setColumnStretch(1, 0) else: self.main_layout.addWidget(self.buildDirectoryButton, 1, 0, 1, 1) self.main_layout.addWidget(self.repositoryComboBox, 1, 1, 1, 1) spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.main_layout.addItem(spacerItem, 1, 2, 1, 1) self.main_layout.addWidget(self.saveButton, 1, 3, 1, 1) self.main_layout.addWidget(self.cancelButton, 1, 4, 1, 1) self.main_layout.setColumnStretch(1, 0) if self.item: if self.item.type != 'sobject': self.buildDirectoryButton.setHidden(True) self.repositoryComboBox.setHidden(True)
def fill_repo_combo_box(self): self.repo_combo_box.clear() base_dirs = env_tactic.get_all_base_dirs() for key, val in base_dirs: if val['value'][4]: self.repo_combo_box.addItem(val['value'][1]) self.repo_combo_box.setItemData(self.repo_combo_box.count() - 1, val) current_repo = gf.get_value_from_config(cfg_controls.get_checkin(), 'repositoryComboBox') if current_repo: self.repo_combo_box.setCurrentIndex(current_repo)
def fill_repo_tree_widget(self, exlude_list=None): self.repos_tree_widget.clear() if not exlude_list: exlude_list = [] base_dirs = env_tactic.get_all_base_dirs() # Default repo states for key, val in base_dirs: if val['value'][4] and val['value'][3] in exlude_list: root_item = QtGui.QTreeWidgetItem() root_item.setText(0, val['value'][1]) root_item.setData(0, QtCore.Qt.UserRole, val) self.repos_tree_widget.addTopLevelItem(root_item)
def add_item_to_watch(self, sobject_item): # checking if watch folder exists watch_dict = self.get_watch_dict_by_skey(sobject_item.get_search_key()) all_folders_exists = True base_dirs = env_tactic.get_all_base_dirs() for key, val in base_dirs: if val['value'][4] and val['value'][3] in watch_dict['rep']: abs_path = u'{0}/{1}'.format(val['value'][0], watch_dict['path']) if not os.path.exists(gf.form_path(abs_path)): all_folders_exists = False dl.warning('Folders structure for: {0} is not created. ' 'Watch will be ignored.'.format(abs_path), group_id='watch_folders_ui') if all_folders_exists: self.watched_items.add(sobject_item) self.fill_watch_folders_tree_widget()
def fill_repo_combo_box(self, exlude_list=None): self.repo_combo_box.clear() if not exlude_list: exlude_list = [] base_dirs = env_tactic.get_all_base_dirs() # Default repo states for key, val in base_dirs: if val['value'][4] and val['value'][3] not in exlude_list: self.repo_combo_box.addItem(val['value'][1]) self.repo_combo_box.setItemData(self.repo_combo_box.count() - 1, val) self.repo_combo_box.addItem('All Repos') current_repo = gf.get_value_from_config(cfg_controls.get_checkin(), 'repositoryComboBox') if current_repo: self.repo_combo_box.setCurrentIndex(current_repo)