Skip to content

generic

Classes:

ClipLengthError

Bases: CustomOverflowError

Raised when a generic clip length error occurs.

FormatsMismatchError

FormatsMismatchError(
    func: FuncExcept,
    formats: Iterable[VideoFormatLike | HoldsVideoFormat],
    message: SupportsString = "All specified formats must be equal!",
    **kwargs: Any
)

Bases: MismatchError

Raised when clips with different formats are given.

Methods:

Source code in vstools/exceptions/generic.py
226
227
228
229
230
231
232
233
def __init__(
    self,
    func: FuncExcept,
    formats: Iterable[VideoFormatLike | HoldsVideoFormat],
    message: SupportsString = "All specified formats must be equal!",
    **kwargs: Any,
) -> None:
    super().__init__(func, formats, message, **kwargs)

check classmethod

check(
    func: FuncExcept,
    /,
    *formats: VideoFormatLike | HoldsVideoFormat,
    **kwargs: Any,
) -> None
Source code in vstools/exceptions/generic.py
237
238
@classmethod
def check(cls, func: FuncExcept, /, *formats: VideoFormatLike | HoldsVideoFormat, **kwargs: Any) -> None: ...

FormatsRefClipMismatchError

FormatsRefClipMismatchError(
    func: FuncExcept,
    clip: VideoFormatLike | HoldsVideoFormat,
    ref: VideoFormatLike | HoldsVideoFormat,
    message: SupportsString = "The format of ref and main clip must be equal!",
    **kwargs: Any
)

Bases: MismatchRefError, FormatsMismatchError

Raised when a ref clip and the main clip have different formats.

Methods:

Source code in vstools/exceptions/generic.py
246
247
248
249
250
251
252
253
254
def __init__(
    self,
    func: FuncExcept,
    clip: VideoFormatLike | HoldsVideoFormat,
    ref: VideoFormatLike | HoldsVideoFormat,
    message: SupportsString = "The format of ref and main clip must be equal!",
    **kwargs: Any,
) -> None:
    super().__init__(func, clip, ref, message, **kwargs)

check classmethod

check(
    func: FuncExcept,
    clip: VideoFormatLike | HoldsVideoFormat,
    ref: VideoFormatLike | HoldsVideoFormat,
    /,
    **kwargs: Any,
) -> None
Source code in vstools/exceptions/generic.py
258
259
260
261
262
263
264
265
266
@classmethod
def check(  # type: ignore[override]
    cls,
    func: FuncExcept,
    clip: VideoFormatLike | HoldsVideoFormat,
    ref: VideoFormatLike | HoldsVideoFormat,
    /,
    **kwargs: Any,
) -> None: ...

FramePropError

FramePropError(
    func: FuncExcept,
    key: str,
    message: SupportsString = 'Error while trying to get frame prop "{key}"!',
    **kwargs: Any
)

Bases: CustomKeyError

Raised when there is an error with the frame props.

Source code in vstools/exceptions/generic.py
426
427
428
429
430
431
432
433
def __init__(
    self,
    func: FuncExcept,
    key: str,
    message: SupportsString = 'Error while trying to get frame prop "{key}"!',
    **kwargs: Any,
) -> None:
    super().__init__(message, func, key=key, **kwargs)

FramerateMismatchError

FramerateMismatchError(
    func: FuncExcept,
    framerates: Iterable[VideoNode | Fraction | tuple[int, int] | float],
    message: SupportsString = "All the framerates must be equal!",
    **kwargs: Any
)

Bases: MismatchError

Raised when clips with a different framerate are given.

Methods:

Source code in vstools/exceptions/generic.py
376
377
378
379
380
381
382
383
def __init__(
    self,
    func: FuncExcept,
    framerates: Iterable[vs.VideoNode | Fraction | tuple[int, int] | float],
    message: SupportsString = "All the framerates must be equal!",
    **kwargs: Any,
) -> None:
    super().__init__(func, framerates, message, **kwargs)

check classmethod

check(
    func: FuncExcept,
    /,
    *framerates: VideoNode | Fraction | tuple[int, int] | float,
    **kwargs: Any,
) -> None
Source code in vstools/exceptions/generic.py
387
388
389
390
@classmethod
def check(
    cls, func: FuncExcept, /, *framerates: vs.VideoNode | Fraction | tuple[int, int] | float, **kwargs: Any
) -> None: ...

