Exemple #1
0
 def addInitializationToOutput(self):
     "Add initialization gcode to the output."
     self.distanceFeedRate.addTagBracketedLine("format", "skeinforge gcode")
     absoluteFilePathUntilDot = archive.getUntilDot(archive.getCraftPluginsDirectoryPath("preface.py"))
     dateTodayString = date.today().isoformat().replace("-", ".")[2:]
     if (
         absoluteFilePathUntilDot
         == "/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/preface"
     ):  # is this script on Enrique's computer?
         archive.writeFileText(archive.getVersionFileName(), dateTodayString)
     versionText = archive.getFileText(archive.getVersionFileName())
     self.distanceFeedRate.addTagBracketedLine("version", versionText)
     dateTimeTuple = datetime.now().timetuple()
     created = dateTodayString + "|%s:%s" % (dateTimeTuple[3], dateTimeTuple[4])
     self.distanceFeedRate.addTagBracketedLine("created", created)
     self.distanceFeedRate.addLine("(<extruderInitialization>)")
     if self.repository.setPositioningToAbsolute.value:
         self.distanceFeedRate.addLine("G90 ;set positioning to absolute")  # Set positioning to absolute.
     if self.repository.setUnitsToMillimeters.value:
         self.distanceFeedRate.addLine("G21 ;set units to millimeters")  # Set units to millimeters.
     if self.repository.startAtHome.value:
         self.distanceFeedRate.addLine("G28 ;start at home")  # Start at home.
     if self.repository.turnExtruderOffAtStartUp.value:
         self.distanceFeedRate.addLine("M103")  # Turn extruder off.
     craftTypeName = skeinforge_profile.getCraftTypeName()
     self.distanceFeedRate.addTagBracketedLine("craftTypeName", craftTypeName)
     self.distanceFeedRate.addTagBracketedLine("decimalPlacesCarried", self.distanceFeedRate.decimalPlacesCarried)
     layerHeight = float(self.svgReader.sliceDictionary["layerHeight"])
     self.distanceFeedRate.addTagRoundedLine("layerThickness", layerHeight)
     self.distanceFeedRate.addTagRoundedLine("layerHeight", layerHeight)
     if self.repository.meta.value:
         self.distanceFeedRate.addTagBracketedLine("meta", self.repository.meta.value)
     edgeWidth = float(self.svgReader.sliceDictionary["edgeWidth"])
     self.distanceFeedRate.addTagRoundedLine("edgeWidth", edgeWidth)
     self.distanceFeedRate.addTagRoundedLine("perimeterWidth", edgeWidth)
     self.distanceFeedRate.addTagBracketedLine("profileName", skeinforge_profile.getProfileName(craftTypeName))
     self.distanceFeedRate.addLine("(<settings>)")
     pluginFileNames = skeinforge_craft.getPluginFileNames()
     for pluginFileName in pluginFileNames:
         self.addToolSettingLines(pluginFileName)
     self.distanceFeedRate.addLine("(</settings>)")
     self.distanceFeedRate.addTagBracketedLine("timeStampPreface", strftime("%Y%m%d_%H%M%S"))
     procedureNames = self.svgReader.sliceDictionary["procedureName"].replace(",", " ").split()
     for procedureName in procedureNames:
         self.distanceFeedRate.addTagBracketedProcedure(procedureName)
     self.distanceFeedRate.addTagBracketedProcedure("preface")
     self.distanceFeedRate.addLine(
         "(</extruderInitialization>)"
     )  # Initialization is finished, extrusion is starting.
     self.distanceFeedRate.addLine("(<crafting>)")  # Initialization is finished, crafting is starting.
