コード例 #1
0
ファイル: tool.py プロジェクト: CodeSturgeon/impty
 def decorate(f):
     if not hasattr(f, "optparser"):
         f.optparser = SubCmdOptionParser()
     opts_group = OptionGroup(f.optparser, title, description)
     opts_group.add_options(opts_list)
     f.optparser.add_option_group(opts_group)
     return f
コード例 #2
0
 def create_parser(self, prog_name, subcommand, *args, **kwargs):
     parser = OptionParser(prog=prog_name, usage=self.usage(subcommand),
                           # conflict_handler="resolve",
                           version=self.get_version(),
                           option_list=self.option_list)
     for option_group_args, option_list in self.option_groups:
         option_group = OptionGroup(parser, *option_group_args)
         option_group.add_options(option_list)
         parser.add_option_group(option_group)
         option_group = None
     return parser
コード例 #3
0
ファイル: cmdline.py プロジェクト: arnaudsj/PyMVPA
 def _get_group(self, name):
     try:
         doc, l = self._d[name]
     except KeyError:
         raise ValueError, "No group with name %s" % name
     opts = OptionGroup(self._parser, doc)
     try:
         opts.add_options(l)
     except OptionConflictError:
         print "Problem addition options to the group '%s'. Most probably" \
               " the option was independently added already." % name
         raise
     return opts
コード例 #4
0
 def create_parser(self, prog_name, subcommand, *args, **kwargs):
     parser = OptionParser(
         prog=prog_name,
         usage=self.usage(subcommand),
         # conflict_handler="resolve",
         version=self.get_version(),
         option_list=self.option_list)
     for option_group_args, option_list in self.option_groups:
         option_group = OptionGroup(parser, *option_group_args)
         option_group.add_options(option_list)
         parser.add_option_group(option_group)
         option_group = None
     return parser
コード例 #5
0
 def _get_group(self, name):
     try:
         doc, l = self._d[name]
     except KeyError:
         raise ValueError, "No group with name %s" % name
     opts = OptionGroup(self._parser, doc)
     try:
         opts.add_options(l)
     except OptionConflictError:
         print "Problem addition options to the group '%s'. Most probably" \
               " the option was independently added already." % name
         raise
     return opts
コード例 #6
0
ファイル: color256test.py プロジェクト: kba/home-bin
def _get_options(args):
    """ Setup and parse options.
    """
    option_list = [
        make_option("-b", "--block", action="store_true", dest="block",
            default=True, help="Display as block format (vs cube) [default]."),
        make_option("-c", "--cube-slice", action="store_true", dest="cube",
            default=False, help="Display as cube slices (vs block)."),
        make_option("-f", "--foreground", action="store_true",
            dest="foreground", default=False,
            help="Use color for foreground text."),
        make_option("-l", "--rgb", action="store_true", dest="rgb",
            default=False, help="Long format. RGB values as text."),
        make_option("-n", "--numbers", action="store_true", dest="numbers",
            default=False, help="Include color escape numbers on chart."),
        make_option("-o", "--basiccodes", action="store_true",
            dest="basiccodes", default=False,
            help="Display 16 color chart with SGR ANSI escape codes."),
        make_option("-p", "--padding", action="store_true", dest="padding",
            default=False, help="Add extra padding (helps discern colors)."),
        make_option("-v", "--vertical", action="store_true", dest="vertical",
            default=True, help="Display with vertical orientation [default]."),
        make_option("-x", "--hex", action="store_true", dest="hex",
            default=False, help="Include hex color numbers on chart."),
        make_option("-z", "--horizontal", action="store_true",
            dest="horizontal", default=False,
            help="Display with horizontal orientation."),
        make_option("-F", "--force", action="store", dest="forced",
            metavar="N", type="int",
            help="Force support of N colors."),
        ]

    parser = OptionParser(version=__version__, option_list=option_list)

    convert_option_list = [
        make_option("-r", "--256to88", action="store", dest="reduce",
            metavar="N", type="int",
            help="Convert (reduce) 256 color value N to an 88 color value."),
        make_option("-e", "--88to256", action="store", dest="expand",
            metavar="N", type="int",
            help="Convert (expand) 88 color value N to an 256 color value."),
        ]
    group = OptionGroup(parser, "Conversion options")
    group.add_options(option_list=convert_option_list)
    parser.add_option_group(group)

    (options, args) = parser.parse_args(args)
    return options