FramerateRefClipMismatchError

FramerateRefClipMismatchError(
    func: FuncExcept,
    clip: VideoNode | Fraction | tuple[int, int] | float,
    ref: VideoNode | Fraction | tuple[int, int] | float,
    message: SupportsString = "The framerate of the ref and main clip must be equal!",
    **kwargs: Any
)

Bases: MismatchRefError, FramerateMismatchError

Raised when a ref clip and the main clip have a different framerate.

Methods:

Source code in vstools/exceptions/generic.py
398
399
400
401
402
403
404
405
406
def __init__(
    self,
    func: FuncExcept,
    clip: vs.VideoNode | Fraction | tuple[int, int] | float,
    ref: vs.VideoNode | Fraction | tuple[int, int] | float,
    message: SupportsString = "The framerate of the ref and main clip must be equal!",
    **kwargs: Any,
) -> None:
    super().__init__(func, clip, ref, message, **kwargs)

check classmethod

check(
    func: FuncExcept,
    clip: VideoNode | Fraction | tuple[int, int] | float,
    ref: VideoNode | Fraction | tuple[int, int] | float,
    /,
    **kwargs: Any,
) -> None
Source code in vstools/exceptions/generic.py
410
411
412
413
414
415
416
417
418
@classmethod
def check(  # type: ignore[override]
    cls,
    func: FuncExcept,
    clip: vs.VideoNode | Fraction | tuple[int, int] | float,
    ref: vs.VideoNode | Fraction | tuple[int, int] | float,
    /,
    **kwargs: Any,
) -> None: ...

FramesLengthError

FramesLengthError(
    func: FuncExcept,
    var_name: str,
    message: SupportsString = '"{var_name}" can\'t be greater than the clip length!',
    **kwargs: Any
)

Bases: CustomOverflowError

Source code in vstools/exceptions/generic.py
53
54
55
56
57
58
59
60
def __init__(
    self,
    func: FuncExcept,
    var_name: str,
    message: SupportsString = '"{var_name}" can\'t be greater than the clip length!',
    **kwargs: Any,
) -> None:
    super().__init__(message, func, var_name=var_name, **kwargs)

InvalidColorFamilyError

InvalidColorFamilyError(
    func: FuncExcept | None,
    wrong: (
        VideoFormatLike
        | HoldsVideoFormat
        | ColorFamily
        | Iterable[VideoFormatLike | HoldsVideoFormat | ColorFamily]
    ),
    correct: (
        VideoFormatLike
        | HoldsVideoFormat
        | ColorFamily
        | Iterable[VideoFormatLike | HoldsVideoFormat | ColorFamily]
    ) = YUV,
    message: SupportsString = "Input clip must be of {correct} color family, not {wrong}!",
    **kwargs: Any
)

Bases: CustomValueError

Raised when the given clip uses an invalid format.

Methods:

  • check

    Check whether the given values are correct, and if not, throw this exception.

Source code in vstools/exceptions/generic.py
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
def __init__(
    self,
    func: FuncExcept | None,
    wrong: VideoFormatLike
    | HoldsVideoFormat
    | vs.ColorFamily
    | Iterable[VideoFormatLike | HoldsVideoFormat | vs.ColorFamily],
    correct: VideoFormatLike
    | HoldsVideoFormat
    | vs.ColorFamily
    | Iterable[VideoFormatLike | HoldsVideoFormat | vs.ColorFamily] = vs.YUV,
    message: SupportsString = "Input clip must be of {correct} color family, not {wrong}!",
    **kwargs: Any,
) -> None:
    from ..utils import get_color_family

    super().__init__(
        message,
        func,
        wrong=iter({get_color_family(c).name for c in to_arr(wrong)}),  # type: ignore[arg-type]
        correct=iter({get_color_family(c).name for c in to_arr(correct)}),  # type: ignore[arg-type]
        **kwargs,
    )

check classmethod

check(
    to_check: (
        VideoFormatLike
        | HoldsVideoFormat
        | ColorFamily
        | Iterable[VideoFormatLike | HoldsVideoFormat | ColorFamily]
    ),
    correct: (
        VideoFormatLike
        | HoldsVideoFormat
        | ColorFamily
        | Iterable[VideoFormatLike | HoldsVideoFormat | ColorFamily]
    ),
    func: FuncExcept | None = None,
    message: SupportsString | None = None,
    **kwargs: Any
) -> None

