mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 14:03:30 +00:00 
			
		
		
		
	webhooks: Move UnexpectedWebhookEventType into zerver.lib.exceptions.
8e10ab282a moved UnexpectedWebhookEventType into
`zerver.lib.exceptions`, but left the import into
`zserver.lib.webhooks.common` so that webhooks could continue to
import the exception from there.
This clutters things and adds complexity; there is no compelling
reason that the exception's source of truth should not move alongside
all other exceptions.
			
			
This commit is contained in:
		
				
					committed by
					
						
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							f95dd628bd
						
					
				
				
					commit
					8016769613
				
			@@ -623,7 +623,7 @@ Many third-party services have dozens of different event types. In some cases, w
 | 
				
			|||||||
may choose to explicitly ignore specific events. In other cases, there may be
 | 
					may choose to explicitly ignore specific events. In other cases, there may be
 | 
				
			||||||
events that are new or events that we don't know about. In such cases, we
 | 
					events that are new or events that we don't know about. In such cases, we
 | 
				
			||||||
recommend raising `UnexpectedWebhookEventType` (found in
 | 
					recommend raising `UnexpectedWebhookEventType` (found in
 | 
				
			||||||
`zerver/lib/webhooks/common.py`), like so:
 | 
					`zerver/lib/exceptions.py`), like so:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
raise UnexpectedWebhookEventType(webhook_name, event_type)
 | 
					raise UnexpectedWebhookEventType(webhook_name, event_type)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,9 +7,6 @@ from zulint.linters import run_pyflakes
 | 
				
			|||||||