コード例 #7
0
ファイル: colors.py プロジェクト: quleuber/dotfiles
def _get_options(args):
    """ Setup and parse options.
    """
    option_list = [
        make_option("-b", "--block", action="store_true", dest="block",
            default=True, help="Display as block format (vs cube) [default]."),
        make_option("-c", "--cube-slice", action="store_true", dest="cube",
            default=False, help="Display as cube slices (vs block)."),
        make_option("-f", "--foreground", action="store_true",
            dest="foreground", default=False,
            help="Use color for foreground text."),
        make_option("-l", "--rgb", action="store_true", dest="rgb",
            default=False, help="Long format. RGB values as text."),
        make_option("-n", "--numbers", action="store_true", dest="numbers",
            default=False, help="Include color escape numbers on chart."),
        make_option("-o", "--basiccodes", action="store_true",
            dest="basiccodes", default=False,
            help="Display 16 color chart with SGR ANSI escape codes."),
        make_option("-p", "--padding", action="store_true", dest="padding",
            default=False, help="Add extra padding (helps discern colors)."),
        make_option("-v", "--vertical", action="store_true", dest="vertical",
            default=True, help="Display with vertical orientation [default]."),
        make_option("-x", "--hex", action="store_true", dest="hex",
            default=False, help="Include hex color numbers on chart."),
        make_option("-z", "--horizontal", action="store_true",
            dest="horizontal", default=False,
            help="Display with horizontal orientation."),
        ]

    parser = OptionParser(version=__version__, option_list=option_list)

    convert_option_list = [
        make_option("-r", "--256to88", action="store", dest="reduce",
            metavar="N", type="int",
            help="Convert (reduce) 256 color value N to an 88 color value."),
        make_option("-e", "--88to256", action="store", dest="expand",
            metavar="N", type="int",
            help="Convert (expand) 88 color value N to an 256 color value."),
        ]
    group = OptionGroup(parser, "Conversion options")
    group.add_options(option_list=convert_option_list)
    parser.add_option_group(group)

    (options, args) = parser.parse_args(args)
    return options
コード例 #8
0
def main():
    # Create the option parser.
    optparser = OptionParser(usage='%prog [options] NAME ...',
                             version="Edloper's Doctest Driver, "
                             "version %s" % __version__)

    action_group = OptionGroup(optparser, 'Actions (default=check)')
    action_group.add_options([CHECK_OPT, UPDATE_OPT, DEBUG_OPT])
    optparser.add_option_group(action_group)

    reporting_group = OptionGroup(optparser, 'Reporting')
    reporting_group.add_options([
        VERBOSE_OPT, QUIET_OPT, UDIFF_OPT, CDIFF_OPT, NDIFF_OPT, COVERAGE_OPT,
        CONTINUE_OPT
    ])
    optparser.add_option_group(reporting_group)

    compare_group = OptionGroup(optparser, 'Output Comparison')
    compare_group.add_options([ELLIPSIS_OPT, NORMWS_OPT])
    optparser.add_option_group(compare_group)

    # Extract optionflags and the list of file names.
    optionvals, names = optparser.parse_args()
    if len(names) == 0:
        optparser.error("No files specified")
    optionflags = (optionvals.udiff * REPORT_UDIFF
                   | optionvals.cdiff * REPORT_CDIFF
                   | optionvals.ellipsis * ELLIPSIS
                   | optionvals.normws * NORMALIZE_WHITESPACE)

    # Check coverage, if requested
    if optionvals.coverage:
        coverage.use_cache(True, cache_file=optionvals.coverage)
        coverage.start()

    # Perform the requested action.
    if optionvals.action == 'check':
        run(names, optionflags, optionvals.verbosity,
            optionvals.kbinterrupt_continue)
    elif optionvals.action == 'update':
        update(names, optionflags, optionvals.verbosity)
    elif optionvals.action == 'debug':
        debug(names, optionflags, optionvals.verbosity)
    else:
        optparser.error('INTERNAL ERROR: Bad action %s' % optionvals.action)

    # Check coverage, if requested
    if optionvals.coverage:
        coverage.stop()
