34 from __future__ 
import print_function
 
   36 from optparse 
import OptionParser
 
   42 import genmsg.command_line
 
   44 from genmsg 
import MsgGenerationException
 
   45 from . generate 
import generate_msg, generate_srv
 
   48     print(
"%(progname)s file(s)"%vars())
 
   51     parser = OptionParser(
"%s file"%(progname))
 
   52     parser.add_option(
'-p', dest=
'package')
 
   53     parser.add_option(
'-o', dest=
'outdir')
 
   54     parser.add_option(
'-I', dest=
'includepath', action=
'append')
 
   55     options, args = parser.parse_args(argv)
 
   58             parser.error(
"please specify args")
 
   59         if not os.path.exists(options.outdir):
 
   64                 os.makedirs(options.outdir)
 
   66                 if not os.path.exists(options.outdir):
 
   68         search_path = genmsg.command_line.includepath_to_dict(options.includepath)
 
   70         if filename.endswith(
'.msg'):
 
   71             retcode = 
generate_msg(options.package, args[1:], options.outdir, search_path)
 
   73             retcode = 
generate_srv(options.package, args[1:], options.outdir, search_path)
 
   74     except genmsg.InvalidMsgSpec 
as e:
 
   75         print(
"ERROR: ", e, file=sys.stderr)
 
   77     except MsgGenerationException 
as e:
 
   78         print(
"ERROR: ", e, file=sys.stderr)
 
   80     except Exception 
as e:
 
   84     sys.exit(retcode 
or 0)