|
@@ -21,6 +21,8 @@ import urllib
|
|
|
import yaml
|
|
|
import logging
|
|
|
|
|
|
+from six import string_types
|
|
|
+
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
@@ -89,14 +91,14 @@ def _load_appservice(hostname, as_info, config_filename):
|
|
|
"id", "as_token", "hs_token", "sender_localpart"
|
|
|
]
|
|
|
for field in required_string_fields:
|
|
|
- if not isinstance(as_info.get(field), basestring):
|
|
|
+ if not isinstance(as_info.get(field), string_types):
|
|
|
raise KeyError("Required string field: '%s' (%s)" % (
|
|
|
field, config_filename,
|
|
|
))
|
|
|
|
|
|
# 'url' must either be a string or explicitly null, not missing
|
|
|
# to avoid accidentally turning off push for ASes.
|
|
|
- if (not isinstance(as_info.get("url"), basestring) and
|
|
|
+ if (not isinstance(as_info.get("url"), string_types) and
|
|
|
as_info.get("url", "") is not None):
|
|
|
raise KeyError(
|
|
|
"Required string field or explicit null: 'url' (%s)" % (config_filename,)
|
|
@@ -128,7 +130,7 @@ def _load_appservice(hostname, as_info, config_filename):
|
|
|
"Expected namespace entry in %s to be an object,"
|
|
|
" but got %s", ns, regex_obj
|
|
|
)
|
|
|
- if not isinstance(regex_obj.get("regex"), basestring):
|
|
|
+ if not isinstance(regex_obj.get("regex"), string_types):
|
|
|
raise ValueError(
|
|
|
"Missing/bad type 'regex' key in %s", regex_obj
|
|
|
)
|