zulip/zerver/lib
Alex Vandiver 8e68d68f32 uploads: Be consistent about first arguments to write_local_file.
Enforcing a consistent `type` helps us double-check that we're not
playing fast-and-loose with any file paths for local files.  As noted
in the comment, this is purely for defense-in-depth.

Passing `write_local_file` a consistent `type` requires removing the
"avatars" out of `realm_avatar_and_logo_path` -- which makes it
consistent across upload backends.

This, in turn, requires a compensatory change to zerver.lib.export, to
be explicit that the realm icons are exported from the avatars
directory.  This clarity is likely an improvement.
2023-01-09 18:23:58 -05:00
..
markdown ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
upload uploads: Be consistent about first arguments to write_local_file. 2023-01-09 18:23:58 -05:00
url_preview python: Use Python 3.8 typing.{Protocol,TypedDict}. 2022-04-27 12:57:49 -07:00
webhooks ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
__init__.py
addressee.py docs: Fix many spelling mistakes. 2022-02-07 18:51:06 -08:00
alert_words.py docs: Remove highlight parameters from links. 2022-02-16 13:15:39 -08:00
async_utils.py requirements: Upgrade Python requirements. 2022-05-03 10:10:06 -07:00
attachments.py
avatar.py uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
avatar_hash.py settings: Make AVATAR_SALT mandatory. 2022-08-25 12:13:03 -07:00
bot_config.py
bot_lib.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
bot_storage.py
bulk_create.py markdown: Pass realm down into render_stream_description. 2022-11-01 08:20:47 -07:00
cache.py ruff: Fix PLW0602 Using global but no assignment is done. 2023-01-04 16:25:07 -08:00
cache_helpers.py typing: Import ValuesQuerySet alias from django_stubs_ext. 2022-10-05 16:15:56 -07:00
camo.py typing: Apply trivial none-checks with assertions as necessary. 2022-06-23 19:25:48 -07:00
ccache.py
compatibility.py ruff: Fix DTZ004 `datetime.datetime.utcfromtimestamp()`. 2023-01-04 16:25:07 -08:00
context_managers.py
create_user.py python: Clean up getattr, setattr, delattr calls with literal names. 2022-10-10 08:40:28 -07:00
data_types.py ruff: Fix PLR1701 Consider merging these isinstance calls. 2022-12-04 22:11:24 -08:00
db.py db: Use cursor_factory psycopg2 option. 2022-07-05 17:54:17 -07:00
debug.py
dev_ldap_directory.py tests: Update tests to use example profile picture. 2022-10-31 14:36:54 -07:00
digest.py ruff: Fix C414 Unnecessary `list` call within `sorted()`. 2022-11-03 12:10:15 -07:00
display_recipient.py typing: Import ValuesQuerySet alias from django_stubs_ext. 2022-10-05 16:15:56 -07:00
domains.py
drafts.py typing: Remove ViewFuncT. 2022-08-22 15:46:16 -07:00
email_mirror.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
email_mirror_helpers.py
email_notifications.py email-notifs: Use bracketed prefix to indicate a resolved topic. 2022-12-15 23:56:48 -08:00
email_validation.py email_validation: Restore case-insensitive domain validation. 2022-10-20 08:19:07 -07:00
emoji.py emoji: Add which emoji are supported to the /register call. 2022-08-26 17:58:31 -07:00
error_notify.py error_notify: Fix type narrowing of settings.ERROR_BOT. 2022-07-15 14:00:56 -07:00
event_schema.py ruff: Fix SIM118 Use `key in dict` instead of `key in dict.keys()`. 2023-01-04 16:25:07 -08:00
events.py ruff: Fix SIM118 Use `key in dict` instead of `key in dict.keys()`. 2023-01-04 16:25:07 -08:00
exceptions.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
export.py uploads: Be consistent about first arguments to write_local_file. 2023-01-09 18:23:58 -05:00
external_accounts.py typing: Import StrPromise alias from django_stubs_ext. 2022-10-05 16:15:56 -07:00
fix_unreads.py python: Use format string for logging str(obj). 2022-10-10 08:32:29 -07:00
generate_test_data.py
github.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
home.py ruff: Fix SIM118 Use `key in dict` instead of `key in dict.keys()`. 2023-01-04 16:25:07 -08:00
hotspots.py ruff: Fix SIM118 Use `key in dict` instead of `key in dict.keys()`. 2023-01-04 16:25:07 -08:00
html_diff.py
html_to_text.py
i18n.py django: Use HttpRequest.headers. 2022-05-13 20:42:20 -07:00
import_realm.py uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
initial_password.py initial_password: Add explicit development environment assertion. 2022-03-21 12:05:59 -07:00
integrations.py ruff: Fix C417 Unnecessary `map` usage. 2022-11-03 12:10:15 -07:00
logging_util.py python: Clean up getattr, setattr, delattr calls with literal names. 2022-10-10 08:40:28 -07:00
management.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
mdiff.py ci: Check that non-scripts aren’t marked executable. 2022-12-07 09:54:01 -08:00
mention.py markdown: Update characters allowed before @ and stream mentions. 2022-08-06 19:29:39 -07:00
message.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
migrate.py
mobile_auth_otp.py
name_restrictions.py name_restrictions: Add your-org.zulipchat.com as a reserved name. 2022-05-17 14:58:31 -07:00
narrow.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
notes.py notes: Separate __notes_map per-subclass. 2022-10-10 08:42:13 -07:00
notification_data.py notifications: Move user group mentions helpers together. 2022-04-27 16:43:54 -07:00
onboarding.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
outgoing_http.py python: Replace requests.packages.urllib3 alias with urllib3. 2022-01-23 22:14:17 -08:00
outgoing_webhook.py outgoing_webhook: Ignore the exception on failure if the stream is gone. 2022-11-04 14:46:17 -07:00
presence.py user-presence: Refactor function names with "status" for clarity. 2022-09-23 12:27:54 -07:00
profile.py profile: Strengthen decorator types using ParamSpec. 2022-04-14 12:44:35 -07:00
push_notifications.py Fix typos caught by typos. 2023-01-03 11:09:50 -08:00
pysa.py
queue.py queue: Do test retries in tests. 2022-11-04 14:46:17 -07:00
rate_limiter.py ruff: Fix Q002 Single quote docstring found. 2023-01-04 16:25:07 -08:00
realm_description.py
realm_icon.py
realm_logo.py
recipient_users.py actions: Split out zerver.lib.recipient_users. 2022-04-14 17:14:30 -07:00
redis_utils.py
remote_server.py remote_server: Check for missing ZULIP_ORG_ID, ZULIP_ORG_KEY. 2023-01-04 11:08:56 -08:00
request.py ruff: Fix PIE807 Prefer `list()` over useless lambda. 2023-01-04 16:25:07 -08:00
response.py do_mark_all_as_read: Split up the work into batches. 2022-10-27 16:59:54 -07:00
rest.py rest: Restrict access to json views via basic auth. 2022-11-04 14:44:07 -07:00
retention.py ruff: Fix SIM118 Use `key in dict` instead of `key in dict.keys()`. 2023-01-04 16:25:07 -08:00
safe_session_cached_db.py session: Enforce that changes cannot happen in a transaction. 2022-03-15 13:52:15 -07:00
scim.py mypy: Enable redundant-expr errors. 2022-06-23 19:22:12 -07:00
scim_filter.py
send_email.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
server_initialization.py realms: Create default system user groups for internal realm. 2022-08-11 04:38:36 -07:00
sessions.py typing: Add none-checks for miscellaneous cases. 2022-05-31 09:43:55 -07:00
singleton_bmemcached.py cache: Instantiate only one BMemcached cache backend. 2022-05-02 17:41:49 -07:00
soft_deactivation.py soft_deactivation: Tighten function signatures with generic QuerySet. 2022-07-07 11:28:13 -07:00
sounds.py actions: Split out zerver.lib.sounds. 2022-04-14 14:26:40 -07:00
sqlalchemy_utils.py sqlalchemy_utils: Remove NonClosingPool.recreate override. 2022-02-10 11:59:41 -08:00
storage.py storage: Fix type annotation of content. 2022-07-27 13:46:13 -07:00
stream_color.py streams: Extract stream_color library. 2022-03-14 18:01:36 -07:00
stream_subscription.py typing: Import ValuesQuerySet alias from django_stubs_ext. 2022-10-05 16:15:56 -07:00
stream_topic.py stream_topic: Refactor user_ids_muting_topic. 2022-09-27 17:18:48 -07:00
stream_traffic.py streams: Extract stream_traffic library. 2022-03-14 18:01:36 -07:00
streams.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
string_validation.py email_mirror: Replace disallowed characters in incoming email subject. 2022-08-22 17:16:20 -07:00
subdomains.py subdomains: Fix realm=None case for is_static_or_current_realm_url. 2022-10-06 15:15:10 -07:00
subscription_info.py typing: Use django-stubs' type annotations for QuerySet. 2022-10-05 16:15:56 -07:00
templates.py api-docs: Move include markdown macro files for API documentation. 2022-12-08 12:58:11 -08:00
test_classes.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
test_console_output.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_data.source.txt
test_fixtures.py ruff: Fix ANN204 missing return type annotation for __init__. 2022-11-16 09:29:11 -08:00
test_helpers.py uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
test_runner.py requirements: Upgrade Django to 4.1. 2022-10-06 15:59:07 -07:00
tex.py python: Replace universal_newlines with text. 2022-01-23 22:16:01 -08:00
thumbnail.py docs: Remove some outdated references to thumbnailing.md doc. 2022-07-12 17:44:24 -07:00
timeout.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
timestamp.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
timezone.py timezone: Improve tzdata parser’s compatibility with zic(8). 2022-09-20 16:58:31 -07:00
topic.py email-notifs: Use bracketed prefix to indicate a resolved topic. 2022-12-15 23:56:48 -08:00
transfer.py uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
types.py ruff: Fix PIE790 Unnecessary `pass` statement. 2023-01-04 16:25:07 -08:00
unminify.py
url_encoding.py url_encoding: Use user name instead of email in personal_narrow_url. 2022-10-28 09:47:43 -07:00
url_redirects.py recent-topics: Rename to "Recent conversations" in web-app and docs. 2022-10-21 10:28:19 -07:00
user_agent.py
user_counts.py actions: Split out zerver.lib.user_counts. 2022-04-14 17:14:30 -07:00
user_groups.py ruff: Fix SIM118 Use `key in dict` instead of `key in dict.keys()`. 2023-01-04 16:25:07 -08:00
user_message.py actions: Split out zerver.lib.user_message. 2022-04-14 17:14:30 -07:00
user_mutes.py
user_status.py user-status: Stop updating the UserStatus model for `away` updates. 2022-09-23 12:27:54 -07:00
user_topics.py user_topics: Refactor the construction loop for UserTopicDict. 2022-08-11 13:45:54 -07:00
users.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
utils.py
validator.py ruff: Fix DTZ007 `datetime.datetime.strptime()` without %z. 2023-01-04 16:25:07 -08:00
widget.py
zcommand.py actions: Split out zerver.actions.user_settings. 2022-04-14 17:14:34 -07:00
zephyr.py