def _ask_parameters(): parser = argparse.ArgumentParser() parser.add_argument('input', help='Input file') parser.add_argument('-o', '--output', help='Output G-Code file') parser.add_argument( '-is', '--settings', help= 'Input settings file (will be overridden if additional parameters are supplied)' ) parser.add_argument('-os', '--output-settings', dest="output_settings", help='Output file where used settings will be stored') parser.add_argument('--scanline', action='store_true', dest="scan_line", help='Use a scan line slicer') help_template = '{}: {} (default: {})' for group_key, prop in settings_iter(): h = help_template.format(group_key, prop.description, prop.default) parser.add_argument('-' + prop.arg, '--' + prop.name, type=prop.TYPE, help=h, default=prop.default) return parser.parse_args()
def test_write_read(self): s_ref = gs.SlicerSettings() for group_key, prop in gs.settings_iter(): if hasattr(prop, 'low'): s_ref[prop.name] = prop.low if prop.TYPE is str: s_ref[prop.name] = 'asd' if prop.TYPE is bool: s_ref[prop.name] = not prop.default # write to file file_name = get_tm_file('.json') s_ref.write_file(file_name) # read from file s_read = gs.SlicerSettings() s_read.load_file(file_name) # check if the same for group_key, prop in gs.settings_iter(): self.assertEqual(s_ref[prop.name], s_read[prop.name])
def _ask_parameters(): parser = argparse.ArgumentParser() parser.add_argument('input', help='Input file') parser.add_argument('-o', '--output', help='Output G-Code file') parser.add_argument('-is', '--settings', help='Input settings file (will be overridden if additional parameters are supplied)') parser.add_argument('-os', '--output_settings', help='Output file where used settings will be stored') help_template = '{}: {} (default: {})' for group_key, prop in settings_iter(): h = help_template.format(group_key, prop.description, prop.default) parser.add_argument('-' + prop.arg, '--' + prop.name, type=prop.TYPE, help=h, default=prop.default) return parser.parse_args()
def test_args(self): d = set() for group_key, prop in gs.settings_iter(): self.assertNotIn(prop.arg, d) d.add(prop.arg)