3 Commits

Author SHA1 Message Date
6e00ee014c fix the rollover function
patch bump
2026-03-28 11:52:58 +00:00
d7b73e773a add pre-commit config 2026-03-21 14:26:45 +00:00
ba85373f94 move steps abstract method into VbanCmd. 2026-03-16 23:16:01 +00:00
5 changed files with 22 additions and 15 deletions

13
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,13 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/python-poetry/poetry
rev: '2.3.2'
hooks:
- id: poetry-check
- id: poetry-lock

View File

@@ -1,6 +1,6 @@
[project]
name = "vban-cmd"
version = "2.10.3"
version = "2.10.4"
description = "Python interface for the VBAN RT Packet Service (Sendtext)"
authors = [{ name = "Onyx and Iris", email = "code@onyxandiris.online" }]
license = { text = "MIT" }
@@ -91,14 +91,16 @@ target-version = "py310"
[tool.ruff.lint]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
# Enable flake8-errmsg (EM) warnings.
# Enable flake8-bugbear (B) warnings.
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
# McCabe complexity (`C901`) by default.
select = ["E4", "E7", "E9", "F"]
select = ["E4", "E7", "E9", "EM", "F", "B"]
ignore = []
# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
unfixable = ["B"]
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

View File

@@ -1,4 +1,3 @@
import abc
import logging
from enum import IntEnum
from functools import cached_property
@@ -122,11 +121,6 @@ class FactoryBase(VbanCmd):
+ f"({self.kind}, ip='{self.ip}', port={self.port}, streamname='{self.streamname}')"
)
@property
@abc.abstractmethod
def steps(self):
pass
@cached_property
def configs(self):
self._configs = configs(self.kind.name)

View File

@@ -147,7 +147,4 @@ def deep_merge(dict1, dict2):
def bump_framecounter(framecounter: int) -> int:
"""Increment framecounter with rollover at 0xFFFFFFFF."""
if framecounter > 0xFFFFFFFF:
return 0
else:
return framecounter + 1
return (framecounter + 1) & 0xFFFFFFFF

View File

@@ -56,9 +56,10 @@ class VbanCmd(abc.ABC):
self.producer = None
self._last_script_request_time = 0
@property
@abc.abstractmethod
def __str__(self):
"""Ensure subclasses override str magic method"""
def steps(self):
"""Steps required to build the interface for this Voicemeeter kind"""
def _conn_from_toml(self) -> dict:
try: