def get_ctl_parser(ctls, infile, start, end, def_start, def_end): if infile[-4:].lower() in ('.bin', '.sna', '.szx', '.z80'): prefix = infile[:-4] else: prefix = infile if not ctls: ctls.extend(sorted(glob.glob(prefix + '*.ctl'))) ctlfiles = [] if ctls and '0' not in ctls: # Use control file(s) for ctl in ctls: if os.path.isdir(ctl): ctlfiles.extend(sorted(glob.glob(os.path.join(ctl, '*.ctl')))) else: ctlfiles.append(ctl) if ctlfiles: if len(ctlfiles) > 1: suffix = 's' else: suffix = '' info('Using control file{}: {}'.format(suffix, ', '.join(ctlfiles))) ctl_parser = CtlParser() ctl_parser.parse_ctls(ctlfiles, start, end) else: ctl_parser = CtlParser({def_start: 'c', def_end: 'i'}) return ctl_parser
def run(snafile, options, config): snapshot, start, end = make_snapshot(snafile, options.org, options.start, options.end, options.page) if options.ctlfiles: # Use control file(s) if len(options.ctlfiles) > 1: suffix = 's' else: suffix = '' info('Using control file{}: {}'.format(suffix, ', '.join(options.ctlfiles))) ctl_parser = CtlParser() ctl_parser.parse_ctls(options.ctlfiles, options.start, options.end) else: ctl_parser = CtlParser({start: 'c', end: 'i'}) writer = SkoolWriter(snapshot, ctl_parser, options, config) writer.write_skool(config['ListRefs'], config['Text'])
def run(snafile, options, config): snapshot, start, end = make_snapshot(snafile, options.org, options.start, options.end, options.page) if options.sftfile: # Use a skool file template info('Using skool file template: {}'.format(options.sftfile)) writer = SftParser(snapshot, options.sftfile, config['DefbZfill'], options.base == 16, options.case == 1) writer.write_skool(options.start, options.end) return if options.ctlfiles: # Use control file(s) if len(options.ctlfiles) > 1: suffix = 's' else: suffix = '' info('Using control file{}: {}'.format(suffix, ', '.join(options.ctlfiles))) ctl_parser = CtlParser() ctl_parser.parse_ctls(options.ctlfiles, options.start, options.end) else: ctl_parser = CtlParser({start: 'c', end: 'i'}) writer = SkoolWriter(snapshot, ctl_parser, options, config) writer.write_skool(config['ListRefs'], config['Text'])