def check_pyflakes(files: List[str], options: argparse.Namespace) -> bool:
 | 
					def check_pyflakes(files: List[str], options: argparse.Namespace) -> bool:
 | 
				
			||||||
    suppress_patterns = [
 | 
					    suppress_patterns = [
 | 
				
			||||||
        ("scripts/lib/pythonrc.py", "imported but unused"),
 | 
					        ("scripts/lib/pythonrc.py", "imported but unused"),
 | 
				
			||||||
        # Intentionally imported by zerver/lib/webhooks/common.py
 | 
					 | 
				
			||||||
        ('', "'zerver.lib.exceptions.UnexpectedWebhookEventType' imported but unused"),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Our ipython startup pythonrc file intentionally imports *
 | 
					        # Our ipython startup pythonrc file intentionally imports *
 | 
				
			||||||
        ("scripts/lib/pythonrc.py",
 | 
					        ("scripts/lib/pythonrc.py",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,12 +10,7 @@ from zerver.lib.actions import (
 | 
				
			|||||||
    check_send_stream_message,
 | 
					    check_send_stream_message,
 | 
				
			||||||
    send_rate_limited_pm_notification_to_bot_owner,
 | 
					    send_rate_limited_pm_notification_to_bot_owner,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from zerver.lib.exceptions import (
 | 
					from zerver.lib.exceptions import ErrorCode, JsonableError, StreamDoesNotExistError
 | 
				
			||||||
    ErrorCode,
 | 
					 | 
				
			||||||
    JsonableError,
 | 
					 | 
				
			||||||
    StreamDoesNotExistError,
 | 
					 | 
				
			||||||
    UnexpectedWebhookEventType,
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.send_email import FromAddress
 | 
					from zerver.lib.send_email import FromAddress
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,7 +36,12 @@ from zerver.lib.actions import (
 | 
				
			|||||||
    do_set_realm_property,
 | 
					    do_set_realm_property,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from zerver.lib.cache import dict_to_items_tuple, ignore_unhashable_lru_cache, items_tuple_to_dict
 | 
					from zerver.lib.cache import dict_to_items_tuple, ignore_unhashable_lru_cache, items_tuple_to_dict
 | 
				
			||||||
from zerver.lib.exceptions import InvalidAPIKeyError, InvalidAPIKeyFormatError, JsonableError
 | 
					from zerver.lib.exceptions import (
 | 
				
			||||||
 | 
					    InvalidAPIKeyError,
 | 
				
			||||||
 | 
					    InvalidAPIKeyFormatError,
 | 
				
			||||||
 | 
					    JsonableError,
 | 
				
			||||||
 | 
					    UnexpectedWebhookEventType,
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
from zerver.lib.initial_password import initial_password
 | 
					from zerver.lib.initial_password import initial_password
 | 
				
			||||||
from zerver.lib.request import (
 | 
					from zerver.lib.request import (
 | 
				
			||||||
    REQ,
 | 
					    REQ,
 | 
				
			||||||
@@ -76,7 +81,6 @@ from zerver.lib.validator import (
 | 
				
			|||||||
    to_non_negative_int,
 | 
					    to_non_negative_int,
 | 
				
			||||||
    to_positive_or_allowed_int,
 | 
					    to_positive_or_allowed_int,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType
 | 
					 | 
				
			||||||
from zerver.models import Realm, UserProfile, get_realm, get_user
 | 
					from zerver.models import Realm, UserProfile, get_realm, get_user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if settings.ZILENCER_ENABLED:
 | 
					if settings.ZILENCER_ENABLED:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,10 @@ from typing import Any, Dict
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .support_event import SUPPORT_EVENTS
 | 
					from .support_event import SUPPORT_EVENTS
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,10 +8,10 @@ from typing import Any, Dict, List, Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import (
 | 
					from zerver.lib.webhooks.common import (
 | 
				
			||||||
    UnexpectedWebhookEventType,
 | 
					 | 
				
			||||||
    check_send_webhook_message,
 | 
					    check_send_webhook_message,
 | 
				
			||||||
    validate_extract_webhook_http_header,
 | 
					    validate_extract_webhook_http_header,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,9 +6,10 @@ from typing import Any, Callable, Dict, List, Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.lib.webhooks.git import (
 | 
					from zerver.lib.webhooks.git import (
 | 
				
			||||||
    CONTENT_MESSAGE_TEMPLATE,
 | 
					    CONTENT_MESSAGE_TEMPLATE,
 | 
				
			||||||
    TOPIC_WITH_BRANCH_TEMPLATE,
 | 
					    TOPIC_WITH_BRANCH_TEMPLATE,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ from typing import Any, Dict, Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EPIC_NAME_TEMPLATE = "**{name}**"
 | 
					EPIC_NAME_TEMPLATE = "**{name}**"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,10 +5,10 @@ from typing import Any, Callable, Dict, Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view, log_exception_to_webhook_logger
 | 
					from zerver.decorator import api_key_only_webhook_view, log_exception_to_webhook_logger
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import (
 | 
					from zerver.lib.webhooks.common import (
 | 
				
			||||||
    UnexpectedWebhookEventType,
 | 
					 | 
				
			||||||
    check_send_webhook_message,
 | 
					    check_send_webhook_message,
 | 
				
			||||||
    get_http_headers_from_filename,
 | 
					    get_http_headers_from_filename,
 | 
				
			||||||
    validate_extract_webhook_http_header,
 | 
					    validate_extract_webhook_http_header,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,11 +6,11 @@ from typing import Any, Dict, Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.validator import check_bool
 | 
					from zerver.lib.validator import check_bool
 | 
				
			||||||
from zerver.lib.webhooks.common import (
 | 
					from zerver.lib.webhooks.common import (
 | 
				
			||||||
    UnexpectedWebhookEventType,
 | 
					 | 
				
			||||||
    check_send_webhook_message,
 | 
					    check_send_webhook_message,
 | 
				
			||||||
    validate_extract_webhook_http_header,
 | 
					    validate_extract_webhook_http_header,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,10 +4,10 @@ from typing import Any, Callable, Dict, Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import (
 | 
					from zerver.lib.webhooks.common import (
 | 
				
			||||||
    UnexpectedWebhookEventType,
 | 
					 | 
				
			||||||
    check_send_webhook_message,
 | 
					    check_send_webhook_message,
 | 
				
			||||||
    get_http_headers_from_filename,
 | 
					    get_http_headers_from_filename,
 | 
				
			||||||
    validate_extract_webhook_http_header,
 | 
					    validate_extract_webhook_http_header,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,9 +3,10 @@ from typing import Any, Dict
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TRAFFIC_SPIKE_TEMPLATE = '[{website_name}]({website_url}) has {user_num} visitors online.'
 | 
					TRAFFIC_SPIKE_TEMPLATE = '[{website_name}]({website_url}) has {user_num} visitors online.'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,10 +5,10 @@ from typing import Any, Callable, Dict, Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import (
 | 
					from zerver.lib.webhooks.common import (
 | 
				
			||||||
    UnexpectedWebhookEventType,
 | 
					 | 
				
			||||||
    check_send_webhook_message,
 | 
					    check_send_webhook_message,
 | 
				
			||||||
    get_http_headers_from_filename,
 | 
					    get_http_headers_from_filename,
 | 
				
			||||||
    validate_extract_webhook_http_header,
 | 
					    validate_extract_webhook_http_header,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,10 @@ from django.db.models import Q
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import Realm, UserProfile
 | 
					from zerver.models import Realm, UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IGNORED_EVENTS = [
 | 
					IGNORED_EVENTS = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,10 @@ from typing import Any, Callable, Dict, List, Tuple
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COMPANY_CREATED = """
 | 
					COMPANY_CREATED = """
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,9 +7,10 @@ from django.db.models import Q
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import Realm, UserProfile, get_user_by_delivery_email
 | 
					from zerver.models import Realm, UserProfile, get_user_by_delivery_email
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IGNORED_EVENTS = [
 | 
					IGNORED_EVENTS = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,10 +3,10 @@ from typing import Any, Dict, Iterable
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import (
 | 
					from zerver.lib.webhooks.common import (
 | 
				
			||||||
    UnexpectedWebhookEventType,
 | 
					 | 
				
			||||||
    check_send_webhook_message,
 | 
					    check_send_webhook_message,
 | 
				
			||||||
    get_http_headers_from_filename,
 | 
					    get_http_headers_from_filename,
 | 
				
			||||||
    validate_extract_webhook_http_header,
 | 
					    validate_extract_webhook_http_header,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,10 +4,11 @@ from typing import Any, Dict, Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.validator import check_dict
 | 
					from zerver.lib.validator import check_dict
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ALERT_TEMPLATE = "{long_description} ([view alert]({alert_url}))."
 | 
					ALERT_TEMPLATE = "{long_description} ([view alert]({alert_url}))."
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ from typing import Any, Dict, Iterable
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PAGER_DUTY_EVENT_NAMES = {
 | 
					PAGER_DUTY_EVENT_NAMES = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ from typing import Any, Dict
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PINGDOM_TOPIC_TEMPLATE = '{name} status.'
 | 
					PINGDOM_TOPIC_TEMPLATE = '{name} status.'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,9 +8,10 @@ from django.http import HttpRequest, HttpResponse
 | 
				
			|||||||
from django.utils.translation import ugettext as _
 | 
					from django.utils.translation import ugettext as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import has_request_variables
 | 
					from zerver.lib.request import has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_error, json_success
 | 
					from zerver.lib.response import json_error, json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ from typing import Any, Dict
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,10 +3,10 @@ from typing import Any, Dict, Iterable
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import (
 | 
					from zerver.lib.webhooks.common import (
 | 
				
			||||||
    UnexpectedWebhookEventType,
 | 
					 | 
				
			||||||
    check_send_webhook_message,
 | 
					    check_send_webhook_message,
 | 
				
			||||||
    get_http_headers_from_filename,
 | 
					    get_http_headers_from_filename,
 | 
				
			||||||
    validate_extract_webhook_http_header,
 | 
					    validate_extract_webhook_http_header,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ from typing import Any, Dict, List, Optional, Tuple
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEPRECATED_EXCEPTION_MESSAGE_TEMPLATE = """
 | 
					DEPRECATED_EXCEPTION_MESSAGE_TEMPLATE = """
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,10 +5,11 @@ from typing import Any, Dict, Optional, Sequence, Tuple
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.timestamp import timestamp_to_datetime
 | 
					from zerver.lib.timestamp import timestamp_to_datetime
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,10 +4,11 @@ from typing import Optional
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.validator import check_int
 | 
					from zerver.lib.validator import check_int
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,10 @@ import orjson
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view, return_success_on_head_request
 | 
					from zerver.decorator import api_key_only_webhook_view, return_success_on_head_request
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .board_actions import SUPPORTED_BOARD_ACTIONS, process_board_action
 | 
					from .board_actions import SUPPORTED_BOARD_ACTIONS, process_board_action
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,10 @@ from typing import Any, Dict, List
 | 
				
			|||||||
from django.http import HttpRequest, HttpResponse
 | 
					from django.http import HttpRequest, HttpResponse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.decorator import api_key_only_webhook_view
 | 
					from zerver.decorator import api_key_only_webhook_view
 | 
				
			||||||
 | 
					from zerver.lib.exceptions import UnexpectedWebhookEventType
 | 
				
			||||||
from zerver.lib.request import REQ, has_request_variables
 | 
					from zerver.lib.request import REQ, has_request_variables
 | 
				
			||||||
from zerver.lib.response import json_success
 | 
					from zerver.lib.response import json_success
 | 
				
			||||||
from zerver.lib.webhooks.common import UnexpectedWebhookEventType, check_send_webhook_message
 | 
					from zerver.lib.webhooks.common import check_send_webhook_message
 | 
				
			||||||
from zerver.models import UserProfile
 | 
					from zerver.models import UserProfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TOPIC_TEMPLATE = "{service_url}"
 | 
					TOPIC_TEMPLATE = "{service_url}"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user