示例#1
0
 def check_mulchoices(option, opt, value):
     if value not in option.choices:
         for val in value.split(","):
             if val not in option.choices:
                 # Will raises OptionValueError
                 check_choice(option, opt, value)
     return value
示例#2
0
 def check_mulchoices(option, opt, value):
     if value not in option.choices:
         for val in value.split(","):
             if val not in option.choices:
                 # Will raises OptionValueError
                 check_choice(option, opt, value)
     return value
示例#3
0
def _parse_args(argv):
    """
    Reconoce las opciones especificadas como argumentos.
    
    @type argv: C{list}
    @param argv: Lista de argumentos del programa.
    
    @rtype: C{tuple}
    @return: Retorna una tupla donde el primer elemento es una estructura
        que almacena la información acerca de las opciones especificadas
        y el segundo elemento es una lista con el resto de los argumentos.
    """
    usage = '%prog <tiger-file> --output <output-file> [--output-type <output-type>]'
    version = '%%prog (PyTiger2C) %s\n' % __version__
    authors = '\n'.join(
        ['Copyright (C) 2009, 2010 %s' % a for a in __authors__])
    desc = 'Translates a Tiger program received as argument into a C program ' \
        'and then compiles the C program into an executable using a C compiler. ' \
        'This behavior can be modified using the --output-type option.'
    parser = optparse.OptionParser(usage=usage,
                                   version=version + authors,
                                   description=desc,
                                   prog=os.path.basename(argv[0]))
    parser.add_option('-o',
                      '--output',
                      action='store',
                      dest='output',
                      metavar='FILE',
                      help='write the output to FILE')
    parser.add_option(
        '-t',
        '--output-type',
        action='store',
        dest='output_type',
        metavar='TYPE',
        type='choice',
        choices=('ast', 'c', 'binary'),
        help="output type: 'ast', 'c' or 'binary' (default '%default')")
    parser.set_default('output_type', 'binary')
    options, args = parser.parse_args(args=argv[1:])
    optparse.check_choice(parser.get_option('--output-type'), '--output-type',
                          options.output_type)
    if not options.output:
        parser.error('missing required --output option')
    elif len(args) != 1:
        parser.error('invalid number of arguments')
    else:
        return options, args
示例#4
0
def _parse_args(argv):
    """
    Reconoce las opciones especificadas como argumentos.
    
    @type argv: C{list}
    @param argv: Lista de argumentos del programa.
    
    @rtype: C{tuple}
    @return: Retorna una tupla donde el primer elemento es una estructura
        que almacena la información acerca de las opciones especificadas
        y el segundo elemento es una lista con el resto de los argumentos.
    """
    usage = '%prog <tiger-file> --output <output-file> [--output-type <output-type>]'
    version = '%%prog (PyTiger2C) %s\n' % __version__
    authors = '\n'.join(['Copyright (C) 2009, 2010 %s' % a for a in __authors__])
    desc = 'Translates a Tiger program received as argument into a C program ' \
        'and then compiles the C program into an executable using a C compiler. ' \
        'This behavior can be modified using the --output-type option.'
    parser = optparse.OptionParser(usage=usage, 
                                   version=version + authors, 
                                   description=desc, 
                                   prog=os.path.basename(argv[0]))
    parser.add_option('-o', '--output', action='store', dest='output', metavar='FILE', 
                      help='write the output to FILE')
    parser.add_option('-t', '--output-type', action='store', dest='output_type', metavar='TYPE',
                      type='choice', choices=('ast', 'c', 'binary'),
                      help="output type: 'ast', 'c' or 'binary' (default '%default')")
    parser.set_default('output_type', 'binary')
    options, args = parser.parse_args(args=argv[1:])
    optparse.check_choice(parser.get_option('--output-type'), '--output-type', options.output_type)
    if not options.output:
        parser.error('missing required --output option')
    elif len(args) != 1:
        parser.error('invalid number of arguments')
    else:
        return options, args
示例#5
0
 def update_event(self, inp=-1):
     self.set_output_val(
         0,
         optparse.check_choice(self.input(0), self.input(1), self.input(2)))
示例#6
0
def check_choice_regignore(option, opt, value):
    """Check choice with registry independence"""
    if value.lower() in map(lambda x:x.lower(),option.choices):
        return value
    else:
        return optparse.check_choice(option,opt,value)