コード例 #9
0
ファイル: doctest_driver.py プロジェクト: yochananmkp/clir
def main():
    # Create the option parser.
    optparser = OptionParser(usage='%prog [options] NAME ...',
                             version="Edloper's Doctest Driver, "
                                     "version %s" % __version__)

    action_group = OptionGroup(optparser, 'Actions (default=check)')
    action_group.add_options([CHECK_OPT, UPDATE_OPT, DEBUG_OPT])
    optparser.add_option_group(action_group)

    reporting_group = OptionGroup(optparser, 'Reporting')
    reporting_group.add_options([VERBOSE_OPT, QUIET_OPT,
                                 UDIFF_OPT, CDIFF_OPT, NDIFF_OPT,
                                 COVERAGE_OPT, CONTINUE_OPT])
    optparser.add_option_group(reporting_group)

    compare_group = OptionGroup(optparser, 'Output Comparison')
    compare_group.add_options([ELLIPSIS_OPT, NORMWS_OPT])
    optparser.add_option_group(compare_group)

    # Extract optionflags and the list of file names.
    optionvals, names = optparser.parse_args()
    if len(names) == 0:
        optparser.error("No files specified")
    optionflags = (optionvals.udiff * REPORT_UDIFF |
                   optionvals.cdiff * REPORT_CDIFF |
                   optionvals.ellipsis * ELLIPSIS |
                   optionvals.normws * NORMALIZE_WHITESPACE)

    # Check coverage, if requested
    if optionvals.coverage:
        coverage.use_cache(True, cache_file=optionvals.coverage)
        coverage.start()

    # Perform the requested action.
    if optionvals.action == 'check':
        run(names, optionflags, optionvals.verbosity,
            optionvals.kbinterrupt_continue)
    elif optionvals.action == 'update':
        update(names, optionflags, optionvals.verbosity)
    elif optionvals.action == 'debug':
        debug(names, optionflags, optionvals.verbosity)
    else:
        optparser.error('INTERNAL ERROR: Bad action %s' % optionvals.action)

    # Check coverage, if requested
    if optionvals.coverage:
        coverage.stop()
コード例 #10
0
ファイル: framework.py プロジェクト: kralf/morsel
  def __init__(self, *argv):
    super(Framework, self).__init__()
    
    self.packages = {}
    self.paths = {}
    self.callbacks = {}
    self.layers = {}
    self.shortcuts = {}

    self.base = None
    self.window = None
    self.displayRegion = None
    self.camera = None
    self.cameraMask = 0x700000FF
    
    self.scheduler = None
    self.eventManager = None
    self.gui = None
    self.world = None
    
    self.activeLayer = None
    self.captureTask = None
    self.frame = 0

    self.configuration = Configuration()    
    
    self.parser = OptionParser(version = self.configuration.fullName,
      description = ("%s Copyright by %s. For additional help, contact "+
        "the authors at <%s> or visit the project homepage under %s.") % \
        (self.configuration.summary, self.configuration.authors,
        self.configuration.contact, self.configuration.home),
      usage = "usage: %prog [OPT1 [OPT2 [...]]] [FILE1 [FILE2 [...]]",
      add_help_option = False)

    self.parser.add_option("-h", "--help", dest = "help", default = False,
      action = "store_true", help = "show this help message and exit")
      
    group = OptionGroup(self.parser, "Options that control the simulation")
    group.add_option("--framerate", dest = "framerate", type = "float",
      metavar = "FPS", default = 60.0, action = "store",
      help = "maximum framerate in frames/s [%default]")
    group.add_option("-f", "--fullscreen", dest = "fullscreen", default = False,
      action = "store_true", help = "startup in fullscreen mode")
    group.add_option("-p", "--pause", dest = "pause", default = False,
      action = "store_true", help = "immediately pause simulation on startup")
    self.parser.add_option_group(group)

    group = OptionGroup(self.parser, "Framework configuration options")
    group.add_option("-i", "--include", dest = "include", metavar = "PACKAGE",
      action = "append", help = "include a list of packages")
    self.parser.add_option_group(group)

    group = OptionGroup(self.parser, "Output and debugging options")
    group.add_option("-v", "--verbose", dest = "verbose", default = False,
      action = "store_true", help = "enable verbose output")
    group.add_option("-d", "--debug", dest = "debug", default = False,
      action = "store_true", help = "enable debugging output")
    self.parser.add_option_group(group)
      
    group = OptionGroup(self.parser, "Options that provide information")
    group.add_option("--build", dest = "build", default = False,
      action = "store_true", help = "print build information and exit")
    group.add_option("--defaults", dest = "defaults", default = False,
      action = "store_true", help = "print default paths and exit")
    self.parser.add_option_group(group)
    
    (self.options, self.arguments) = self.parser.parse_args()

    self.verbose = self.options.verbose
    self.debug = self.options.debug

    self.include("morsel")
    self.addPath("conf", self.configuration.configurationPath)
    self.configFiles = ["defaults.conf"]
    self.windowTitle = self.configuration.fullName
        
    if self.options.include:
      for include in self.options.include:
        self.include(include)

    reparse = False
    for package in self.packages:
      if self.packages[package].options:
        group = OptionGroup(self.parser, "Options defined by "+package)
        group.add_options(self.packages[package].options)
        self.parser.add_option_group(group)
        reparse = True
    if reparse:
      (self.options, self.arguments) = self.parser.parse_args()

    if self.options.help:
      self.parser.print_help()
      exit(0)
    if self.options.build:
      print "Build system: %s" % self.configuration.buildSystem
      print "Build architecture: %s" % self.configuration.buildArchitecture
      print "Build type: %s" % self.configuration.buildType
      exit(0)
    if self.options.defaults:
      for package in self.packages:
        print "Package "+package+":"
        print "  System path: "+self.getSystemDir(package)
        print "  Configuration path: "+self.getConfigDir(package)
        print "  User path: "+self.getUserDir(package)
      exit(0)

    for argument in self.arguments:
      matched = False
      for package in self.packages:
        if self.packages[package].arguments:
          for dest in self.packages[package].arguments:
            match = re.match(self.packages[package].arguments[dest], argument)
            if match:
              if len(match.groups()) > 1:
                value = list(match.groups())
              else:
                value = match.group(1)
              setattr(self.packages[package].configuration, dest, value)
                
              matched = True
        
      if not matched:
        self.configFiles.append(argument)
