def main(args=None): if not args: parser = argparse.ArgumentParser() cmd_options(parser) args = parser.parse_args() if not args.source: text = '' log.log('--- BEGIN MARKDOWN (type Ctrl-D to finish) ---') while True: try: text += input() + '\n' except EOFError: log.log('--- END MARKDOWN ---') break except KeyboardInterrupt: log.warn('Aborting script') exit(1) else: if not os.path.exists(args.source): log.warn('File ' + args.source + ' does not exist.') exit(1) elif not os.path.isfile(args.source): log.warn(args.source + ' is not a valid file') exit(1) with open(args.source, 'r') as f: text = f.read() result = convert(text) if args.destination: with open(args.destination, 'w') as f: f.write(result) log.info('Result can be found in ' + args.destination) else: log.log(result)
def main(args, configs): if args.source: if not file_exists(args.source): log.warn('File ' + args.source + ' does not exist.') exit(1) elif not os.path.isfile(args.source): log.warn(args.source + ' is not a valid file') exit(1) result = link.link(args.source) if args.markdown: markdown_obj = Markdown(result) for k, v in markdown_obj.variables.items(): configs['VARIABLES'][k] = v result = markdown_obj.text result = link.substitutions(result, configs.get('SUBSTITUTIONS', []), args) result, cache = link.retrieve_blocks(result) if 'TOC_BUILDER' in configs: configs['VARIABLES']['table-of-contents'] = link.scrape_headers(result, configs['TOC_BUILDER']) for import_stmt in ( 'from datetime import datetime', ): exec(import_stmt, configs) for k, v in cache.items(): configs['VARIABLES'][k] = v result = compile(args.template, configs) if not args.destination: log.log(result) return file_write(args.destination, result) log.info('Result can be found at ' + args.destination)
def main(args, configs): if args.source: if not file_exists(args.source): log.warn('File ' + args.source + ' does not exist.') exit(1) elif not os.path.isfile(args.source): log.warn(args.source + ' is not a valid file') exit(1) result = link.link(args.source) if args.markdown: markdown_obj = Markdown(result) for k, v in markdown_obj.variables.items(): configs['VARIABLES'][k] = v result = markdown_obj.text result = link.substitutions(result, configs.get('SUBSTITUTIONS', []), args) result, cache = link.retrieve_blocks(result) if 'TOC_BUILDER' in configs: configs['VARIABLES']['table-of-contents'] = link.scrape_headers( result, configs['TOC_BUILDER']) for import_stmt in ('from datetime import datetime', ): exec(import_stmt, configs) for k, v in cache.items(): configs['VARIABLES'][k] = v result = compile(args.template, configs) if not args.destination: log.log(result) return file_write(args.destination, result) log.info('Result can be found at ' + args.destination)
def config_main(args, configs=None): if args.path: path = args.path else: path = os.getcwd() dest = os.path.join(path, CONFIG_NAME) config = os.path.join(os.path.dirname(__file__), CONFIG_NAME) with open(config, 'r') as f: template = f.read() if os.path.exists(path) and (not os.path.exists(dest) \ or 'y' in input('Remove existing {}? [y/n] '.format(CONFIG_NAME)).lower()): with open(dest, 'w') as f: f.write(template) log.info('Copied ' + CONFIG_NAME + ' to ' + dest) exit(0) else: log.warn(CONFIG_NAME + ' not copied') exit(1)
def main(args, configs): if not os.path.exists(args.source): log.warn('File ' + args.source + ' does not exist.') exit(1) elif not os.path.isfile(args.source): log.warn(args.source + ' is not a valid file') exit(1) result = link(args.source) if args.markdown: result = convert(result) result = substitutions(result, configs.get('SUBSTITUTIONS', []), args) result, cache = retrieve_blocks(result) if args.destination: file_write(args.destination, result) log.info('Result can be found in ' + args.destination) else: log.log('--- BEGIN RESULT ---', args.quiet) log.log(result) log.log('--- END RESULT ---', args.quiet)