Exemple #2
0
	def __init__(self):
		'Set the default settings, execute title & settings fileName.'
		skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.export.html', self)
		self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Export', self, '')
		self.openWikiManualHelpPage = settings.HelpPage().getOpenFromDocumentationSubName('skeinforge_application.skeinforge_plugins.craft_plugins.export.html')
		self.activateExport = settings.BooleanSetting().getFromValue('Activate Export', self, True)
		self.addDescriptiveExtension = settings.BooleanSetting().getFromValue('Add Descriptive Extension', self, False)
		self.addExportSuffix = settings.BooleanSetting().getFromValue('Add Export Suffix', self, True)
		self.addProfileExtension = settings.BooleanSetting().getFromValue('Add Profile Extension', self, False)
		self.addTimestampExtension = settings.BooleanSetting().getFromValue('Add Timestamp Extension', self, False)
		self.alsoSendOutputTo = settings.StringSetting().getFromValue('Also Send Output To:', self, '')
		self.analyzeGcode = settings.BooleanSetting().getFromValue('Analyze Gcode', self, True)
		self.commentLabel = settings.LabelDisplay().getFromName('Comment Deletion Choices:', self)
		self.deleteKeepComments = settings.BooleanSetting().getFromValue('Delete <keep> Comments', self, False)
		self.deleteTraceComments = settings.BooleanSetting().getFromValue('Delete Trace Comments', self, False)
		self.deleteLayerComments = settings.BooleanSetting().getFromValue('Delete <layer> Comments', self, False)
		self.deleteSettingsComments = settings.BooleanSetting().getFromValue('Delete Settings Comments', self, False)
		self.deleteInitialisationComments = settings.BooleanSetting().getFromValue('Delete Other Initialisation Comments', self, False)
		self.deletePrefaceComments = settings.BooleanSetting().getFromValue('Delete Other Preface Comments', self, False)
		self.deleteCraftingComments = settings.BooleanSetting().getFromValue('Delete Other Crafting Comments', self, False)
		self.deleteTaggedComments = settings.BooleanSetting().getFromValue('Delete Other Tagged Comments', self, False)
		self.deleteStarredComments = settings.BooleanSetting().getFromValue('Delete Other Starred Comments', self, False)
		self.deleteOtherComments = settings.BooleanSetting().getFromValue('Delete All Other Comments', self, False)
		exportPluginsFolderPath = archive.getAbsoluteFrozenFolderPath(archive.getCraftPluginsDirectoryPath('export.py'), 'export_plugins')
		exportStaticDirectoryPath = os.path.join(exportPluginsFolderPath, 'static_plugins')
		exportPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(exportPluginsFolderPath)
		exportStaticPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(exportStaticDirectoryPath)
		self.exportLabel = settings.LabelDisplay().getFromName('Export Operations: ', self)
		self.exportPlugins = []
		exportLatentStringVar = settings.LatentStringVar()
		self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, 'Do Not Change Output', self, True)
		self.doNotChangeOutput.directoryPath = None
		allExportPluginFileNames = exportPluginFileNames + exportStaticPluginFileNames
		for exportPluginFileName in allExportPluginFileNames:
			exportPlugin = None
			if exportPluginFileName in exportPluginFileNames:
				path = os.path.join(exportPluginsFolderPath, exportPluginFileName)
				exportPlugin = settings.RadioCapitalizedButton().getFromPath(exportLatentStringVar, exportPluginFileName, path, self, False)
				exportPlugin.directoryPath = exportPluginsFolderPath
			else:
				exportPlugin = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, exportPluginFileName, self, False)
				exportPlugin.directoryPath = exportStaticDirectoryPath
			self.exportPlugins.append(exportPlugin)
		self.fileExtension = settings.StringSetting().getFromValue('File Extension:', self, 'gcode')
		self.nameOfReplaceFile = settings.StringSetting().getFromValue('Name of Replace File:', self, 'replace.csv')
		self.savePenultimateGcode = settings.BooleanSetting().getFromValue('Save Penultimate Gcode', self, False)
		self.executeTitle = 'Export'
