netmsgs  1.2.2
RoadNarrows Robotics Network Messaging Package
NetMsgs.NetMsgsXmlParser Namespace Reference

NetMsgs XML parser module. More...

Classes

class  NetMsgsXmlParser
 
class  NetMsgsXmlParserError
 
class  UTUsage
 

Functions

def UTPrintUsageErr (emsg)
 
def UTPrintUsage ()
 
def UTGetOptions (argv=None, kwargs)
 
def UTMain (argv=None, kwargs)
 

Detailed Description

NetMsgs XML parser module.

LastChangedDate
2013-08-08 13:02:57 -0600 (Thu, 08 Aug 2013)
Rev
3183
Todo:
Add brief elements to xdefs for better comments to generated language constructs
See also
PyDoc Generated Documentation
Author
Robin Knight (robin.nosp@m..kni.nosp@m.ght@r.nosp@m.oadn.nosp@m.arrow.nosp@m.s.co.nosp@m.m)

Function Documentation

def NetMsgs.NetMsgsXmlParser.UTGetOptions (   argv = None,
  kwargs 
)
Get Main Options

    Parameters:
      argv    - Argument list. If not None, the overrides command-line
                arguments.
      kwargs  - Keyword argument list.  

Definition at line 1372 of file NetMsgsXmlParser.py.

References NetMsgs.NetMsgsXmlParser.UTPrintUsage(), and NetMsgs.NetMsgsXmlParser.UTPrintUsageErr().

Referenced by NetMsgs.NetMsgsXmlParser.UTMain().

1372  def UTGetOptions(argv=None, **kwargs):
1373  """ Get Main Options
1374 
1375  Parameters:
1376  argv - Argument list. If not None, the overrides command-line
1377  arguments.
1378  kwargs - Keyword argument list.
1379  """
1380  global _Argv0
1381 
1382  if argv is None:
1383  argv = sys.argv
1384 
1385  _Argv0 = kwargs.get('argv0', __file__)
1386 
1387  # defaults
1388  kwargs['debug'] = 0
1389 
1390  # parse command-line options
1391  try:
1392  try:
1393  opts, args = getopt.getopt(argv[1:], "?hd:o:",
1394  ['help', 'debug=', "overrides=", ''])
1395  except getopt.error, msg:
1396  raise UTUsage(msg)
1397  for opt, optarg in opts:
1398  if opt in ('-h', '--help', '-?'):
1399  UTPrintUsage()
1400  sys.exit(0)
1401  elif opt in ('-d', '--debug'):
1402  try:
1403  kwargs['debug'] = int(optarg)
1404  except ValueError:
1405  raise UTUsage("%s %s: not an integer value" % (opt, optarg))
1406  elif opt in ('-o', '--overrides'):
1407  overrides = optarg.split(',')
1408  for entry in overrides:
1409  try:
1410  name,value = entry.split('=')
1411  name = name.strip()
1412  value = value.strip()
1413  kwargs[name] = value
1414  except:
1415  raise UTUsage("%s %s: bad syntax" % (opt, repr(optarg)))
1416  except UTUsage, err:
1417  UTPrintUsageErr(err.msg)
1418  sys.exit(2)
1419 
1420  if len(args) < 1:
1421  UTPrintUsageErr("No input xml file specified")
1422  sys.exit(2)
1423  else:
1424  kwargs['filename'] = args[0]
1425 
1426  return kwargs
def UTGetOptions(argv=None, kwargs)
def NetMsgs.NetMsgsXmlParser.UTMain (   argv = None,
  kwargs 
)
Unit Test Main.
    
    Parameters:
      argv    - Optional argument list to override command-line arguments.
      kwargs  - Optional keyword argument list.

Definition at line 1430 of file NetMsgsXmlParser.py.

References NetMsgs.NetMsgsXmlParser.UTGetOptions().

1430  def UTMain(argv=None, **kwargs):
1431  """ Unit Test Main.
1432 
1433  Parameters:
1434  argv - Optional argument list to override command-line arguments.
1435  kwargs - Optional keyword argument list.
1436  """
1437  global _Argv0
1438 
1439  kwargs = UTGetOptions(argv, **kwargs)
1440 
1441  xmlNetMsgs = NetMsgsXmlParser(**kwargs)
1442 
1443  try:
1444  xmlNetMsgs.Parse()
1445  except NetMsgsXmlParserError as inst:
1446  print "Error: %s" % (inst)
1447  return 8
1448 
1449  xmlNetMsgs.PrettyPrintDB()
def UTMain(argv=None, kwargs)
def UTGetOptions(argv=None, kwargs)
def NetMsgs.NetMsgsXmlParser.UTPrintUsage ( )
Print Command-Line Usage Message. 

Definition at line 1353 of file NetMsgsXmlParser.py.

Referenced by NetMsgs.NetMsgsXmlParser.UTGetOptions().

1354  """ Print Command-Line Usage Message. """
1355  print """
1356 usage: %s [OPTIONS] <xmlfile>
1357 
1358  %s --help
1359  """ % (_Argv0, _Argv0)
1360  print """Options and arguments:
1361  -d, --debug=<level> : Debug level. One of: 0 1 2 3
1362  Default: 0 (off)
1363  -o, --overrides=<list> : XML overrides. List of form name=value,...
1364  Supported overrides:
1365  encoding, endian, ns, brief
1366 
1367  -h, --help : Display this help and exit.
1368  """
def NetMsgs.NetMsgsXmlParser.UTPrintUsageErr (   emsg)
Print Error Usage Message.
      
    Parameters:
      msg   - Error message string.

Definition at line 1339 of file NetMsgsXmlParser.py.

Referenced by NetMsgs.NetMsgsXmlParser.UTGetOptions().

1339  def UTPrintUsageErr(emsg):
1340  """ Print Error Usage Message.
1341 
1342  Parameters:
1343  msg - Error message string.
1344  """
1345  if emsg:
1346  print "%s: %s" % (_Argv0, emsg)
1347  else:
1348  print "%s: error" % (_Argv0)
1349  print "Try '%s --help' for more information." % (_Argv0)