# Path: skeinforge_application/skeinforge_utilities/skeinforge_craft.py
# def getChainText( fileName, procedure ):
# def getChainTextFromProcedures(fileName, procedures, text):
# def getCraftModule(pluginName):
# def getCraftPreferences(pluginName):
# def getCraftValue(preferenceName, preferences):
# def getLastModule():
# def getNewRepository():
# def getPluginFileNames():
# def getPluginsDirectoryPath():
# def getProcedures(procedure, text):
# def getReadCraftSequence():
# def writeChainTextWithNounMessage(fileName, procedure, shouldAnalyze=True):
# def writeOutput(fileName, shouldAnalyze=True):
# def writeSVGTextWithNounMessage(fileName, repository, shouldAnalyze=True):
# 	def addToDialog( self, gridPosition ):
# 	def getFromRadioPlugins( self, radioPlugins, repository ):
# 	def save(self):
# 	def setRadioButtons(self):
# 	def __init__(self):
# 	def execute(self):
# def main():
# class CraftRadioButtonsSaveListener:
# class CraftRepository:


import __init__
import os
import sys
from fabmetheus_utilities.fabmetheus_tools import fabmetheus_interpret
from fabmetheus_utilities import archive
from fabmetheus_utilities import euclidean
from fabmetheus_utilities import gcodec
from fabmetheus_utilities import settings
from optparse import OptionParser
from skeinforge_application.skeinforge_utilities import skeinforge_craft
from skeinforge_application.skeinforge_utilities import skeinforge_polyfile
from skeinforge_application.skeinforge_utilities import skeinforge_profile
		skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge.html', self)
		self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Skeinforge', self, '')
		self.profileType = settings.MenuButtonDisplay().getFromName('Profile Type: ', self )
		self.profileType.columnspan = 6
		self.profileSelection = settings.MenuButtonDisplay().getFromName('Profile Selection: ', self)
		self.profileSelection.columnspan = 6
		addToProfileMenu( self.profileSelection, self.profileType, self )
		settings.LabelDisplay().getFromName('', self)
		importantFileNames = ['craft', 'profile']
		getRadioPluginsAddPluginGroupFrame(archive.getSkeinforgePluginsPath(), importantFileNames, getPluginFileNames(), self)
		self.executeTitle = 'Skeinforge'

	def execute(self):
		'Skeinforge button has been clicked.'
		fileNames = skeinforge_polyfile.getFileOrDirectoryTypesUnmodifiedGcode(self.fileNameInput.value, fabmetheus_interpret.getImportPluginFileNames(), self.fileNameInput.wasCancelled)
		for fileName in fileNames:
			skeinforge_craft.writeOutput(fileName)

	def save(self):
		'Profile has been saved and profile menu should be updated.'
		self.profileType.removeMenus()
		self.profileSelection.removeMenus()
		addToProfileMenu(self.profileSelection, self.profileType, self)
		self.profileType.addRadiosToDialog(self.repositoryDialog)
		self.profileSelection.addRadiosToDialog(self.repositoryDialog)


def main():
	'Display the skeinforge dialog.'
	parser = OptionParser()

# Path: skeinforge_application/skeinforge_utilities/skeinforge_craft.py
# def getChainText( fileName, procedure ):
# def getChainTextFromProcedures(fileName, procedures, text):
# def getCraftModule(pluginName):
# def getCraftPreferences(pluginName):
# def getCraftValue(preferenceName, preferences):
# def getLastModule():
# def getNewRepository():
# def getPluginFileNames():
# def getPluginsDirectoryPath():
# def getProcedures(procedure, text):
# def getReadCraftSequence():
# def writeChainTextWithNounMessage(fileName, procedure, shouldAnalyze=True):
# def writeOutput(fileName, shouldAnalyze=True):
# def writeSVGTextWithNounMessage(fileName, repository, shouldAnalyze=True):
# 	def addToDialog( self, gridPosition ):
# 	def getFromRadioPlugins( self, radioPlugins, repository ):
# 	def save(self):
# 	def setRadioButtons(self):
# 	def __init__(self):
# 	def execute(self):
# def main():
# class CraftRadioButtonsSaveListener:
# class CraftRepository:


# Path: skeinforge_application/skeinforge.py
import __init__
import os
import sys
from fabmetheus_utilities.fabmetheus_tools import fabmetheus_interpret
from fabmetheus_utilities import archive
from fabmetheus_utilities import euclidean
from fabmetheus_utilities import gcodec
from fabmetheus_utilities import settings
from optparse import OptionParser
from skeinforge_application.skeinforge_utilities import skeinforge_craft
from skeinforge_application.skeinforge_utilities import skeinforge_polyfile
from skeinforge_application.skeinforge_utilities import skeinforge_profile

		skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge.html', self)
		self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Skeinforge', self, '')
		self.profileType = settings.MenuButtonDisplay().getFromName('Profile Type: ', self )
		self.profileType.columnspan = 6
		self.profileSelection = settings.MenuButtonDisplay().getFromName('Profile Selection: ', self)
		self.profileSelection.columnspan = 6
		addToProfileMenu( self.profileSelection, self.profileType, self )
		settings.LabelDisplay().getFromName('', self)
		importantFileNames = ['craft', 'profile']
		getRadioPluginsAddPluginGroupFrame(archive.getSkeinforgePluginsPath(), importantFileNames, getPluginFileNames(), self)
		self.executeTitle = 'Skeinforge'

	def execute(self):
		'Skeinforge button has been clicked.'
		fileNames = skeinforge_polyfile.getFileOrDirectoryTypesUnmodifiedGcode(self.fileNameInput.value, fabmetheus_interpret.getImportPluginFileNames(), self.fileNameInput.wasCancelled)
		for fileName in fileNames:
			skeinforge_craft.writeOutput(fileName)

	def save(self):
		'Profile has been saved and profile menu should be updated.'
		self.profileType.removeMenus()
		self.profileSelection.removeMenus()
		addToProfileMenu(self.profileSelection, self.profileType, self)
		self.profileType.addRadiosToDialog(self.repositoryDialog)
		self.profileSelection.addRadiosToDialog(self.repositoryDialog)


def main():
	'Display the skeinforge dialog.'
	parser = OptionParser()

	parser.add_option(