Eklavya Sharma
6097f6eed5
zerver/lib/initial_password.py: Encode return value.
...
zerver.lib.initial_password.initial_password is supposed to return an
Optional[text_type], but it returns an Optional[binary_type] instead.
Encode the return value to make sure it returns an Optional[text_type].
2016-06-18 16:41:40 -07:00
Eklavya Sharma
018041625c
zerver/lib/html_diff.py: Fix annotations.
2016-06-18 16:41:40 -07:00
Eklavya Sharma
68823767e2
zerver/lib/digest.py: Fix annotations.
2016-06-18 16:41:40 -07:00
Eklavya Sharma
64ccb390ff
Annotate zerver/lib/create_user.py.
2016-06-18 16:41:40 -07:00
Vishnu Ks
ad1c3894d9
Add interface for creating new realms.
...
This is controlled by settings.OPEN_REALM_CREATION; if that setting is
off, this feature doesn't do anything.
2016-06-17 16:15:28 -07:00
Vishnu Ks
8213ca135a
Move default_stream list to settings.
2016-06-17 16:01:38 -07:00
kunall17
007eee6061
Add route to fetch emails for mobile passwordless login.
...
[Tweaked by tabbott to rename API to explicitly support not just
Android]
2016-06-17 11:03:19 -07:00
kunall17
7ea0eaed1c
Add passwordless login for mobile app development.
...
[Tweaked by tabbott to rename API to explicitly support not just
Android].
2016-06-17 10:58:33 -07:00
Vishnu Ks
01c9bb2d5e
Make name_changes_disabled() work with no argument.
2016-06-16 17:13:59 -07:00
Tomasz Kolek
76cbe89613
Add IFTTT integration.
2016-06-16 15:30:45 -07:00
Eklavya Sharma
598fb1ff28
zerver/lib/bugdown/fenced_code.py: Add BaseHandler.
...
Add a class 'BaseHandler' and make it a base class of OuterHandler,
QuoteHandler and CodeHandler. This will help annotate some functions
and improve type checking.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
142bcadb68
Annotate zerver/lib/bugdown/fenced_code.py.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
9b72b7b37e
Annotate zerver/lib/bugdown/codehilite.py.
...
Also change some string literals to unicode.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
744007f33f
zerver/lib/bugdown/__init__.py: Fix string types.
...
Change important string constants from str to text_type.
Replace str by text_type in annotations where relevant.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
04f44b12ad
zerver/lib/bugdown/testing_mocks.py: Fix types.
...
Also fix clashing annotations in zerver/lib/bugdown/__init__.py.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
7db0765a18
zerver/lib/bugdown/fenced_code.py: Fix types.
...
Change some important string literals from str to unicode.
Annotate format_code and codehilite_conf in FencedBlockProcessor.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
48c5b299b6
zerver/lib/bugdown/codehilite.py: Add type annotation.
...
Mypy incorrectly infers a dict's type as `Dict[str, List[object]]`.
Change that to `Dict[str, List[Any]]`.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
a485d63975
zerver/lib/bugdown/__init__.py: Fix non-string annotations.
2016-06-16 15:21:17 -07:00
Tim Abbott
eafb91719c
get_tweet_id: Fix return type to by None.
2016-06-16 15:21:01 -07:00
Tim Abbott
33df0b29d3
Annotate zerver/tests/test_hooks.py.
2016-06-16 14:07:34 -07:00
Tim Abbott
49ae0052b2
send_json_payload: payload arg can be text_type.
2016-06-16 14:07:34 -07:00
Tim Abbott
df9f89fe2c
test_helpers: Change send_json_payload to use text_type.
2016-06-16 14:07:34 -07:00
Tim Abbott
b14eacd552
test_helpers: Change fixture_data to text_type.
2016-06-16 14:07:34 -07:00
Tim Abbott
5b05644c95
Run mypy on zerver/tests/test_hooks.py.
2016-06-16 14:07:34 -07:00
Tim Abbott
6723525fd3
Annotate zerver/tests/tests.py.
2016-06-16 14:07:34 -07:00
Tim Abbott
45883386ce
AlertWordTests: Cleanup confusing message variable reuse.
2016-06-16 13:55:58 -07:00
John Hergenroeder
16a19226f6
Add linter check for redundant REQ whence argument.
2016-06-16 13:53:39 -07:00
Eklavya Sharma
98553e8caa
zerver/lib/push_notifications.py: Fix strings.
...
Use appropriate string encode/decode operations and fix annotations.
2016-06-15 15:25:28 -07:00
Eklavya Sharma
78565a96c9
zerver/lib/notifications.py: Fix string annotations.
2016-06-15 15:25:28 -07:00
Tim Abbott
10dd9addb7
Fix ChangeSettingsTest caching issue causing test failures.
2016-06-15 14:57:58 -07:00
Tim Abbott
06079042d4
ChangeSettingsTest: Move login to test helper method.
2016-06-15 14:28:24 -07:00
Tim Abbott
8f67b7e498
Simplify check_for_toggle_param.
2016-06-15 14:23:51 -07:00
Ashish Kumar
0a98d9edcf
Add test_enter_sends_setting.
2016-06-15 14:23:51 -07:00
Ashish Kumar
8a55098ca7
Add test_time_setting.
2016-06-15 14:23:51 -07:00
Ashish Kumar
345df3538f
Add test_toggling_left_side_userlist.
2016-06-15 14:23:51 -07:00
Ashish Kumar
24767302c4
Update test_ui_settings to use new abstraction.
2016-06-15 14:23:51 -07:00
Ashish Kumar
006e528e18
Update test_notify_settings to use new abstraction.
2016-06-15 14:23:51 -07:00
Ashish Kumar
5ae06e8c33
Added test helper function: check_for_toggle_param
2016-06-15 14:18:55 -07:00
Tim Abbott
f88e5b7438
Add missing no-op migration for realm_emoji.
...
Because of how Django's migration system works, changing the error
message attached to a model field's validator results in an extra
migration.
2016-06-15 09:26:01 -07:00
Umair Khan
a976ccefbf
[third] Urlencode name of the uploaded file.
...
Update jquery-filedrop to send urlencoded filenames.
As discussed in https://github.com/zulip/zulip/pull/1023 , this fix is
already in jquery-filedrop upstream.
Fixes #981 .
2016-06-14 15:32:41 -07:00
Tomasz Kolek
4e51a86ea4
Add updownio integration.
2016-06-14 12:14:07 -07:00
Tomasz Kolek
14d69348d3
Add Airbrake integration.
2016-06-13 20:36:40 -07:00
Eklavya Sharma
72ed1f4187
Fix python 3 pyflakes error.
...
Change raw unicode literal to non-raw. A raw unicode literal is a
syntax error in python 3. This error was detected by pyflakes.
2016-06-13 19:44:56 -07:00
Tim Abbott
2219ef7bef
bugdown: Rename upload_re to upload_title_re for clarity.
2016-06-13 19:44:56 -07:00
Tim Abbott
6c78036811
Add tests for upload title functionality.
2016-06-13 19:44:56 -07:00
Tim Abbott
5b1cfbc977
bugdown: Fix extraction of titles for uploaded files.
...
The previous code was associated with a previous version of the upload
URL naming scheme, and thus never triggered in practice.
2016-06-13 19:44:51 -07:00
Umair Khan
c8d139b2b1
Fix emoji urls interaction with i18n.
...
When accessing emojis with relative urls we should start the urls with
a slash so that language code doesn't become part of these urls.
Fixes #1014 .
2016-06-13 09:10:11 -07:00
Umair Khan
6fcfed8d9e
Update regexes to capture translation strings.
...
Strings are captured from:
- i18n.t
- compose_error
- placeholder
2016-06-13 09:03:56 -07:00
Eklavya Sharma
7ec9cb7e93
Annotate model fields: Attachment.
...
Also fix clashing annotations.
2016-06-13 20:01:03 +05:30
Eklavya Sharma
86978cb2a3
Annotate model fields: Stream.
2016-06-13 20:01:03 +05:30
Eklavya Sharma
6f5ed6e7c9
Fix annotations clashing with Stream model fields.
2016-06-13 20:01:02 +05:30
Eklavya Sharma
1ec7e124c7
Annotate model fields: Message.
2016-06-13 20:01:02 +05:30
Eklavya Sharma
5a5934a76f
Fix annotations clashing with Message model fields.
2016-06-13 20:01:02 +05:30
Eklavya Sharma
f27cff57c3
Annotate model fields: UserProfile.
2016-06-13 20:01:02 +05:30
Eklavya Sharma
71e613424b
Fix annotations clashing with UserProfile's model fields.
2016-06-13 20:01:01 +05:30
Eklavya Sharma
9d7a2fdf9d
zerver/views/streams.py: Fix annotations.
...
Mainly fix `str` to `text_type` and use abstract containers.
2016-06-13 20:01:01 +05:30
Eklavya Sharma
9f39c9276f
Annotate model fields: DefaultStream, Referral, ScheduledJob.
2016-06-13 19:37:07 +05:30
Eklavya Sharma
4f890cca2a
Annotate model fields: UserActivity, UserActivityInterval, UserPresence.
2016-06-13 19:37:07 +05:30
Eklavya Sharma
7290f9cb83
Annotate model fields: Subscription and Huddle.
2016-06-13 19:37:07 +05:30
Eklavya Sharma
ddaaa98b25
Annotate model fields: UserMessage.
2016-06-13 19:30:58 +05:30
Eklavya Sharma
acd1767398
Annotate model fields: Recipient and Client.
2016-06-13 19:30:57 +05:30
Eklavya Sharma
c0004a5874
Annotate model fields: PushDeviceToken and MitUser.
2016-06-13 19:30:57 +05:30
Eklavya Sharma
04740fb620
Annotate model fields: PreregistrationUser.
2016-06-13 19:30:56 +05:30
Eklavya Sharma
d666e00833
Annotate model fields: RealmEmoji and RealmFilter.
2016-06-13 19:30:56 +05:30
Eklavya Sharma
6c7dd07ec2
Annotate model fields: Realm and RealmAlias.
2016-06-13 19:30:56 +05:30
Eklavya Sharma
d169cc5376
zerver/lib/bulk_create.py: Fix string annotations.
...
Change string type from `str` to `text_type` where required.
Also fix clashing annotations.
2016-06-13 10:08:14 +05:30
Eklavya Sharma
c654c4032d
zerver/models.py: Annotate get_display_recipient.
...
get_display_recipient's annotation clashes with other wrong annotations.
Fix those wrong annotations.
Since get_display_recipient returns a Union, use isinstance checks and
casts to make mypy checks succeed.
2016-06-12 23:34:57 +05:30
Eklavya Sharma
ed61c4c581
Improve model string representation.
...
Define __str__, __repr__ and __unicode__ correctly on models.
This will help in python 3 compatibility.
2016-06-12 09:55:12 -07:00
Eklavya Sharma
17b9422546
zerver/models.py: Fix regex strings.
...
Some regex strings were not declared as raw, even though they used
a lot of backslashes.
2016-06-12 09:31:19 -07:00
Eklavya Sharma
81759d56be
zerver/models.py: Fix string annotations in UserPresence.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
e11bec28c2
zerver/models.py: Fix annotations (str -> text_type).
...
Change str to text_type where appropriate in annotations related to
Attachment, PreregistrationUser and Huddle.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
d76bea8f25
zerver/models.py: Identify functions returning QuerySets.
...
Identify functions which return QuerySets and give them a return type
`Sequence` with appropriate parameter. Typing them as QuerySet will
not be useful since generic stubs for QuerySets are not available and
not knowing the type of QuerySets is hardly useful for type checking.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
39060aa221
zerver/models.py: Fix annotations related to Message.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
2841aa642d
Fix annotations related to make_safe_digest and hashes.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
9020177418
zerver/models.py: Add annotations related to Stream and Client.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
10f2ec043d
Fix zerver.lib.utils.generate_random_token.
...
generate_random_token used to return a value of type six.binary_type
and its return type was annotated as `str`. This commit fixes that
by making it return a value of type `six.text_type` and updating
the annotation accordingly.
Also fix clashing annnotations.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
56d5785c2e
zerver/models.py: Change some constants to unicode literals.
...
Change choices of UserProfile.avatar_sources and UserProfile.tutorial_status
from str literals to unicode literals. This is done because these fields
are CharFields, which are of type `six.text_type`. So the set of values
which they can take should also be of the type `six.text_type`.
Also fix clashing annotations.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
0cc7a6583c
zerver/models.py: Fix last_reminder_tzaware annotation.
...
Fix annotated return type of UserProfile.last_reminder_tzaware from
`str` to `Optional[datetime.datetime]`.
2016-06-12 09:30:33 -07:00
Eklavya Sharma
8acc51218e
Fix realm emoji and realm filter annotations.
...
Change `str` to `text_type` in annotations in zerver/models.py
related to realm emoji and realm filters.
Also fix clashing annotations in zerver/lib/bugdown/__init__.py.
2016-06-12 09:25:42 -07:00
Eklavya Sharma
e68d99eb2e
zerver/models.py: Make cache_keys text_type.
2016-06-12 09:25:32 -07:00
Babak
ad895eb690
Annotate zerver/views/report.py.
2016-06-11 18:42:37 -07:00
Vishnu Ks
77ec6217eb
Add validation for private message recipients.
...
The function will reject messages where recipients aren't either a
member of the realm or a member of cross_realm_user_emails.
Fixes : #930 .
2016-06-11 11:24:45 -07:00
Tim Abbott
f44b227b85
Refactor getting cross-realm users into a function.
2016-06-11 11:22:22 -07:00
Eklavya Sharma
f82b28e835
zerver/lib/cache.py: Fix get_cache_backend's annotation.
2016-06-11 09:12:58 -07:00
Eklavya Sharma
0b2d1c30e9
zerver/lib/cache.py: Replace Any with appropriate models.
...
Due to a cyclic dependency issue, functions having models as parameters
were annotated as Any.
That issue is fixed by importing models inside an `if False:` block,
so that mypy sees them but they are not imported at runtime.
2016-06-11 09:12:58 -07:00
Eklavya Sharma
ff4e95d941
Improve generic_bulk_cached_fetch annotation using TypeVars.
2016-06-11 09:12:42 -07:00
Eklavya Sharma
d27a0e162a
zerver/lib/cache.py: update_user_profile_caches return type is None.
...
In update_user_profile_caches, the return type in annotation was
marked as Any. Change that to None because, nothing is being returned
in that function.
2016-06-11 09:11:52 -07:00
Eklavya Sharma
53084fe03c
Use text_type as type of cache keys and update users.
...
This changes the type annotations for the cache keys in Zulip to be
consistently text_type, and updates the annotations for values that
are used as cache keys across the codebase.
2016-06-11 09:10:34 -07:00
Eklavya Sharma
d3b80d94a2
Use appropriate string types and correctly encode/decode them.
2016-06-11 17:34:23 +05:30
Eklavya Sharma
f18493f922
Add documentation about zerver/lib/str_utils.py.
2016-06-11 17:31:56 +05:30
Eklavya Sharma
6d29da8cee
Add zerver/lib/str_utils.py.
...
str_utils.py has functions for converting strings from one type to
another. It also has a TypeVar called NonBinaryStr, which is like AnyStr
except that it doesn't allow bytes.
2016-06-11 16:17:47 +05:30
Vishnu Ks
b926826ea1
Remove default_stream addition and deletion from update_stream_backend.
...
Default stream addition/removal is done via the /default_stream REST
endpoints.
2016-06-10 16:59:15 -07:00
Tim Abbott
7c80456321
Fix and re-enable test_file_upload_authed.
...
Now that we have a working S3 mock and an effective way to toggle the
upload backend that Zulip is using, we can re-enable this important
end-to-end test of the Zulip S3 upload backend.
2016-06-09 23:07:24 -07:00
rahuldeve
fa13582ffb
Serve uploaded files through get_uploaded_file in development.
...
Previously, uploaded files were served:
* With S3UploadBackend, via get_uploaded_file (redirects to S3)
* With LocalUploadBackend in production, via nginx directly
* With LocalUploadBackend in development, via Django's static file server
This changes that last case to use get_uploaded_file in development,
which is a key step towards being able to do proper access control
authorization.
Does not affect production.
2016-06-09 22:58:25 -07:00
Tim Abbott
719e5487b9
upload: Use classes to define S3/Local upload backends.
...
This has no functional changes; we just replace the old hacky
assignment of functions with assignment of the upload backend to a
variable.
I'm not totally happy with this, because we end up having to copy the
type annotations of the three methods 4 times each, but this should
make it a lot easier to test the (non-default-in-tests) S3 backend
using end-to-end tests, which would have caught
13bac1cc2a
.
I expect we'll iterate on the interface over time; ideally, I'd like
all the code that checks LOCAL_UPLOADS_DIR to be inside upload.py, and
primarily in these classes.
2016-06-09 22:45:03 -07:00
Tim Abbott
13bac1cc2a
Fix serving files uploaded to S3.
...
This was broken by the refactoring to realm_id_str in:
a261a6bbac
.
2016-06-09 21:55:50 -07:00
rahuldeve
3e3462da0d
Refactor zerver.lib.upload.upload_message_image_through_web_client.
...
upload_message_image_through_web_client -> upload_message_image_from_request
2016-06-09 21:09:12 -07:00
medullaskyline
39eaf02b40
Annotate zerver.views.webhooks.taiga.
2016-06-09 17:08:55 -07:00
Eklavya Sharma
286d23734a
zerver/lib/cache.py: Remove unneeded return statements.
2016-06-09 16:57:11 -07:00
Vishnu Ks
f9f31b79d0
Make default_streams web controllable.
...
Fixes : #665
2016-06-09 15:24:32 -07:00