Check whether the given values are correct, and if not, throw this exception.

Parameters:

  • to_check

    (VideoFormatLike | HoldsVideoFormat | ColorFamily | Iterable[VideoFormatLike | HoldsVideoFormat | ColorFamily]) –

    Value to check. Must be either a ColorFamily value, or a value a ColorFamily can be derived from such as VideoFormat.

  • correct

    (VideoFormatLike | HoldsVideoFormat | ColorFamily | Iterable[VideoFormatLike | HoldsVideoFormat | ColorFamily]) –

    A correct value or an array of correct color families.

  • func

    (FuncExcept | None, default: None ) –

    Function returned for custom error handling. This should only be set by VS package developers.

  • message

    (SupportsString | None, default: None ) –

    Message to print when throwing the exception. The message will be formatted to display the correct and wrong values ({correct} and {wrong} respectively).

  • **kwargs

    (Any, default: {} ) –

    Keyword arguments to pass on to the exception.

Raises:

Source code in vstools/exceptions/generic.py
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
@classmethod
def check(
    cls,
    to_check: VideoFormatLike
    | HoldsVideoFormat
    | vs.ColorFamily
    | Iterable[VideoFormatLike | HoldsVideoFormat | vs.ColorFamily],
    correct: VideoFormatLike
    | HoldsVideoFormat
    | vs.ColorFamily
    | Iterable[VideoFormatLike | HoldsVideoFormat | vs.ColorFamily],
    func: FuncExcept | None = None,
    message: SupportsString | None = None,
    **kwargs: Any,
) -> None:
    """
    Check whether the given values are correct, and if not, throw this exception.

    Args:
        to_check: Value to check. Must be either a ColorFamily value, or a value a ColorFamily can be derived from
            such as VideoFormat.
        correct: A correct value or an array of correct color families.
        func: Function returned for custom error handling. This should only be set by VS package developers.
        message: Message to print when throwing the exception. The message will be formatted to display the correct
            and wrong values (`{correct}` and `{wrong}` respectively).
        **kwargs: Keyword arguments to pass on to the exception.

    Raises:
        InvalidColorFamilyError: Given color family is not in list of correct color families.
    """
    from ..utils import get_color_family

    to_check_set = {get_color_family(c) for c in to_arr(to_check)}  # type: ignore[arg-type]
    correct_set = {get_color_family(c) for c in to_arr(correct)}  # type: ignore[arg-type]

    if not to_check_set.issubset(correct_set):
        if message is not None:
            kwargs.update(message=message)
        raise cls(func, to_check_set, correct_set, **kwargs)

InvalidFramerateError

InvalidFramerateError(
    func: FuncExcept,
    clip: VideoNode | Fraction,
    message: SupportsString = "{fps} clips are not allowed!",
    **kwargs: Any
)

Bases: CustomValueError

Raised when the given clip has an invalid framerate.

Methods:

  • check

    Check whether the given values are correct, and if not, throw this exception.

Source code in vstools/exceptions/generic.py
452
453
454
455
456
457
458
459
def __init__(
    self,
    func: FuncExcept,
    clip: vs.VideoNode | Fraction,
    message: SupportsString = "{fps} clips are not allowed!",
    **kwargs: Any,
) -> None:
    super().__init__(message, func, fps=clip.fps if isinstance(clip, vs.VideoNode) else clip, **kwargs)

check staticmethod

check(
    func: FuncExcept,
    to_check: VideoNode | Fraction | tuple[int, int] | float,
    correct: (
        VideoNode
        | Fraction
        | tuple[int, int]
        | float
        | Iterable[VideoNode | Fraction | tuple[int, int] | float]
    ),
    message: SupportsString = "Input clip must have {correct} framerate, not {wrong}!",
    **kwargs: Any
) -> None

Check whether the given values are correct, and if not, throw this exception.

