def __process_milliseconds_value()

in modular_sdk/services/settings_management_service.py [0:0]


    def __process_milliseconds_value(setting_value):
        invalid_length = False
        if len(setting_value) != 13:
            invalid_length = True
        try:
            import datetime
            if invalid_length:
                raise ValueError()
            if setting_value.startswith('0'):
                raise ValueError()
            timestamp_in_seconds = int(setting_value) / 1000
            if timestamp_in_seconds < 0:
                raise ValueError()
            datetime.datetime.fromtimestamp(timestamp_in_seconds)
            return int(setting_value)
        except (TypeError, ValueError, OSError):
            raise ModularException(
                code=RESPONSE_BAD_REQUEST_CODE,
                content=f'Setting name matches to the pattern: *_EXPIRATION{os.linesep}'
                        f'Invalid value provided for expiration setting. '
                        f'Expected EPOCH milliseconds format, 13 digits, '
                        f'positive integer number'
            )