Exemple #3
0
	def addInitializationToOutput(self):
		"Add initialization gcode to the output."
		self.distanceFeedRate.addTagBracketedLine('format', 'skeinforge gcode')
		absoluteFilePathUntilDot = archive.getUntilDot(archive.getCraftPluginsDirectoryPath('preface.py'))
		dateTodayString = date.today().isoformat().replace('-', '.')[2 :]
		if absoluteFilePathUntilDot == '/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/preface': #is this script on Enrique's computer?
			archive.writeFileText(archive.getVersionFileName(), dateTodayString)
		versionText = archive.getFileText(archive.getVersionFileName())
		self.distanceFeedRate.addTagBracketedLine('version', versionText)
		dateTimeTuple = datetime.now().timetuple()
		created = dateTodayString + '|%s:%s' % (dateTimeTuple[3], dateTimeTuple[4])
		self.distanceFeedRate.addTagBracketedLine('created', created)
		self.distanceFeedRate.addLine('(<extruderInitialization>)')
		if self.repository.setPositioningToAbsolute.value:
			self.distanceFeedRate.addLine('G90 ;set positioning to absolute') # Set positioning to absolute.
		if self.repository.setUnitsToMillimeters.value:
			self.distanceFeedRate.addLine('G21 ;set units to millimeters') # Set units to millimeters.
		if self.repository.startAtHome.value:
			self.distanceFeedRate.addLine('G28 ;start at home') # Start at home.
		if self.repository.resetExtruder.value:
			self.distanceFeedRate.addLine('G92 E0 ;reset extruder distance') # Start at home.
		if self.repository.turnExtruderOffAtStartUp.value:
			self.distanceFeedRate.addLine('M103') # Turn extruder off.
		craftTypeName = skeinforge_profile.getCraftTypeName()
		self.distanceFeedRate.addTagBracketedLine('craftTypeName', craftTypeName)
		self.distanceFeedRate.addTagBracketedLine('decimalPlacesCarried', self.distanceFeedRate.decimalPlacesCarried)
		layerHeight = float(self.svgReader.sliceDictionary['layerHeight'])
		self.distanceFeedRate.addTagRoundedLine('layerThickness', layerHeight)
		self.distanceFeedRate.addTagRoundedLine('layerHeight', layerHeight)
		if self.repository.meta.value:
			self.distanceFeedRate.addTagBracketedLine('meta', self.repository.meta.value)
		edgeWidth = float(self.svgReader.sliceDictionary['edgeWidth'])
		self.distanceFeedRate.addTagRoundedLine('edgeWidth', edgeWidth)
		self.distanceFeedRate.addTagRoundedLine('perimeterWidth', edgeWidth)
		self.distanceFeedRate.addTagBracketedLine('profileName', skeinforge_profile.getProfileName(craftTypeName))
		self.distanceFeedRate.addLine('(<settings>)')
		pluginFileNames = skeinforge_craft.getPluginFileNames()
		for pluginFileName in pluginFileNames:
			self.addToolSettingLines(pluginFileName)
		self.distanceFeedRate.addLine('(</settings>)')
		self.distanceFeedRate.addTagBracketedLine('timeStampPreface', strftime('%Y%m%d_%H%M%S'))
		procedureNames = self.svgReader.sliceDictionary['procedureName'].replace(',', ' ').split()
		for procedureName in procedureNames:
			self.distanceFeedRate.addTagBracketedProcedure(procedureName)
		self.distanceFeedRate.addTagBracketedProcedure('preface')
		self.distanceFeedRate.addLine('(</extruderInitialization>)') # Initialization is finished, extrusion is starting.
		self.distanceFeedRate.addLine('(<crafting>)') # Initialization is finished, crafting is starting.