Parameters:

  • to_check

    (VideoNode | Fraction | tuple[int, int] | float) –

    Value to check. Must be either a VideoNode holding the correct framerate, a Fraction, a tuple representing a fraction, or a float.

  • correct

    (VideoNode | Fraction | tuple[int, int] | float | Iterable[VideoNode | Fraction | tuple[int, int] | float]) –

    A correct value or an array of correct values.

  • func

    (FuncExcept) –

    Function returned for custom error handling. This should only be set by VS package developers.

  • message

    (SupportsString, default: 'Input clip must have {correct} framerate, not {wrong}!' ) –

    Message to print when throwing the exception. The message will be formatted to display the correct and wrong values ({correct} and {wrong} respectively).

  • **kwargs

    (Any, default: {} ) –

    Keyword arguments to pass on to the exception.

Raises:

Source code in vstools/exceptions/generic.py
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
@staticmethod
def check(
    func: FuncExcept,
    to_check: vs.VideoNode | Fraction | tuple[int, int] | float,
    correct: vs.VideoNode
    | Fraction
    | tuple[int, int]
    | float
    | Iterable[vs.VideoNode | Fraction | tuple[int, int] | float],
    message: SupportsString = "Input clip must have {correct} framerate, not {wrong}!",
    **kwargs: Any,
) -> None:
    """
    Check whether the given values are correct, and if not, throw this exception.

    Args:
        to_check: Value to check. Must be either a VideoNode holding the correct framerate, a Fraction, a tuple
            representing a fraction, or a float.
        correct: A correct value or an array of correct values.
        func: Function returned for custom error handling. This should only be set by VS package developers.
        message: Message to print when throwing the exception. The message will be formatted to display the correct
            and wrong values (`{correct}` and `{wrong}` respectively).
        **kwargs: Keyword arguments to pass on to the exception.

    Raises:
        InvalidFramerateError: Given framerate is not in list of correct framerates.
    """
    from ..utils import get_framerate

    to_check = get_framerate(to_check)

    def _resolve_correct(val: Any) -> Iterable[vs.VideoNode | Fraction | tuple[int, int] | float]:
        if isinstance(val, Iterable):
            if isinstance(val, tuple) and len(val) == 2 and all(isinstance(x, int) for x in val):
                return [val]
            return val
        return [val]

    correct_list = [get_framerate(c) for c in _resolve_correct(correct)]

    if to_check not in correct_list:
        raise InvalidFramerateError(
            func, to_check, message, wrong=to_check, correct=iter(set(correct_list)), **kwargs
        )

InvalidSubsamplingError

InvalidSubsamplingError(
    func: FuncExcept,
    subsampling: str | VideoFormatLike | HoldsVideoFormat,
    message: SupportsString = "The subsampling {subsampling} is not supported!",
    **kwargs: Any
)

Bases: CustomValueError

Raised when the given clip has invalid subsampling.

Source code in vstools/exceptions/generic.py
201
202
203
204
205
206
207
208
209
210
211
212
def __init__(
    self,
    func: FuncExcept,
    subsampling: str | VideoFormatLike | HoldsVideoFormat,
    message: SupportsString = "The subsampling {subsampling} is not supported!",
    **kwargs: Any,
) -> None:
    from ..utils import get_video_format

    subsampling = subsampling if isinstance(subsampling, str) else get_video_format(subsampling).name

    super().__init__(message, func, subsampling=subsampling, **kwargs)

InvalidTimecodeVersionError

InvalidTimecodeVersionError(
    func: FuncExcept,
    version: int,
    message: SupportsString = "{version} is not a valid timecodes version!",
    **kwargs: Any
)

Bases: CustomValueError

Raised when an invalid timecode version is passed.

Methods:

  • check

    Check whether the given values are correct, and if not, throw this exception.

Source code in vstools/exceptions/generic.py
512
513
514
515
516
517
518
519
def __init__(
    self,
    func: FuncExcept,
    version: int,
    message: SupportsString = "{version} is not a valid timecodes version!",
    **kwargs: Any,
) -> None:
    super().__init__(message, func, version=version, **kwargs)

check staticmethod

check(
    func: FuncExcept,
    to_check: int,
    correct: int | Iterable[int] = [1, 2],
    message: SupportsString = "Timecodes version be in {correct}, not {wrong}!",
    **kwargs: Any
) -> None

Check whether the given values are correct, and if not, throw this exception.