コード例 #11
0
parser.add_option( '--s',      dest='starttime', metavar='<starttime>', help='starttime for testbench (used to sync chips)')
parser.add_option( '--sr',     dest='seed',      metavar='<seed>',      help='seed value for random number generation')
parser.add_option( '--js',     dest='speed',     metavar='<speed>',     help='set speed of JTAG interface in kHz (750, 1500, 300, 6000, 12000, 24000')
parser.add_option( '--c',      dest='filename',  metavar='<filename>',  help='specify xml-file to be loaded (default hicann_conf.xml)', default='hicann_conf.xml')
parser.add_option( '--log',    dest='loglevel',  metavar='<loglevel>',  help='specify integer log level - default is 2: INFO')
parser.add_option( '--l',      action='store_true',                     help='list testmodes')
parser.add_option( '--m',      dest='testmode',  metavar='<name>',      help='uses testmode')
parser.add_option( '--label',  dest='label',     metavar='<label>',     help='label your test')

comm_techniques = OptionGroup(parser, 'Comm. technique for: | FPGA  |  DNC   | HICANN')
comm_techniques.add_options( [
Option( '--bj',     action='store_true',                    help='  |  --   |  --    | JTAG  (e.g. I2C)'),
Option( '--bj2f',   nargs=2, type=int, metavar='<nh> <h>',   help='  | JTAG  | GBit   | GBit  (<nh> HICANNs, using <h>)'),
Option( '--bja',    nargs=2, type=int, metavar='<nh> <h>',   help='  | JTAG  | JTAG   | JTAG'),
Option( '--bjac',   nargs=2, type=int, metavar='<nh> <h>',   help='  | JTAG  |  --    | JTAG'),
Option( '--bt',     action='store_true',                    help='uses tcpip communication model'),
Option( '--btp',    action='store_true',                    help='uses tcpip communication model with playback memory'),
Option( '--bo',     action='store_true',                    help='use direct ocp communication model'),
])
parser.add_option_group(comm_techniques)


(options, args) = parser.parse_args()

if len(args) > 0: raise Exception("Unparsed options: ", " ".join(args))


# tests2.cpp part

from libpyhal_s2 import *
コード例 #12
0
ファイル: main.py プロジェクト: jnpkrn/clufter
 def add_option_group_by_args(self, *args, **kwargs):
     option_list = kwargs.pop("option_list", None)
     group = OptionGroup(self, *args, **kwargs)
     if option_list:
         group.add_options(option_list)
     self.add_option_group(group)
