'Parse \'N.N.N\' sequences, return a list of ints.
@param s {str} \'N.N.N...\' sequence to be parsed
@param full_ver_str {str} The full version string from which this
comes. Used for error strings.
@param drop_trailing_zeros {bool} Whether to drop trailing zeros
from the returned list. Default True.
@param pad_zeros_length {int} The length to which to pad the
returned list with zeros, if necessary. Default 0.'

def _parse_numdots(self, s, full_ver_str, drop_trailing_zeros=True, pad_zeros_length=0):

    nums = []
    for n in s.split('.'):
        if ((len(n) > 1) and (n[0] == '0')):
            raise IrrationalVersionError(("cannot    have    leading    zero    in    version    number    segment:    '%s'    in    %r" % (n, full_ver_str)))
        nums.append(int(n))
    if drop_trailing_zeros:
        while (nums and (nums[(-1)] == 0)):
            nums.pop()
    while (len(nums) < pad_zeros_length):
        nums.append(0)
    return nums