Parameters:

  • func

    (FuncExcept) –

    Function returned for custom error handling. This should only be set by VS package developers.

  • to_check

    (int) –

    Value to check. Must be an integer representing the timecodes version.

  • correct

    (int | Iterable[int], default: [1, 2] ) –

    A correct value or an array of correct values. Defaults to [1, 2] (V1, V2).

  • message

    (SupportsString, default: 'Timecodes version be in {correct}, not {wrong}!' ) –

    Message to print when throwing the exception. The message will be formatted to display the correct and wrong values ({correct} and {wrong} respectively).

  • **kwargs

    (Any, default: {} ) –

    Keyword arguments to pass on to the exception.

Raises:

Source code in vstools/exceptions/generic.py
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
@staticmethod
def check(
    func: FuncExcept,
    to_check: int,
    correct: int | Iterable[int] = [1, 2],
    message: SupportsString = "Timecodes version be in {correct}, not {wrong}!",
    **kwargs: Any,
) -> None:
    """
    Check whether the given values are correct, and if not, throw this exception.

    Args:
        func: Function returned for custom error handling. This should only be set by VS package developers.
        to_check: Value to check. Must be an integer representing the timecodes version.
        correct: A correct value or an array of correct values. Defaults to [1, 2] (V1, V2).
        message: Message to print when throwing the exception. The message will be formatted to display the correct
            and wrong values (`{correct}` and `{wrong}` respectively).
        **kwargs: Keyword arguments to pass on to the exception.

    Raises:
        InvalidTimecodeVersionError: Given timecodes version is not in list of correct versions.
    """
    correct_list = to_arr(correct)

    if to_check not in correct_list:
        raise InvalidTimecodeVersionError(
            func, to_check, message, wrong=to_check, correct=iter(set(correct_list)), **kwargs
        )

InvalidVideoFormatError

InvalidVideoFormatError(
    func: FuncExcept,
    format: VideoFormatLike | HoldsVideoFormat,
    message: SupportsString = "The format {format.name} is not supported!",
    **kwargs: Any
)

Bases: CustomValueError

Raised when the given clip has an invalid format.

Source code in vstools/exceptions/generic.py
102
103
104
105
106
107
108
109
110
111
def __init__(
    self,
    func: FuncExcept,
    format: VideoFormatLike | HoldsVideoFormat,
    message: SupportsString = "The format {format.name} is not supported!",
    **kwargs: Any,
) -> None:
    from ..utils import get_video_format

    super().__init__(message, func, format=get_video_format(format), **kwargs)

LengthMismatchError

LengthMismatchError(
    func: FuncExcept,
    lengths: Iterable[int | Sized],
    message: SupportsString = "All the lengths must be equal!",
    **kwargs: Any
)

Bases: MismatchError

Raised when clips with a different number of total frames are given.

Methods:

Source code in vstools/exceptions/generic.py
327
328
329
330
331
332
333
334
def __init__(
    self,
    func: FuncExcept,
    lengths: Iterable[int | Sized],
    message: SupportsString = "All the lengths must be equal!",
    **kwargs: Any,
) -> None:
    super().__init__(func, lengths, message, iter(map(self._item_to_name, lengths)), **kwargs)

check classmethod

check(func: FuncExcept, /, *lengths: int | Sized, **kwargs: Any) -> None
Source code in vstools/exceptions/generic.py
338
339
@classmethod
def check(cls, func: FuncExcept, /, *lengths: int | Sized, **kwargs: Any) -> None: ...

LengthRefClipMismatchError

LengthRefClipMismatchError(
    func: FuncExcept,
    clip: int | RawNode,
    ref: int | RawNode,
    message: SupportsString = "The main clip and ref clip length must be equal!",
    **kwargs: Any
)

Bases: MismatchRefError, LengthMismatchError

Raised when a ref clip and the main clip have a different number of total frames.

Methods:

Source code in vstools/exceptions/generic.py
347
348
349
350
351
352
353
354
355
def __init__(
    self,
    func: FuncExcept,
    clip: int | vs.RawNode,
    ref: int | vs.RawNode,
    message: SupportsString = "The main clip and ref clip length must be equal!",
    **kwargs: Any,
) -> None:
    super().__init__(func, clip, ref, message, **kwargs)

check classmethod