コード例 #13
0
def clp_parse(argv=None,
              usage=None,
              description=None,
              version=None,
              defaults={},
              required=0):
    """Wrapper for optparse; gets the command line parameters

  Returns an object of type optparse.Values and a list
  """
    try:
        description = re.sub("\s+", " ", description)  # clean out extra spaces
    except TypeError:
        pass  # description is None

    if argv == None:
        argv = sys.argv

    option_list = [
        make_option("-d",
                    "--dispatch",
                    metavar="D",
                    help="what to do with the generated commands "
                    "(msub|qsub|serial|list) [default=%default]",
                    action="store",
                    default=defaults["dispatch"]),
        make_option(
            "-r",
            "--runcommand",
            metavar="COM",
            help="what run command to use for running parallel programs.",
            action="store",
            default=defaults["runcommand"]),
        make_option(
            "-i",
            "--iterations",
            metavar="I",
            help="dispatch I copies of each command [default=%default]",
            type="int",
            default=defaults["iterations"]),
        make_option("-a",
                    "--random",
                    help="shuffle the commands before dispatching",
                    action="store_true",
                    default=defaults["random"]),
        make_option("-l",
                    "--limit",
                    metavar="L",
                    help="dispatch no more than L commands [default=%default]",
                    type="int",
                    default=defaults["limit"]),
        make_option("-q",
                    "--quiet",
                    help="suppress printing the commands [default=%default]",
                    action="store_true",
                    default=defaults["quiet"]),
    ]

    msub_opts = [
        make_option("-o",
                    "--outdir",
                    metavar="O",
                    help="set output directory [default=%default]",
                    default=defaults["outdir"]),
        make_option("-p",
                    "--ppn",
                    metavar="N",
                    help="set procs_per_node [default=%default]",
                    type="int",
                    default=defaults["ppn"]),
        make_option("-M",
                    "--msub",
                    metavar="M",
                    help="set msub options [default=%default]",
                    default=defaults["msub"]),
        make_option("-w",
                    "--walltime",
                    metavar="W",
                    help="how much walltime to request [default=%default]",
                    type="string",
                    default=defaults["walltime"]),
        make_option("-L",
                    "--lastjob",
                    metavar="L",
                    help="make first command depend on an existing qsub job "
                    "[default=%default]",
                    type="int",
                    default=defaults["lastjob"]),
        make_option(
            "-c",
            "--chain",
            help="make each command depend on the previous [default=%default]",
            action="store_true",
            default=defaults["chain"]),
        make_option(
            "--pre",
            default=defaults["prescript"],
            dest="prescript",
            help="run a pre-script before each command [default=%default]"),
        make_option(
            "--post",
            default=defaults["postscript"],
            dest="postscript",
            help="run a post-script before each command [default=%default]"),
        make_option(
            "-n",
            "--nprocs",
            metavar="N",
            help="Specify number of processors to request. Used to calculate "
            "number of nodes to request. If not specified, the calculation will "
            "be done based on the generated mpi run command (default).",
            type="int",
            default=defaults["nprocs"]),
    ]

    parser = OptionParser(usage=usage,
                          version=version,
                          option_list=option_list,
                          description=description)
    extra_groups = [[msub_opts, "MSUB"]]
    for extra_group in extra_groups:
        group = OptionGroup(parser, "%s options" % extra_group[1])
        group.add_options(extra_group[0])
        parser.add_option_group(group)
    options, args = parser.parse_args(argv[1:])
    # Check non-optional command line args
    if len(args) < required:
        raise configError("Not all required arguments provided.")
    elif len(args) > required:
        raise configError("Unknown extra arguments: " + str(args[1:]))
    return options, args
コード例 #14
0
ファイル: main.py プロジェクト: jmartign/clufter
 def add_option_group_by_args(self, *args, **kwargs):
     option_list = kwargs.pop('option_list', None)
     group = OptionGroup(self, *args, **kwargs)
     if option_list:
         group.add_options(option_list)
     self.add_option_group(group)
