From 4fa41467cb0372645679714f4c2ee70f47742df0 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 20 Aug 2015 17:59:53 -0500 Subject: [PATCH] Command-line interface: deduce language from extension of input file --- bin/loopy | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/bin/loopy b/bin/loopy index cb223c31a..9d667ec2f 100644 --- a/bin/loopy +++ b/bin/loopy @@ -52,7 +52,7 @@ def main(): parser.add_argument("infile") parser.add_argument("outfile") - parser.add_argument("--lang", default="loopy") + parser.add_argument("--lang") parser.add_argument("--target") parser.add_argument("--name") parser.add_argument("--transform") @@ -65,13 +65,28 @@ def main(): from warnings import warn warn("--target option is deprecated and ignored") + lang = None if args.infile == "-": infile_content = sys.stdin.read() else: + from os.path import splitext + _, ext = splitext(args.infile) + + lang = { + ".loopy": "loopy", + ".floopy": "fortran", + } with open(args.infile, "r") as infile_fd: infile_content = infile_fd.read() - if args.lang == "loopy": + if args.lang is not None: + lang = args.lang + + if lang is None: + raise RuntimeError("unable to deduce input language " + "(wrong input file extension? --lang flag?)") + + if lang == "loopy": # {{{ path wrangling from os.path import dirname, abspath -- GitLab