Exemple #4
0
	def addInitializationToOutput(self):
		"Add initialization gcode to the output."
		self.distanceFeedRate.addTagBracketedLine('format', 'skeinforge gcode')
		absoluteFilePathUntilDot = archive.getUntilDot(archive.getCraftPluginsDirectoryPath('preface.py'))
		dateTodayString = date.today().isoformat().replace('-', '.')[2 :]
		if absoluteFilePathUntilDot == '/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/preface': #is this script on Enrique's computer?
			archive.writeFileText(archive.getVersionFileName(), dateTodayString)
		versionText = archive.getFileText(archive.getVersionFileName())
		self.distanceFeedRate.addTagBracketedLine('version', versionText)
		dateTimeTuple = datetime.now().timetuple()
		created = dateTodayString + '|%s:%s' % (dateTimeTuple[3], dateTimeTuple[4])
		self.distanceFeedRate.addTagBracketedLine('created', created)
		self.distanceFeedRate.addLine('(<extruderInitialization>)')
		if self.repository.setPositioningToAbsolute.value:
			self.distanceFeedRate.addLine('G90 ;set positioning to absolute') # Set positioning to absolute.
		if self.repository.setUnitsToMillimeters.value:
			self.distanceFeedRate.addLine('G21 ;set units to millimeters') # Set units to millimeters.
		if self.repository.startAtHome.value:
			self.distanceFeedRate.addLine('G28 ;start at home') # Start at home.
		if self.repository.turnExtruderOffAtStartUp.value:
			self.distanceFeedRate.addLine('M103') # Turn extruder off.
		craftTypeName = skeinforge_profile.getCraftTypeName()
		self.distanceFeedRate.addTagBracketedLine('craftTypeName', craftTypeName)
		self.distanceFeedRate.addTagBracketedLine('decimalPlacesCarried', self.distanceFeedRate.decimalPlacesCarried)
		layerHeight = float(self.svgReader.sliceDictionary['layerHeight'])
		self.distanceFeedRate.addTagRoundedLine('layerThickness', layerHeight)
		self.distanceFeedRate.addTagRoundedLine('layerHeight', layerHeight)
		if self.repository.meta.value:
			self.distanceFeedRate.addTagBracketedLine('meta', self.repository.meta.value)
		edgeWidth = float(self.svgReader.sliceDictionary['edgeWidth'])
		self.distanceFeedRate.addTagRoundedLine('edgeWidth', edgeWidth)
		self.distanceFeedRate.addTagRoundedLine('perimeterWidth', edgeWidth)
		self.distanceFeedRate.addTagBracketedLine('profileName', skeinforge_profile.getProfileName(craftTypeName))
		self.distanceFeedRate.addLine('(<settings>)')
		pluginFileNames = skeinforge_craft.getPluginFileNames()
		for pluginFileName in pluginFileNames:
			self.addToolSettingLines(pluginFileName)
		self.distanceFeedRate.addLine('(</settings>)')
		self.distanceFeedRate.addTagBracketedLine('timeStampPreface', strftime('%Y%m%d_%H%M%S'))
		procedureNames = self.svgReader.sliceDictionary['procedureName'].replace(',', ' ').split()
		for procedureName in procedureNames:
			self.distanceFeedRate.addTagBracketedProcedure(procedureName)
		self.distanceFeedRate.addTagBracketedProcedure('preface')
		self.distanceFeedRate.addLine('(</extruderInitialization>)') # Initialization is finished, extrusion is starting.
		self.distanceFeedRate.addLine('(<crafting>)') # Initialization is finished, crafting is starting.
