diff --git a/mo/web/table.py b/mo/web/table.py
index 65fdde48fd4f6f65e15967102760dd351c0283ff..bc6975f587a3f1637b1628d84acb65e33c920667 100644
--- a/mo/web/table.py
+++ b/mo/web/table.py
@@ -6,7 +6,7 @@ import io
from markupsafe import Markup
from typing import Any, Dict, List, Sequence, Optional, Iterable, Union
import urllib.parse
-from werkzeug.datastructures import ImmutableMultiDict
+from werkzeug.datastructures import MultiDict, ImmutableMultiDict
import werkzeug.exceptions
from mo.csv import FileFormat
@@ -206,7 +206,7 @@ class Table:
return Markup("\n".join(tab))
- def get_columns_checkboxes(self, line_prefix: str = "", args: Optional[ImmutableMultiDict] = None) -> Markup:
+ def get_columns_checkboxes(self, line_prefix: str = "", args: Union[None, MultiDict, ImmutableMultiDict] = None) -> Markup:
out = [line_prefix + '<input type="hidden" name="do_column_selection" value="1">']
for c in self.columns:
if c.in_export is None:
@@ -251,7 +251,7 @@ class Table:
yield out.getvalue().encode(fmt.get_charset())
- def send_as(self, format: Union[FileFormat, str], streaming: bool = False, args: Optional[ImmutableMultiDict] = None) -> Response:
+ def send_as(self, format: Union[FileFormat, str], streaming: bool = False, args: Union[None, MultiDict, ImmutableMultiDict] = None) -> Response:
try:
fmt = FileFormat.coerce(format)
except ValueError: