def setupTemplate(self): templateFiles = [] for path in PathPreferences.searchPaths(): templateFiles.extend(self.templateFilesIn(path)) template = {} for tFile in templateFiles: name = os.path.split(os.path.splitext(tFile)[0])[1][4:] if name in template: basename = name i = 0 while name in template: i = i + 1 name = basename + " (%s)" % i PathLog.track(name, tFile) template[name] = tFile selectTemplate = PathPreferences.defaultJobTemplate() index = 0 self.dialog.jobTemplate.addItem('<none>', '') for name in sorted(template.keys()): if template[name] == selectTemplate: index = self.dialog.jobTemplate.count() self.dialog.jobTemplate.addItem(name, template[name]) self.dialog.jobTemplate.setCurrentIndex(index) self.dialog.templateGroup.show()
def setupTemplate(self): templateFiles = [] for path in PathPreferences.searchPaths(): cleanPaths = [ f.replace("\\", "/") for f in self.templateFilesIn(path) ] # Standardize slashes used across os platforms templateFiles.extend(cleanPaths) template = {} for tFile in templateFiles: name = os.path.split(os.path.splitext(tFile)[0])[1][4:] if name in template: basename = name i = 0 while name in template: i = i + 1 name = basename + " (%s)" % i PathLog.track(name, tFile) template[name] = tFile selectTemplate = PathPreferences.defaultJobTemplate() index = 0 self.dialog.jobTemplate.addItem("<none>", "") for name in sorted(template.keys()): if template[name] == selectTemplate: index = self.dialog.jobTemplate.count() self.dialog.jobTemplate.addItem(name, template[name]) self.dialog.jobTemplate.setCurrentIndex(index) self.dialog.templateGroup.show()
def load(cls, processor): PathLog.track(processor) syspath = sys.path paths = PathPreferences.searchPaths() paths.extend(sys.path) sys.path = paths postname = processor + "_post" namespace = {} #can't modify function local scope with exec in python3 exec("import %s as current_post" % postname, namespace) current_post = namespace['current_post'] # make sure the script is reloaded if it was previously loaded # should the script have been imported for the first time above # then the initialization code of the script gets executed twice # resulting in 2 load messages if the script outputs one of those. try: # Python 2.7 exec("reload(%s)" % 'current_post') except NameError: # Python 3.4+ from importlib import reload exec("reload(%s)" % 'current_post') sys.path = syspath instance = PostProcessor(current_post) instance.units = None if hasattr(current_post, "UNITS"): if current_post.UNITS == "G21": instance.units = "Metric" else: instance.units = "Inch" instance.machineName = None if hasattr(current_post, "MACHINE_NAME"): instance.machineName = current_post.MACHINE_NAME instance.cornerMax = None if hasattr(current_post, "CORNER_MAX"): instance.cornerMax = {'x': current_post.CORNER_MAX['x'], 'y': current_post.CORNER_MAX['y'], 'z': current_post.CORNER_MAX['z']} instance.cornerMin = None if hasattr(current_post, "CORNER_MIN"): instance.cornerMin = {'x': current_post.CORNER_MIN['x'], 'y': current_post.CORNER_MIN['y'], 'z': current_post.CORNER_MIN['z']} instance.tooltip = None instance.tooltipArgs = None if hasattr(current_post, "TOOLTIP"): instance.tooltip = current_post.TOOLTIP if hasattr(current_post, "TOOLTIP_ARGS"): instance.tooltipArgs = current_post.TOOLTIP_ARGS return instance
def __init__(self, parent=None): self.dialog = FreeCADGui.PySideUic.loadUi(":/panels/DlgJobCreate.ui") sel = FreeCADGui.Selection.getSelection() if sel: selected = sel[0].Label else: selected = None index = 0 for base in PathJob.ObjectJob.baseCandidates(): if base.Label == selected: index = self.dialog.cbModel.count() self.dialog.cbModel.addItem(base.Label) self.dialog.cbModel.setCurrentIndex(index) templateFiles = [] for path in PathPreferences.searchPaths(): templateFiles.extend(self.templateFilesIn(path)) template = {} for tFile in templateFiles: name = os.path.split(os.path.splitext(tFile)[0])[1][4:] if name in template: basename = name i = 0 while name in template: i = i + 1 name = basename + " (%s)" % i PathLog.track(name, tFile) template[name] = tFile selectTemplate = PathPreferences.defaultJobTemplate() index = 0 self.dialog.cbTemplate.addItem('<none>', '') for name in sorted(template.keys()): if template[name] == selectTemplate: index = self.dialog.cbTemplate.count() self.dialog.cbTemplate.addItem(name, template[name]) self.dialog.cbTemplate.setCurrentIndex(index)
def test00(self): '''There is at least one search path.''' paths = PathPreferences.searchPaths() self.assertGreater(len(paths), 0)