コード例 #15
0
ファイル: expr_mgmt.py プロジェクト: fs-test/fs_test
def clp_parse( argv=None, usage=None, description=None, version=None,
  defaults={}, required=0):
  """Wrapper for optparse; gets the command line parameters

  Returns an object of type optparse.Values and a list
  """
  try: description = re.sub( "\s+", " ", description ) # clean out extra spaces
  except TypeError: pass  # description is None

  if argv == None:
      argv = sys.argv

  option_list = [
    make_option("-d", "--dispatch", metavar="D",
      help="what to do with the generated commands "
         "(msub|sbatch|qsub|serial|list) [default=%default]",
      action="store", default=defaults["dispatch"]),
    make_option("-r", "--runcommand", metavar="COM",
      help="what run command to use for running parallel programs.",
      action="store", default=defaults["runcommand"]),
    make_option("-i", "--iterations", metavar="I",
      help="dispatch I copies of each command [default=%default]",
      type="int", default=defaults["iterations"]),
    make_option("-a", "--random", 
      help="shuffle the commands before dispatching",
      action="store_true", default=defaults["random"]),
    make_option("-l", "--limit", metavar="L",
      help="dispatch no more than L commands [default=%default]",
      type="int", default=defaults["limit"]),
    make_option("-q", "--quiet", 
      help="suppress printing the commands [default=%default]",
      action="store_true", default=defaults["quiet"]),
    make_option("-b", "--use_datawarp", 
      help="use a datawarp target for the benchmark run [default=%default]",
      action="store_true", default=defaults["use_datawarp"]),
    ]

  msub_opts = [
    make_option("-o", "--outdir", metavar="O",
      help="set output directory [default=%default]",
      default = defaults["outdir"] ), 
    make_option("-p", "--ppn", metavar="N",
      help="set procs_per_node [default=%default]", type="int", 
      default = defaults["ppn"] ), 
    make_option("-M", "--msub", metavar="M",
      help="set msub/sbatch options [default=%default]",
      default = defaults["msub"] ),
    make_option("-w", "--walltime", metavar="W",
      help="how much walltime to request [default=%default]",
      type="string", default=defaults["walltime"] ),
    make_option("-L", "--lastjob", metavar="L",
      help="make first command depend on an existing qsub job "
         "[default=%default]", type="string", default=defaults["lastjob"] ),
    make_option("-c", "--chain", 
      help="make each command depend on the previous [default=%default]",
      action="store_true", default=defaults["chain"] ),
    make_option("--pre", default=defaults["prescript"], dest="prescript",
      help="run a pre-script before each command [default=%default]" ),
    make_option("--post", default=defaults["postscript"], dest="postscript",
      help="run a post-script before each command [default=%default]" ),
    make_option("-n", "--nprocs", metavar="N",
      help="Specify number of processors to request. Used to calculate "
      "number of nodes to request. If not specified, the calculation will "
      "be done based on the generated mpi run command (default).",
      type="int", default = defaults["nprocs"]),
    make_option("-k", "--knlppn", metavar="K",
       help="Specify how many KNL processors to request.  Used to calculate " 
       "number of nodes to request.  If not specified, Haswell nodes will be "
       "used based on options specified",
       type="int", default=defaults["knlppn"]),
    make_option("-z", "--haswellppn", metavar="Z",
       help="Only used with -k (--knlppn) option. Specify how many Haswell " 
       "processors to request whan also specifying KNL nodes (mixed processor "
       "run - KNL + Haswell).  If not specified, Haswell or other processor "
       "will run the job based on supplied options",
       type="int", default=defaults["haswellppn"]),
  ]

  parser = OptionParser( usage=usage, version=version, option_list=option_list,
                         description=description )
  extra_groups = [ [msub_opts, "MSUB"] ]
  for extra_group in extra_groups: 
    group = OptionGroup( parser, "%s options" % extra_group[1] )
    group.add_options( extra_group[0] )
    parser.add_option_group(group)
  options, args = parser.parse_args(argv[1:])
  # Check non-optional command line args
  if len(args) < required:
    raise configError("Not all required arguments provided.")
  elif len(args) > required:
    raise configError("Unknown extra arguments: " + str(args[1:]))
  return options, args
コード例 #16
0
                  'naive': lambda x: x
                  }
OBS_META_TYPES['taxonomy'] = OBS_META_TYPES['sc_separated']

usage = "usage: Detailed usage examples can be found here: http://biom-format.org/documentation/biom_conversion.html"
desc = "Script to convert biom formatted files."

parser = OptionParser(usage=usage, description=desc, version=__version__)
parser.set_defaults(verbose=True)

req_group = OptionGroup(parser, 'Required Options')
req_options = [make_option('-i','--input_fp',type="string",
                           help='the input filepath'),
               make_option('-o','--output_fp',type="string",
                           help='the output filepath')]
req_group.add_options(req_options)
parser.add_option_group(req_group)

opt_group = OptionGroup(parser, 'Optional Options')
opt_options = [make_option('-t','--biom_type',type='choice',
                    choices=['sparse','dense'],default='sparse',
                    help="Type of biom file to write (dense or sparse) when "
                          "passed a classic table [default: %default]"),
               make_option('-b','--biom_to_classic_table',
                    action='store_true', help="Convert biom file to classic "
                    "table file [default: convert "
                    "classic table file to biom file]",default=False),
               make_option('--sparse_biom_to_dense_biom',action='store_true',
                    help="Convert sparse biom file to a dense biom file " 
                         "[default: convert "
                         "classic table file to biom file]",default=False),
コード例 #17
0
ファイル: tailor.py プロジェクト: saminigod/cygwin
def main():
    """
    Script entry point.

    Parse the command line options and arguments, and for each
    specified working copy directory (the current working directory by
    default) execute the tailorization steps.
    """

    import sys
    from os import getcwd

    parser = OptionParser(usage='%prog [options] [project ...]',
                          version=__version__,
                          option_list=GENERAL_OPTIONS)

    bsoptions = OptionGroup(parser, "Bootstrap options")
    bsoptions.add_options(BOOTSTRAP_OPTIONS)

    upoptions = OptionGroup(parser, "Update options")
    upoptions.add_options(UPDATE_OPTIONS)

    vcoptions = OptionGroup(parser, "VC specific options")
    vcoptions.add_options(VC_SPECIFIC_OPTIONS)

    parser.add_option_group(bsoptions)
    parser.add_option_group(upoptions)
    parser.add_option_group(vcoptions)

    options, args = parser.parse_args()

    defaults = {}
    for k, v in options.__dict__.items():
        if k.startswith('__'):
            continue
        if k <> 'configfile' and hasattr(options, '__seen_' + k):
            defaults[k.replace('_', '-')] = str(v)

    if options.configfile or (len(sys.argv) == 2 and len(args) == 1):
        # Either we have a --configfile, or there are no options
        # and a single argument (to support shebang style scripts)

        if not options.configfile:
            options.configfile = sys.argv[1]
            args = None

        config = Config(open(options.configfile), defaults)

        if not args:
            args = config.projects()

        for projname in args:
            tailorizer = Tailorizer(projname, config)
            try:
                tailorizer()
            except GetUpstreamChangesetsFailure:
                # Do not stop on this kind of error, but keep going
                pass
    else:
        for omit in [
                'source-kind', 'target-kind', 'source-module', 'target-module',
                'source-repository', 'target-repository', 'start-revision',
                'subdir'
        ]:
            if omit in defaults:
                del defaults[omit]

        config = Config(None, defaults)

        config.add_section('project')
        source = options.source_kind + ':source'
        config.set('project', 'source', source)
        target = options.target_kind + ':target'
        config.set('project', 'target', target)
        config.set('project', 'root-directory', getcwd())
        config.set('project', 'subdir', options.subdir or '.')
        config.set('project', 'state-file', 'tailor.state')
        config.set('project', 'start-revision', options.start_revision)

        config.add_section(source)
        if options.source_repository:
            config.set(source, 'repository', options.source_repository)
        else:
            logger = getLogger('tailor')
            logger.warning(
                "By any chance you forgot either the --source-repository or the --configfile option..."
            )

        if options.source_module:
            config.set(source, 'module', options.source_module)

        config.add_section(target)
        if options.target_repository:
            config.set(target, 'repository', options.target_repository)
        if options.target_module:
            config.set(target, 'module', options.target_module)

        if options.verbose:
            sys.stderr.write("You should put the following configuration "
                             "in some file, adjust it as needed\n"
                             "and use --configfile option with that "
                             "file as argument:\n")
            config.write(sys.stdout)

        if options.debug:
            tailorizer = Tailorizer('project', config)
            tailorizer()
        elif not options.verbose:
            sys.stderr.write("Operation not performed, try --verbose\n")
コード例 #18
0
ファイル: tailor.py プロジェクト: c0ns0le/cygwin
def main():
    """
    Script entry point.

    Parse the command line options and arguments, and for each
    specified working copy directory (the current working directory by
    default) execute the tailorization steps.
    """

    import sys
    from os import getcwd

    parser = OptionParser(usage='%prog [options] [project ...]',
                          version=__version__,
                          option_list=GENERAL_OPTIONS)

    bsoptions = OptionGroup(parser, "Bootstrap options")
    bsoptions.add_options(BOOTSTRAP_OPTIONS)

    upoptions = OptionGroup(parser, "Update options")
    upoptions.add_options(UPDATE_OPTIONS)

    vcoptions = OptionGroup(parser, "VC specific options")
    vcoptions.add_options(VC_SPECIFIC_OPTIONS)

    parser.add_option_group(bsoptions)
    parser.add_option_group(upoptions)
    parser.add_option_group(vcoptions)

    options, args = parser.parse_args()

    defaults = {}
    for k,v in options.__dict__.items():
        if k.startswith('__'):
            continue
        if k <> 'configfile' and hasattr(options, '__seen_' + k):
            defaults[k.replace('_', '-')] = str(v)

    if options.configfile or (len(sys.argv)==2 and len(args)==1):
        # Either we have a --configfile, or there are no options
        # and a single argument (to support shebang style scripts)

        if not options.configfile:
            options.configfile = sys.argv[1]
            args = None

        config = Config(open(options.configfile), defaults)

        if not args:
            args = config.projects()

        for projname in args:
            tailorizer = Tailorizer(projname, config)
            try:
                tailorizer()
            except GetUpstreamChangesetsFailure:
                # Do not stop on this kind of error, but keep going
                pass
    else:
        for omit in ['source-kind', 'target-kind',
                     'source-module', 'target-module',
                     'source-repository', 'target-repository',
                     'start-revision', 'subdir']:
            if omit in defaults:
                del defaults[omit]

        config = Config(None, defaults)

        config.add_section('project')
        source = options.source_kind + ':source'
        config.set('project', 'source', source)
        target = options.target_kind + ':target'
        config.set('project', 'target', target)
        config.set('project', 'root-directory', getcwd())
        config.set('project', 'subdir', options.subdir or '.')
        config.set('project', 'state-file', 'tailor.state')
        config.set('project', 'start-revision', options.start_revision)

        config.add_section(source)
        if options.source_repository:
            config.set(source, 'repository', options.source_repository)
        else:
            logger = getLogger('tailor')
            logger.warning("By any chance you forgot either the --source-repository or the --configfile option...")

        if options.source_module:
            config.set(source, 'module', options.source_module)

        config.add_section(target)
        if options.target_repository:
            config.set(target, 'repository', options.target_repository)
        if options.target_module:
            config.set(target, 'module', options.target_module)

        if options.verbose:
            sys.stderr.write("You should put the following configuration "
                             "in some file, adjust it as needed\n"
                             "and use --configfile option with that "
                             "file as argument:\n")
            config.write(sys.stdout)

        if options.debug:
            tailorizer = Tailorizer('project', config)
            tailorizer()
        elif not options.verbose:
            sys.stderr.write("Operation not performed, try --verbose\n")
コード例 #19
0
        help='the user to run the test suites as on the remote cluster'),
    make_option('-c', '--cluster_tag', type='string',
        help='the starcluster cluster tag to use for the cluster that the '
        'test suites will run on'),
    make_option('-l', '--input_email_list', type='string',
        help='the input email list file. This should be a file containing '
        'an email address on each line. Lines starting with "#" or lines that '
        'only contain whitespace or are blank will be ignored'),
    make_option('-e', '--input_email_settings', type='string',
        help='the input email settings file. This should be a file containing '
        'key/value pairs separated by a tab that tell the script how to send '
        'the email. "smtp_server", "smtp_port", "sender", and "password" must '
        'be defined')
]

required_group.add_options(required_options)
parser.add_option_group(required_group)

optional_group = OptionGroup(parser, 'Optional Options')
optional_options = [
    make_option('-t', '--cluster_template', type='string',
        help='the cluster template to use (defined in the starcluster config '
        'file) for running the test suite(s) on. You should only need a '
        'single-node cluster [default: starcluster config default template]',
        default=None),
    make_option('--setup_timeout', type='int',
        help='the number of minutes to allow the remote cluster to be '
        'created and initialized before aborting. An email will be sent '
        'saying there was a timeout during cluster setup, and the cluster '
        'be attempted to be terminated, if possible [default: %default]',
        default=20),