def _get_filter_args(klass, request, custom_filters=None): filter_args = {} if 'instance' in request.GET: uuid = request.GET['instance'] filter_args['instance'] = uuid if not utils.is_uuid_like(uuid): msg = "%s is not uuid-like" % uuid raise BadRequestException(msg) for (key, value) in request.GET.items(): if not custom_filters or key not in custom_filters: if key.endswith('_min'): k = key[0:-4] _check_has_field(klass, k) try: filter_args['%s__gte' % k] = \ utils.str_time_to_unix(value) except AttributeError: msg = "Range filters must be dates." raise BadRequestException(message=msg) elif key.endswith('_max'): k = key[0:-4] _check_has_field(klass, k) try: filter_args['%s__lte' % k] = \ utils.str_time_to_unix(value) except AttributeError: msg = "Range filters must be dates." raise BadRequestException(message=msg) return filter_args
def test_is_uuid_like_invalid(self): uuid = "$-^&#$" self.assertFalse(stacktach_utils.is_uuid_like(uuid))
def test_is_uuid_like_no_dashes(self): uuid = "08f685d963524dbc827196cc54bf14cd" self.assertTrue(stacktach_utils.is_uuid_like(uuid))
def test_is_uuid_like(self): uuid = INSTANCE_ID_1 self.assertTrue(stacktach_utils.is_uuid_like(uuid))