Jelajahi Sumber

#446 automatically convert arguments of display methods to string

Falko Schindler 2 tahun lalu
induk
melakukan
45a7da34ed
2 mengubah file dengan 6 tambahan dan 4 penghapusan
  1. 3 2
      nicegui/elements/log.py
  2. 3 2
      nicegui/functions/notify.py

+ 3 - 2
nicegui/elements/log.py

@@ -1,5 +1,5 @@
 from collections import deque
-from typing import Optional
+from typing import Any, Optional
 
 from ..dependencies import register_component
 from ..element import Element
@@ -23,7 +23,8 @@ class Log(Element):
         self.style('opacity: 1 !important; cursor: text !important')
         self.lines: deque[str] = deque(maxlen=max_lines)
 
-    def push(self, line: str) -> None:
+    def push(self, line: Any) -> None:
+        line = str(line)
         self.lines.extend(line.splitlines())
         self._props['lines'] = '\n'.join(self.lines)
         self.run_method('push', line)

+ 3 - 2
nicegui/functions/notify.py

@@ -1,9 +1,9 @@
-from typing import Optional, Union
+from typing import Any, Optional, Union
 
 from .. import globals, outbox
 
 
-def notify(message: str, *,
+def notify(message: Any, *,
            position: str = 'bottom',
            closeBtn: Union[bool, str] = False,
            type: Optional[str] = None,
@@ -23,4 +23,5 @@ def notify(message: str, *,
     Note: You can pass additional keyword arguments according to `Quasar's Notify API <https://quasar.dev/quasar-plugins/notify#notify-api>`_.
     """
     options = {key: value for key, value in locals().items() if not key.startswith('_') and value is not None}
+    options['message'] = str(message)
     outbox.enqueue_message('notify', options, globals.get_client().id)