Exemplo n.º 1
0
 def test_empty(self):
     """
     Empty iterables are filled entirely with the padding value.
     """
     padded = list(util.padIterable([], -1, 5))
     self.assertEquals(len(padded), 5)
     self.assertEquals(padded, [-1, -1, -1, -1, -1])
Exemplo n.º 2
0
 def test_exact(self):
     """
     Iterables that are the same length as the padding are not padded.
     """
     padded = list(util.padIterable(xrange(5), -1, 5))
     self.assertEquals(len(padded), 5)
     self.assertEquals(padded, [0, 1, 2, 3, 4])
Exemplo n.º 3
0
 def test_exceedsPadding(self):
     """
     Iterables that exceed the padding amount are clipped to the specified
     length.
     """
     padded = list(util.padIterable(xrange(10), -1, 5))
     self.assertEquals(len(padded), 5)
     self.assertEquals(padded, [0, 1, 2, 3, 4])
Exemplo n.º 4
0
 def test_needsPadding(self):
     """
     Iterables that need padding are padded to the specified length with the
     padding value.
     """
     padded = list(util.padIterable(xrange(3), -1, 5))
     self.assertEquals(len(padded), 5)
     self.assertEquals(padded, [0, 1, 2, -1, -1])
Exemplo n.º 5
0
 def _params():
     parameters = getattr(commandClass, "optParameters", [])
     parameters = (util.padIterable(p, None, 5) for p in parameters)
     for long, short, default, desc, coerce in parameters:
         if long in conf:
             default = conf.get(long)
             if default is not None and coerce is not None:
                 default = coerce(default)
         yield long, short, default, desc, coerce
Exemplo n.º 6
0
def transformersFromOptions(options):
    """
    Extract option transformers from an C{Options} subclass.

    @rtype: C{iterable} of C{(str, callable)}
    @return: Iterable of C{(longOption, transformer)}.
    """
    flags = getattr(options, "optFlags", [])
    for long, short, desc in flags:
        yield long, flag

    parameters = getattr(options, "optParameters", [])
    parameters = (util.padIterable(ps, _identity, 5) for ps in parameters)
    global _identity
    for long, short, default, desc, coerce in parameters:
        if coerce is None:
            coerce = _identity
        yield long, coerce