Просмотр исходного кода

fix(text): improve base64 regex

- Avoid warning: invalid escape sequence '\/'
- ensure full string matches
- ensure correct number of fill characters
Jason Rumney 7 месяцев назад
Родитель
Сommit
f295d8ffdf
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      custom_components/tuya_local/text.py

+ 3 - 1
custom_components/tuya_local/text.py

@@ -60,7 +60,9 @@ class TuyaLocalText(TuyaLocalEntity, TextEntity):
         if self._value_dp.rawtype == "hex":
             self._attr_pattern = "[0-9a-fA-F]*"
         elif self._value_dp.rawtype == "base64":
-            self._attr_pattern = "[-A-Za-z0-9+\/]*={0,3}"
+            self._attr_pattern = (
+                "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
+            )
         # TODO: general pattern support
 
         if hasattr(self, "_attr_pattern"):