Exemple #5
0
	def __init__(self):
		'Set the default settings, execute title & settings fileName.'
		skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.export.html', self)
		self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Export', self, '')
		self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Export')
		self.activateExport = settings.BooleanSetting().getFromValue('Activate Export', self, True)
		self.addExportSuffix = settings.BooleanSetting().getFromValue('Add _export to filename (filename_export)', self, True)
		self.alsoSendOutputTo = settings.StringSetting().getFromValue('Also Send Output To:', self, '')
		self.analyzeGcode = settings.BooleanSetting().getFromValue('Analyze Gcode', self, True)
		self.commentChoice = settings.MenuButtonDisplay().getFromName('Handling of Comments in G-Code:', self)
		self.doNotDeleteComments = settings.MenuRadio().getFromMenuButtonDisplay(self.commentChoice, 'Do Not Delete Comments', self, False)
		self.deleteCraftingComments = settings.MenuRadio().getFromMenuButtonDisplay(self.commentChoice, 'Delete Crafting Comments', self, False)
		self.deleteAllComments = settings.MenuRadio().getFromMenuButtonDisplay(self.commentChoice, 'Delete All Comments', self, True)
		exportPluginsFolderPath = archive.getAbsoluteFrozenFolderPath(archive.getCraftPluginsDirectoryPath('export.py'), 'export_plugins')
		exportStaticDirectoryPath = os.path.join(exportPluginsFolderPath, 'static_plugins')
		exportPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(exportPluginsFolderPath)
		exportStaticPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(exportStaticDirectoryPath)
		settings.LabelDisplay().getFromName(' ', self)
		self.exportLabel = settings.LabelDisplay().getFromName('--Export Operations-- ', self)
		self.exportPlugins = []
		exportLatentStringVar = settings.LatentStringVar()
		self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, 'Do Not Change Output', self, True)
		self.doNotChangeOutput.directoryPath = None
		allExportPluginFileNames = exportPluginFileNames + exportStaticPluginFileNames
		for exportPluginFileName in allExportPluginFileNames:
			exportPlugin = None
			if exportPluginFileName in exportPluginFileNames:
				path = os.path.join(exportPluginsFolderPath, exportPluginFileName)
				exportPlugin = settings.RadioCapitalizedButton().getFromPath(exportLatentStringVar, exportPluginFileName, path, self, False)
				exportPlugin.directoryPath = exportPluginsFolderPath
			else:
				exportPlugin = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, exportPluginFileName, self, False)
				exportPlugin.directoryPath = exportStaticDirectoryPath
			self.exportPlugins.append(exportPlugin)
		self.fileExtension = settings.StringSetting().getFromValue('File Extension (gcode):', self, 'gcode')
		self.nameOfReplaceFile = settings.StringSetting().getFromValue('Name of Replace File:', self, 'replace.csv')
		self.savePenultimateGcode = settings.BooleanSetting().getFromValue('Save Penultimate Gcode', self, True)
		settings.LabelDisplay().getFromName(' ', self)
		settings.LabelDisplay().getFromName('--File Name Alterations--', self)
		settings.LabelDisplay().getFromName('"WARNING" IF ANY OF BELOW CHECKBOXES ARE CHECKED', self)
		settings.LabelDisplay().getFromName('SFACT WILL NOT WORK FROM WITHIN PRONTERFACE!!', self)
		self.addProfileExtension = settings.BooleanSetting().getFromValue('Add Profile Extension', self, False)
		self.addDescriptiveExtension = settings.BooleanSetting().getFromValue('Add Descriptive Extension', self, False)
		self.addTimestampExtension = settings.BooleanSetting().getFromValue('Add Timestamp Extension', self, False)
		self.executeTitle = 'Export'
Exemple #6
0
	def __init__(self):
		'Set the default settings, execute title & settings fileName.'
		skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.export.html', self)
		self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Export', self, '')
		self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Export')
		self.activateExport = settings.BooleanSetting().getFromValue('Activate Export', self, True)
		self.alsoSendOutputTo = settings.StringSetting().getFromValue('Also Send Output To:', self, '')
		self.analyzeGcode = settings.BooleanSetting().getFromValue('Analyze Gcode', self, True)
		self.commentChoice = settings.MenuButtonDisplay().getFromName('Comment Choice:', self)
		self.doNotDeleteComments = settings.MenuRadio().getFromMenuButtonDisplay(self.commentChoice, 'Do Not Delete Comments', self, True)
		self.deleteCraftingComments = settings.MenuRadio().getFromMenuButtonDisplay(self.commentChoice, 'Delete Crafting Comments', self, False)
		self.deleteAllComments = settings.MenuRadio().getFromMenuButtonDisplay(self.commentChoice, 'Delete All Comments', self, False)
		exportPluginsFolderPath = archive.getAbsoluteFrozenFolderPath(archive.getCraftPluginsDirectoryPath('export.py'), 'export_plugins')
		exportStaticDirectoryPath = os.path.join(exportPluginsFolderPath, 'static_plugins')
		exportPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(exportPluginsFolderPath)
		exportStaticPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(exportStaticDirectoryPath)
		self.exportLabel = settings.LabelDisplay().getFromName('Export Operations: ', self)
		self.exportPlugins = []
		exportLatentStringVar = settings.LatentStringVar()
		self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, 'Do Not Change Output', self, False)
		self.doNotChangeOutput.directoryPath = None
		allExportPluginFileNames = exportPluginFileNames + exportStaticPluginFileNames
		for exportPluginFileName in allExportPluginFileNames:
			exportPlugin = None
			default = False
			if exportPluginFileName == "gcode_small":
				default = True
			if exportPluginFileName in exportPluginFileNames:
				path = os.path.join(exportPluginsFolderPath, exportPluginFileName)
				exportPlugin = settings.RadioCapitalizedButton().getFromPath(exportLatentStringVar, exportPluginFileName, path, self, default)
				exportPlugin.directoryPath = exportPluginsFolderPath
			else:
				exportPlugin = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, exportPluginFileName, self, default)
				exportPlugin.directoryPath = exportStaticDirectoryPath
			self.exportPlugins.append(exportPlugin)
		self.fileExtension = settings.StringSetting().getFromValue('File Extension:', self, 'gcode')
		self.nameOfReplaceFile = settings.StringSetting().getFromValue('Name of Replace File:', self, 'replace.csv')
		self.savePenultimateGcode = settings.BooleanSetting().getFromValue('Save Penultimate Gcode', self, False)
		self.executeTitle = 'Export'
Exemple #7
0
def getPluginsDirectoryPath():
	"Get the plugins directory path."
	return archive.getCraftPluginsDirectoryPath()
Exemple #8
0
 def __init__(self):
     'Set the default settings, execute title & settings fileName.'
     skeinforge_profile.addListsToCraftTypeRepository(
         'skeinforge_application.skeinforge_plugins.craft_plugins.export.html',
         self)
     self.fileNameInput = settings.FileNameInput().getFromFileName(
         fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(),
         'Open File for Export', self, '')
     self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute(
         'http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Export')
     self.activateExport = settings.BooleanSetting().getFromValue(
         'Activate Export', self, True)
     self.alsoSendOutputTo = settings.StringSetting().getFromValue(
         'Also Send Output To:', self, '')
     self.analyzeGcode = settings.BooleanSetting().getFromValue(
         'Analyze Gcode', self, True)
     self.commentChoice = settings.MenuButtonDisplay().getFromName(
         'Comment Choice:', self)
     self.doNotDeleteComments = settings.MenuRadio(
     ).getFromMenuButtonDisplay(self.commentChoice,
                                'Do Not Delete Comments', self, True)
     self.deleteCraftingComments = settings.MenuRadio(
     ).getFromMenuButtonDisplay(self.commentChoice,
                                'Delete Crafting Comments', self, False)
     self.deleteAllComments = settings.MenuRadio().getFromMenuButtonDisplay(
         self.commentChoice, 'Delete All Comments', self, False)
     exportPluginsFolderPath = archive.getAbsoluteFrozenFolderPath(
         archive.getCraftPluginsDirectoryPath('export.py'),
         'export_plugins')
     exportStaticDirectoryPath = os.path.join(exportPluginsFolderPath,
                                              'static_plugins')
     exportPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(
         exportPluginsFolderPath)
     exportStaticPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(
         exportStaticDirectoryPath)
     self.exportLabel = settings.LabelDisplay().getFromName(
         'Export Operations: ', self)
     self.exportPlugins = []
     exportLatentStringVar = settings.LatentStringVar()
     self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio(
         exportLatentStringVar, 'Do Not Change Output', self, False)
     self.doNotChangeOutput.directoryPath = None
     allExportPluginFileNames = exportPluginFileNames + exportStaticPluginFileNames
     for exportPluginFileName in allExportPluginFileNames:
         exportPlugin = None
         default = False
         if exportPluginFileName == "gcode_small":
             default = True
         if exportPluginFileName in exportPluginFileNames:
             path = os.path.join(exportPluginsFolderPath,
                                 exportPluginFileName)
             exportPlugin = settings.RadioCapitalizedButton().getFromPath(
                 exportLatentStringVar, exportPluginFileName, path, self,
                 default)
             exportPlugin.directoryPath = exportPluginsFolderPath
         else:
             exportPlugin = settings.RadioCapitalized().getFromRadio(
                 exportLatentStringVar, exportPluginFileName, self, default)
             exportPlugin.directoryPath = exportStaticDirectoryPath
         self.exportPlugins.append(exportPlugin)
     self.fileExtension = settings.StringSetting().getFromValue(
         'File Extension:', self, 'gcode')
     self.nameOfReplaceFile = settings.StringSetting().getFromValue(
         'Name of Replace File:', self, 'replace.csv')
     self.savePenultimateGcode = settings.BooleanSetting().getFromValue(
         'Save Penultimate Gcode', self, False)
     self.executeTitle = 'Export'
 def __init__(self):
     'Set the default settings, execute title & settings fileName.'
     skeinforge_profile.addListsToCraftTypeRepository(
         'skeinforge_application.skeinforge_plugins.craft_plugins.export.html',
         self)
     self.fileNameInput = settings.FileNameInput().getFromFileName(
         fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(),
         'Open File for Export', self, '')
     self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute(
         'http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Export')
     self.activateExport = settings.BooleanSetting().getFromValue(
         'Activate Export', self, True)
     self.addExportSuffix = settings.BooleanSetting().getFromValue(
         'Add _export to filename (filename_export)', self, True)
     self.alsoSendOutputTo = settings.StringSetting().getFromValue(
         'Also Send Output To:', self, '')
     self.analyzeGcode = settings.BooleanSetting().getFromValue(
         'Analyze Gcode', self, True)
     self.commentChoice = settings.MenuButtonDisplay().getFromName(
         'Handling of Comments in G-Code:', self)
     self.doNotDeleteComments = settings.MenuRadio(
     ).getFromMenuButtonDisplay(self.commentChoice,
                                'Do Not Delete Comments', self, False)
     self.deleteCraftingComments = settings.MenuRadio(
     ).getFromMenuButtonDisplay(self.commentChoice,
                                'Delete Crafting Comments', self, False)
     self.deleteAllComments = settings.MenuRadio().getFromMenuButtonDisplay(
         self.commentChoice, 'Delete All Comments', self, True)
     exportPluginsFolderPath = archive.getAbsoluteFrozenFolderPath(
         archive.getCraftPluginsDirectoryPath('export.py'),
         'export_plugins')
     exportStaticDirectoryPath = os.path.join(exportPluginsFolderPath,
                                              'static_plugins')
     exportPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(
         exportPluginsFolderPath)
     exportStaticPluginFileNames = archive.getPluginFileNamesFromDirectoryPath(
         exportStaticDirectoryPath)
     settings.LabelDisplay().getFromName(' ', self)
     self.exportLabel = settings.LabelDisplay().getFromName(
         '--Export Operations-- ', self)
     self.exportPlugins = []
     exportLatentStringVar = settings.LatentStringVar()
     self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio(
         exportLatentStringVar, 'Do Not Change Output', self, True)
     self.doNotChangeOutput.directoryPath = None
     allExportPluginFileNames = exportPluginFileNames + exportStaticPluginFileNames
     for exportPluginFileName in allExportPluginFileNames:
         exportPlugin = None
         if exportPluginFileName in exportPluginFileNames:
             path = os.path.join(exportPluginsFolderPath,
                                 exportPluginFileName)
             exportPlugin = settings.RadioCapitalizedButton().getFromPath(
                 exportLatentStringVar, exportPluginFileName, path, self,
                 False)
             exportPlugin.directoryPath = exportPluginsFolderPath
         else:
             exportPlugin = settings.RadioCapitalized().getFromRadio(
                 exportLatentStringVar, exportPluginFileName, self, False)
             exportPlugin.directoryPath = exportStaticDirectoryPath
         self.exportPlugins.append(exportPlugin)
     self.fileExtension = settings.StringSetting().getFromValue(
         'File Extension (gcode):', self, 'gcode')
     self.nameOfReplaceFile = settings.StringSetting().getFromValue(
         'Name of Replace File:', self, 'replace.csv')
     self.savePenultimateGcode = settings.BooleanSetting().getFromValue(
         'Save Penultimate Gcode', self, True)
     settings.LabelDisplay().getFromName(' ', self)
     settings.LabelDisplay().getFromName('--File Name Alterations--', self)
     settings.LabelDisplay().getFromName(
         '"WARNING" IF ANY OF BELOW CHECKBOXES ARE CHECKED', self)
     settings.LabelDisplay().getFromName(
         'SFACT WILL NOT WORK FROM WITHIN PRONTERFACE!!', self)
     self.addProfileExtension = settings.BooleanSetting().getFromValue(
         'Add Profile Extension', self, False)
     self.addDescriptiveExtension = settings.BooleanSetting().getFromValue(
         'Add Descriptive Extension', self, False)
     self.addTimestampExtension = settings.BooleanSetting().getFromValue(
         'Add Timestamp Extension', self, False)
     self.executeTitle = 'Export'