def addListsSetCraftProfile(craftSequence, defaultProfile, repository, fileNameHelp): "Set the craft profile repository." settings.addListsToRepository(fileNameHelp, repository) repository.craftSequenceLabel = settings.LabelDisplay().getFromName( 'Craft Sequence: ', repository) craftToolStrings = [] for craftTool in craftSequence[:-1]: craftToolStrings.append( settings.getEachWordCapitalized(craftTool) + '->') craftToolStrings.append(settings.getEachWordCapitalized(craftSequence[-1])) for craftToolStringIndex in xrange(0, len(craftToolStrings), 5): craftLine = ' '.join( craftToolStrings[craftToolStringIndex:craftToolStringIndex + 5]) settings.LabelDisplay().getFromName(craftLine, repository) settings.LabelDisplay().getFromName('', repository) repository.profileList = ProfileList().getFromName('Profile List:', repository) repository.profileListbox = ProfileListboxSetting().getFromListSetting( repository.profileList, 'Profile Selection:', repository, defaultProfile) repository.addListboxSelection = AddProfile( ).getFromProfileListboxSettingRepository(repository.profileListbox, repository) repository.deleteListboxSelection = DeleteProfile( ).getFromProfileListboxSettingRepository(repository.profileListbox, repository) directoryName = archive.getProfilesPath() archive.makeDirectory(directoryName) repository.windowPosition.value = '0+400'
def writeXMLObject(absoluteFolderDirectory, derivation, fileNames, target, xmlObject): "Write one instance of the xmlObject." extension = evaluate.getEvaluatedString( xmlObject.getFabricationExtension(), derivation.elementNode, 'extension') fileNameRoot = derivation.fileName if fileNameRoot == '': fileNameRoot = evaluate.getEvaluatedString('', target, 'name') fileNameRoot = evaluate.getEvaluatedString(fileNameRoot, target, 'id') fileNameRoot += derivation.suffix fileName = '%s.%s' % (fileNameRoot, extension) suffixIndex = 2 while fileName in fileNames: fileName = '%s_%s.%s' % (fileNameRoot, suffixIndex, extension) suffixIndex += 1 absoluteFileName = os.path.join(absoluteFolderDirectory, fileName) fileNames.append(fileName) archive.makeDirectory(absoluteFolderDirectory) if not derivation.writeMatrix: xmlObject.matrix4X4 = matrix.Matrix() print('The write tool generated the file:') print(absoluteFileName) archive.writeFileText( absoluteFileName, xmlObject.getFabricationText(derivation.addLayerTemplate))
def delete(self): "Delete the selection of a listbox setting." self.profileListboxSetting.setToDisplay() self.profileListboxSetting.listSetting.setValueToFolders() if self.profileListboxSetting.value not in self.profileListboxSetting.listSetting.value: return lastSelectionIndex = 0 currentSelectionTuple = self.profileListboxSetting.listbox.curselection() if len(currentSelectionTuple) > 0: lastSelectionIndex = int(currentSelectionTuple[0]) else: print('No profile is selected, so no profile will be deleted.') return craftTypeName = self.profileListboxSetting.listSetting.craftTypeName settings.deleteDirectory(archive.getProfilesPath(craftTypeName), self.profileListboxSetting.value) settings.deleteDirectory(settings.getProfilesDirectoryInAboveDirectory(craftTypeName), self.profileListboxSetting.value) self.profileListboxSetting.listSetting.setValueToFolders() if len(self.profileListboxSetting.listSetting.value) < 1: defaultSettingsDirectory = archive.getProfilesPath(os.path.join(craftTypeName, self.profileListboxSetting.defaultValue)) archive.makeDirectory(defaultSettingsDirectory) self.profileListboxSetting.listSetting.setValueToFolders() lastSelectionIndex = min(lastSelectionIndex, len(self.profileListboxSetting.listSetting.value) - 1) self.profileListboxSetting.value = self.profileListboxSetting.listSetting.value[lastSelectionIndex] self.profileListboxSetting.setStateToValue() self.no()
def delete(self): "Delete the selection of a listbox setting." self.profileListboxSetting.setToDisplay() self.profileListboxSetting.listSetting.setValueToFolders() if self.profileListboxSetting.value not in self.profileListboxSetting.listSetting.value: return lastSelectionIndex = 0 currentSelectionTuple = self.profileListboxSetting.listbox.curselection( ) if len(currentSelectionTuple) > 0: lastSelectionIndex = int(currentSelectionTuple[0]) else: print('No profile is selected, so no profile will be deleted.') return craftTypeName = self.profileListboxSetting.listSetting.craftTypeName settings.deleteDirectory(archive.getProfilesPath(craftTypeName), self.profileListboxSetting.value) settings.deleteDirectory( settings.getProfilesDirectoryInAboveDirectory(craftTypeName), self.profileListboxSetting.value) self.profileListboxSetting.listSetting.setValueToFolders() if len(self.profileListboxSetting.listSetting.value) < 1: defaultSettingsDirectory = archive.getProfilesPath( os.path.join(craftTypeName, self.profileListboxSetting.defaultValue)) archive.makeDirectory(defaultSettingsDirectory) self.profileListboxSetting.listSetting.setValueToFolders() lastSelectionIndex = min( lastSelectionIndex, len(self.profileListboxSetting.listSetting.value) - 1) self.profileListboxSetting.value = self.profileListboxSetting.listSetting.value[ lastSelectionIndex] self.profileListboxSetting.setStateToValue() self.no()
def addListsSetCraftProfile(craftSequence, defaultProfile, repository, fileNameHelp): "Set the craft profile repository." settings.addListsToRepository(fileNameHelp, repository) repository.craftSequenceLabel = settings.LabelDisplay().getFromName("Craft Sequence: ", repository) craftToolStrings = [] for craftTool in craftSequence[:-1]: craftToolStrings.append(settings.getEachWordCapitalized(craftTool) + "->") craftToolStrings.append(settings.getEachWordCapitalized(craftSequence[-1])) for craftToolStringIndex in xrange(0, len(craftToolStrings), 5): craftLine = " ".join(craftToolStrings[craftToolStringIndex : craftToolStringIndex + 5]) settings.LabelDisplay().getFromName(craftLine, repository) settings.LabelDisplay().getFromName("", repository) repository.profileList = ProfileList().getFromName("Profile List:", repository) repository.profileListbox = ProfileListboxSetting().getFromListSetting( repository.profileList, "Profile Selection:", repository, defaultProfile ) repository.addListboxSelection = AddProfile().getFromProfileListboxSettingRepository( repository.profileListbox, repository ) repository.deleteListboxSelection = DeleteProfile().getFromProfileListboxSettingRepository( repository.profileListbox, repository ) directoryName = archive.getProfilesPath() archive.makeDirectory(directoryName) repository.windowPosition.value = "0+400"
def writeXMLElement(fileNames, target, xmlElement): "Write target." object = target.object if object == None: print('Warning, writeTarget in write could not get object for:') print(xmlElement) return fileNameRoot = evaluate.getEvaluatedStringDefault('', 'name', target) fileNameRoot = evaluate.getEvaluatedStringDefault(fileNameRoot, 'id', target) fileNameRoot = evaluate.getEvaluatedStringDefault(fileNameRoot, 'file', xmlElement) fileNameRoot += evaluate.getEvaluatedStringDefault('', 'suffix', xmlElement) extension = evaluate.getEvaluatedStringDefault(object.getFabricationExtension(), 'extension', xmlElement) fileName = '%s.%s' % (fileNameRoot, extension) suffixIndex = 1 while fileName in fileNames: fileName = '%s_%s.%s' % (fileNameRoot, suffixIndex, extension) suffixIndex += 1 folderName = evaluate.getEvaluatedStringDefault('', 'folder', xmlElement) absoluteFolderDirectory = os.path.join(os.path.dirname(xmlElement.getRoot().parser.fileName), folderName) absoluteFileName = os.path.abspath(os.path.join(absoluteFolderDirectory, fileName)) if 'models/' not in absoluteFileName: print('Warning, models/ was not in the absolute file path, so for security nothing will be done for:') print(xmlElement) print('For which the absolute file path is:') print(absoluteFileName) print('The write tool can only write a file which has models/ in the file path.') print('To write the file, move the file into a folder called model/ or a subfolder which is inside the model folder tree.') return fileNames.append(fileName) archive.makeDirectory(absoluteFolderDirectory) if not evaluate.getEvaluatedBooleanDefault(True, 'writeMatrix', xmlElement): object.matrix4X4 = matrix.Matrix() print('The write tool generated the file:') print(absoluteFileName) archive.writeFileText(absoluteFileName, object.getFabricationText())
def __init__(self): "Set the default entities, execute title & repository fileName." settings.addListsToRepository('skeinforge_application.skeinforge_utilities.skeinforge_profile.html', self) importantFileNames = ['extrusion'] self.craftRadios = settings.getRadioPluginsAddPluginFrame( getPluginsDirectoryPath(), importantFileNames, getPluginFileNames(), self ) ProfilePluginRadioButtonsSaveListener().getFromRadioPlugins( self.craftRadios, self ) for craftRadio in self.craftRadios: craftRadio.updateFunction = self.updateRelay directoryName = archive.getProfilesPath() archive.makeDirectory(directoryName) self.windowPosition.value = '0+200'
def writeXMLElement(fileNames, target, xmlElement): "Write target." object = target.object if object == None: print('Warning, writeTarget in write could not get object for:') print(xmlElement) return fileNameRoot = evaluate.getEvaluatedStringDefault('', 'name', target) fileNameRoot = evaluate.getEvaluatedStringDefault(fileNameRoot, 'id', target) fileNameRoot = evaluate.getEvaluatedStringDefault(fileNameRoot, 'file', xmlElement) fileNameRoot += evaluate.getEvaluatedStringDefault('', 'suffix', xmlElement) extension = evaluate.getEvaluatedStringDefault( object.getFabricationExtension(), 'extension', xmlElement) fileName = '%s.%s' % (fileNameRoot, extension) suffixIndex = 1 while fileName in fileNames: fileName = '%s_%s.%s' % (fileNameRoot, suffixIndex, extension) suffixIndex += 1 folderName = evaluate.getEvaluatedStringDefault('', 'folder', xmlElement) absoluteFolderDirectory = os.path.join( os.path.dirname(xmlElement.getRoot().parser.fileName), folderName) absoluteFileName = os.path.abspath( os.path.join(absoluteFolderDirectory, fileName)) if 'models/' not in absoluteFileName: print( 'Warning, models/ was not in the absolute file path, so for security nothing will be done for:' ) print(xmlElement) print('For which the absolute file path is:') print(absoluteFileName) print( 'The write tool can only write a file which has models/ in the file path.' ) print( 'To write the file, move the file into a folder called model/ or a subfolder which is inside the model folder tree.' ) return fileNames.append(fileName) archive.makeDirectory(absoluteFolderDirectory) if not evaluate.getEvaluatedBooleanDefault(True, 'writeMatrix', xmlElement): object.matrix4X4 = matrix.Matrix() print('The write tool generated the file:') print(absoluteFileName) archive.writeFileText(absoluteFileName, object.getFabricationText())
def writeXMLObject(absoluteFolderDirectory, derivation, fileNames, target, xmlObject): "Write one instance of the xmlObject." extension = evaluate.getEvaluatedString(xmlObject.getFabricationExtension(), derivation.elementNode, 'extension') fileNameRoot = derivation.fileName if fileNameRoot == '': fileNameRoot = evaluate.getEvaluatedString('', target, 'name') fileNameRoot = evaluate.getEvaluatedString(fileNameRoot, target, 'id') fileNameRoot += derivation.suffix fileName = '%s.%s' % (fileNameRoot, extension) suffixIndex = 2 while fileName in fileNames: fileName = '%s_%s.%s' % (fileNameRoot, suffixIndex, extension) suffixIndex += 1 absoluteFileName = os.path.join(absoluteFolderDirectory, fileName) fileNames.append(fileName) archive.makeDirectory(absoluteFolderDirectory) if not derivation.writeMatrix: xmlObject.matrix4X4 = matrix.Matrix() print('The write tool generated the file:') print(absoluteFileName) archive.writeFileText(absoluteFileName, xmlObject.getFabricationText(derivation.addLayerTemplate))