check(
    func: FuncExcept, clip: int | RawNode, ref: int | RawNode, /, **kwargs: Any
) -> None
Source code in vstools/exceptions/generic.py
359
360
361
362
@classmethod
def check(  # type: ignore[override]
    cls, func: FuncExcept, clip: int | vs.RawNode, ref: int | vs.RawNode, /, **kwargs: Any
) -> None: ...

ResolutionsMismatchError

ResolutionsMismatchError(
    func: FuncExcept,
    resolutions: Iterable[Resolution | VideoNode],
    message: SupportsString = "All the resolutions must be equal!",
    **kwargs: Any
)

Bases: MismatchError

Raised when clips with different resolutions are given.

Methods:

Source code in vstools/exceptions/generic.py
280
281
282
283
284
285
286
287
def __init__(
    self,
    func: FuncExcept,
    resolutions: Iterable[Resolution | vs.VideoNode],
    message: SupportsString = "All the resolutions must be equal!",
    **kwargs: Any,
) -> None:
    super().__init__(func, resolutions, message, **kwargs)

check classmethod

check(
    func: FuncExcept, /, *resolutions: Resolution | VideoNode, **kwargs: Any
) -> None
Source code in vstools/exceptions/generic.py
291
292
@classmethod
def check(cls, func: FuncExcept, /, *resolutions: Resolution | vs.VideoNode, **kwargs: Any) -> None: ...

ResolutionsRefClipMismatchError

ResolutionsRefClipMismatchError(
    func: FuncExcept,
    clip: Resolution | VideoNode,
    ref: Resolution | VideoNode,
    message: SupportsString = "The resolution of ref and main clip must be equal!",
    **kwargs: Any
)

Bases: MismatchRefError, ResolutionsMismatchError

Raised when a ref clip and the main clip have different resolutions.

Methods:

Source code in vstools/exceptions/generic.py
300
301
302
303
304
305
306
307
308
def __init__(
    self,
    func: FuncExcept,
    clip: Resolution | vs.VideoNode,
    ref: Resolution | vs.VideoNode,
    message: SupportsString = "The resolution of ref and main clip must be equal!",
    **kwargs: Any,
) -> None:
    super().__init__(func, clip, ref, message, **kwargs)

check classmethod

check(
    func: FuncExcept,
    clip: Resolution | VideoNode,
    ref: Resolution | VideoNode,
    /,
    **kwargs: Any,
) -> None
Source code in vstools/exceptions/generic.py
312
313
314
315
@classmethod
def check(  # type: ignore[override]
    cls, func: FuncExcept, clip: Resolution | vs.VideoNode, ref: Resolution | vs.VideoNode, /, **kwargs: Any
) -> None: ...

TopFieldFirstError

TopFieldFirstError(
    func: FuncExcept,
    message: SupportsString = "You must set `tff` for this clip!",
    **kwargs: Any
)

Bases: CustomValueError

Raised when the user must pass a TFF argument.

Source code in vstools/exceptions/generic.py
441
442
443
444
def __init__(
    self, func: FuncExcept, message: SupportsString = "You must set `tff` for this clip!", **kwargs: Any
) -> None:
    super().__init__(message, func, **kwargs)

UnsupportedColorFamilyError

Bases: CustomValueError

Raised when an undefined color family value is passed.

UnsupportedSubsamplingError

Bases: CustomValueError

Raised when an undefined subsampling value is passed.

UnsupportedVideoFormatError

Bases: CustomValueError

Raised when an undefined video format value is passed.

VariableFormatError

VariableFormatError(
    func: FuncExcept,
    message: SupportsString = "Variable-format clips not supported!",
    **kwargs: Any
)

Bases: CustomValueError

Raised when clip is of a variable format.

Source code in vstools/exceptions/generic.py
74
75
76
77
def __init__(
    self, func: FuncExcept, message: SupportsString = "Variable-format clips not supported!", **kwargs: Any
) -> None:
    super().__init__(message, func, **kwargs)

VariableResolutionError

VariableResolutionError(
    func: FuncExcept,
    message: SupportsString = "Variable-resolution clips not supported!",
    **kwargs: Any
)

Bases: CustomValueError

Raised when clip is of a variable resolution.

Source code in vstools/exceptions/generic.py
85
86
87
88
def __init__(
    self, func: FuncExcept, message: SupportsString = "Variable-resolution clips not supported!", **kwargs: Any
) -> None:
    super().__init__(message, func, **kwargs)