Anders Kaseorg
fead14951c
python: Convert assignment type annotations to Python 3.6 style.
...
This commit was split by tabbott; this piece covers the vast majority
of files in Zulip, but excludes scripts/, tools/, and puppet/ to help
ensure we at least show the right error messages for Xenial systems.
We can likely further refine the remaining pieces with some testing.
Generated by com2ann, with whitespace fixes and various manual fixes
for runtime issues:
- invoiced_through: Optional[LicenseLedger] = models.ForeignKey(
+ invoiced_through: Optional["LicenseLedger"] = models.ForeignKey(
-_apns_client: Optional[APNsClient] = None
+_apns_client: Optional["APNsClient"] = None
- notifications_stream: Optional[Stream] = models.ForeignKey('Stream', related_name='+', null=True, blank=True, on_delete=CASCADE)
- signup_notifications_stream: Optional[Stream] = models.ForeignKey('Stream', related_name='+', null=True, blank=True, on_delete=CASCADE)
+ notifications_stream: Optional["Stream"] = models.ForeignKey('Stream', related_name='+', null=True, blank=True, on_delete=CASCADE)
+ signup_notifications_stream: Optional["Stream"] = models.ForeignKey('Stream', related_name='+', null=True, blank=True, on_delete=CASCADE)
- author: Optional[UserProfile] = models.ForeignKey('UserProfile', blank=True, null=True, on_delete=CASCADE)
+ author: Optional["UserProfile"] = models.ForeignKey('UserProfile', blank=True, null=True, on_delete=CASCADE)
- bot_owner: Optional[UserProfile] = models.ForeignKey('self', null=True, on_delete=models.SET_NULL)
+ bot_owner: Optional["UserProfile"] = models.ForeignKey('self', null=True, on_delete=models.SET_NULL)
- default_sending_stream: Optional[Stream] = models.ForeignKey('zerver.Stream', null=True, related_name='+', on_delete=CASCADE)
- default_events_register_stream: Optional[Stream] = models.ForeignKey('zerver.Stream', null=True, related_name='+', on_delete=CASCADE)
+ default_sending_stream: Optional["Stream"] = models.ForeignKey('zerver.Stream', null=True, related_name='+', on_delete=CASCADE)
+ default_events_register_stream: Optional["Stream"] = models.ForeignKey('zerver.Stream', null=True, related_name='+', on_delete=CASCADE)
-descriptors_by_handler_id: Dict[int, ClientDescriptor] = {}
+descriptors_by_handler_id: Dict[int, "ClientDescriptor"] = {}
-worker_classes: Dict[str, Type[QueueProcessingWorker]] = {}
-queues: Dict[str, Dict[str, Type[QueueProcessingWorker]]] = {}
+worker_classes: Dict[str, Type["QueueProcessingWorker"]] = {}
+queues: Dict[str, Dict[str, Type["QueueProcessingWorker"]]] = {}
-AUTH_LDAP_REVERSE_EMAIL_SEARCH: Optional[LDAPSearch] = None
+AUTH_LDAP_REVERSE_EMAIL_SEARCH: Optional["LDAPSearch"] = None
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-22 11:02:32 -07:00
Anders Kaseorg
c734bbd95d
python: Modernize legacy Python 2 syntax with pyupgrade.
...
Generated by `pyupgrade --py3-plus --keep-percent-format` on all our
Python code except `zthumbor` and `zulip-ec2-configure-interfaces`,
followed by manual indentation fixes.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-09 16:43:22 -07:00
Chris Heald
a91358e186
webhooks: Fix hellosign webhook.
...
Hellosign now posts their callback as form/multipart, which Django only
permits to be read once. Attempts to access request.body after the
initial read throw "django.http.request.RawPostDataException: You
cannot access body after reading from request's data stream".
Fixes #13847 .
2020-02-12 22:36:11 -08:00
Tim Abbott
c10cc24ee8
python: Sort webhooks imports with isort.
2020-01-14 13:07:47 -08:00
Anders Kaseorg
39ac378220
webhooks: Remove unused imports.
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-02-02 17:05:20 -08:00
Steve Howell
ced4d81856
Sweep tests for expected_subject -> expected_topic.
...
This is all in the webhooks tests, including some
docs for how to write those tests.
2018-11-12 15:47:11 -08:00
Eeshan Garg
316f9aa78b
webhooks/hellosign: Rewrite the integration from scratch.
...
After discovering a couple of bugs, I decided to thoroughly test
and rewrite this integration from scratch. The older code wasn't
generating coherent messages.
This also commit gets this integration up to 100% test coverage.
2018-10-04 12:16:06 -07:00
Aditya Bansal
64ddfc6ac0
zerver/webhooks: Change use of typing.Text to str.
2018-05-10 14:19:49 -07:00
Preston Hansen
e168f9938c
tests: Refactor use of test and webhook data fixtures.
2018-04-19 21:50:29 -07:00
Eeshan Garg
8fbd8c68f4
webhooks: Update macros to specify custom topics and default PMs.
...
These changes are the result of migrating to
check_send_webhook_message.
2018-03-18 10:53:45 -07:00
Eeshan Garg
a4979410f9
webhooks: Migrate most integrations to use check_send_webhook_message.
...
This commit migrates all of our webhooks to use
check_send_webhook_message, except the following:
beeminder: Rishi wanted to wait on this one.
teamcity: This one is slightly more work.
yo: This one is PM-only. I am still trying to decide whether we
should have a force_private argument or something in
check_send_webhook_message.
facebook: No point in migrating this, will be removed as part of
#8433 .
slack: Slightly more work too with the `channel_to_topics` feature.
Warrants a longer discussion.
2018-03-16 19:23:50 -02:30
Eeshan Garg
fa8525c862
webhooks/hellosign: Update text to conform to doc style guide.
2018-03-08 08:19:32 -08:00
rht
185fd99816
mypy: Use Python 3 type syntax in several files.
2017-12-30 07:34:51 -05:00
Tim Abbott
73a668e7ae
python: Sort imports in webhooks.
2017-11-15 15:43:10 -08:00
rht
bb46bea44d
Remove usage of six.moves.text_type.
2017-11-09 10:00:00 -08:00
rht
969cc506d2
zerver/webhooks: Use python 3 syntax for typing.
...
Tweaked by tabbott to fix various line-wrapping issues.
2017-11-04 19:40:32 -07:00
Eeshan Garg
aaaed74c3d
webhooks: Import REQ, has_request_variables from zerver.lib.request.
...
We now import REQ and has_request_variables from zerver.lib.request,
which is where these methods are defined.
Fixes #7195 .
2017-11-02 14:40:55 -07:00
Eeshan Garg
86c2c7ad34
webhooks: Migrate to check_send_stream_message.
...
This commit migrates all webhooks to use check_send_stream_message
instead of check_send_message. The only two webhooks that still
use check_send_message are our yo and teamcity webhooks. They
both use check_send_message for private messages.
2017-09-30 17:48:55 -07:00
rht
7115a29bee
zerver/webhooks: Remove absolute_import.
2017-09-27 10:00:39 -07:00
Robert Hönig
18a080cd6c
Don't handle json payload key errors inside webhooks.
...
Fixes first part of #6213 .
2017-08-24 11:33:14 -07:00
Aditya Bansal
e28cafebaf
pep8: Add compliance with rule E261 hellosign/view.py.
2017-06-04 09:18:18 -07:00
Tomasz Kolek
acd986d959
integrations: Fix custom topic of hellosign integration.
...
This fixes support for using custom topics in the HelloSign
integration.
With significant fixes and rebasing by Eeshan Garg.
2017-06-02 22:08:12 -07:00
Eeshan Garg
624bab83a7
webhooks: Use append-topic.md for gosquared, greenhouse, hellosign.
2017-06-01 22:16:12 -07:00
Eeshan Garg
846e560bfd
webhooks/hellosign: Migrate docs to Markdown.
2017-05-28 18:44:00 -07:00
Eeshan Garg
597db11a98
webhooks: Rename webhook fixtures to only include event type.
...
All webhook fixtures have now been renamed from
<webhook_name>/fixtures/<webhook_name>_<event_type>.json to
<webhook_name>/fixtures/<event_type>.json.
2017-05-13 20:07:40 -02:30
Eeshan Garg
e87e246fcb
zerver/decorator: Set request.client in api_key_only_webhook_view.
...
Previously, api_key_only_webhook_view passed 3 positional arguments
(request, user_profile, and client) into a function. However, most
of our other auth decorators only pass 2 positional arguments. For
the sake of consistency, we now make api_key_only_webhook_view set
request.client and pass only request and user_profile as positional
arguments.
2017-05-01 23:44:07 -07:00
Eeshan Garg
aa12002be7
webhooks: Move all fixtures to zerver/webhooks/<webhook_name>/fixtures.
...
All webhook fixtures in zerver/fixtures/<webhook_name> have now
been moved to dedicated webhook-specific directories under
zerver/webhooks/<webhook_name>/fixtures, where <webhook_name> is
the name of the webhook.
2017-04-28 11:07:03 -07:00
Raghav Jajodia
a3a03bd6a5
mypy: Added Dict, List and Set imports.
...
Fixed mypy errors associated with the upgrade.
2017-03-04 14:33:44 -08:00
Tomasz Kolek
6e6cbeb89d
Split webhooks doc and move to particular directories.
2017-01-26 11:56:45 -08:00
Tomasz Kolek
7de45951e2
Make webhooks as separate modules with view and tests.
...
Create python packege for every webhook with view.py and tests.py
2017-01-25 23:14:19 -08:00