Пример #1
0
 def get_relative_time_option(self, input_string, input_name):
     """Return an ASN1 formatted string if a relative timespec
        or an ASN1 formatted string is provided."""
     result = input_string
     if result.startswith("+") or result.startswith("-"):
         result = crypto_utils.convert_relative_to_datetime(
             result).strftime("%Y%m%d%H%M%SZ")
     if result is None:
         raise CertificateError(
             'The timespec "%s" for %s is not valid' % input_string,
             input_name)
     return result
Пример #2
0
    def convert_to_datetime(self, module, timestring):

        if self.is_relative(timestring):
            result = convert_relative_to_datetime(timestring)
            if result is None:
                module.fail_json(
                    msg="'%s' is not a valid time format." % timestring)
            else:
                return result
        else:
            formats = ["%Y-%m-%d",
                       "%Y-%m-%d %H:%M:%S",
                       "%Y-%m-%dT%H:%M:%S",
                       ]
            for fmt in formats:
                try:
                    return datetime.strptime(timestring, fmt)
                except ValueError:
                    pass
            module.fail_json(msg="'%s' is not a valid time format" % timestring)
Пример #3
0
    def get_relative_time_option(self, input_string, input_name):
        """Return an ASN1 formatted string if a relative timespec
           or an ASN1 formatted string is provided."""
        result = to_native(input_string)
        if result is None:
            raise CRLError(
                'The timespec "%s" for %s is not valid' % input_string,
                input_name)
        if result.startswith("+") or result.startswith("-"):
            return crypto_utils.convert_relative_to_datetime(result)
        for date_fmt in [
                '%Y%m%d%H%M%SZ', '%Y%m%d%H%MZ', '%Y%m%d%H%M%S%z',
                '%Y%m%d%H%M%z'
        ]:
            try:
                return datetime.datetime.strptime(result, date_fmt)
            except ValueError:
                pass

        raise CRLError('The time spec "%s" for %s is invalid' %
                       (input_string, input_name))
Пример #4
0
def get_relative_time_option(input_string, input_name):
    """Return an ASN1 formatted string if a relative timespec
       or an ASN1 formatted string is provided."""
    result = input_string
    if result.startswith("+") or result.startswith("-"):
        return crypto_utils.convert_relative_to_datetime(result)
    if result is None:
        raise crypto_utils.OpenSSLObjectError(
            'The timespec "%s" for %s is not valid' %
            input_string, input_name)
    for date_fmt in ['%Y%m%d%H%M%SZ', '%Y%m%d%H%MZ', '%Y%m%d%H%M%S%z', '%Y%m%d%H%M%z']:
        try:
            result = datetime.datetime.strptime(input_string, date_fmt)
            break
        except ValueError:
            pass

    if not isinstance(result, datetime.datetime):
        raise crypto_utils.OpenSSLObjectError(
            'The time spec "%s" for %s is invalid' %
            (input_string, input_name)
        )
    return result