Commit Graph

29 Commits

Author SHA1 Message Date
Alex Vandiver
0ffc0e810c export_search: Switch to using orjson_stream. 2025-10-01 11:21:34 -07:00
Alex Vandiver
d15f2fb831 export-search: Use background workers to download attachments. 2025-08-27 10:24:21 -07:00
Alex Vandiver
7714ca3ff9 export-search: Add explicit usermessage message_id range filters. 2025-08-27 10:24:21 -07:00
Alex Vandiver
b9216c768d export-search: Use chunked regions by id range. 2025-08-27 10:24:21 -07:00
Alex Vandiver
e703f65198 export-search: Joins to usermessages may require adding a distinct. 2025-08-27 10:24:21 -07:00
Alex Vandiver
e9c6856d02 export-search: Limit to only the fields we need. 2025-08-27 10:24:21 -07:00
Alex Vandiver
ae090d9ff3 export-search: Prefetch message sender.
This avoids O(n) extra queries.
2025-08-27 10:24:21 -07:00
Mohammad Reza Kianifar
30d2d82d02 export_search: Support --dm option for 1:1 DMs using DM group.
Previously, the export_search command only supported the legacy
Personal recipient type for 1:1 direct messages. With this change,
the command first checks for a DirectMessageGroup for the two users
and uses it if present. If not, we fall back to the legacy logic. This
keeps compatibility as we migrate 1:1 DMs to use DirectMessageGroup.
2025-06-05 17:01:45 -07:00
Alex Vandiver
d978363a75 topic: Enforce is_channel_message=True on topic queries. 2025-03-18 09:34:11 -07:00
Alex Vandiver
94afe1b6ff export_search: Allow filtering by channel. 2024-12-05 14:26:12 -08:00
Anders Kaseorg
e08a24e47f ruff: Fix UP006 Use list instead of List for type annotation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-07-13 22:28:22 -07:00
roanster007
52692a6448 refactor: Rename huddle to direct_message_group in non API.
This commit performs a sweep on the first batch of non API
files to rename "huddle" to "direct_message_group`.

It also renames variables and methods of type -
"huddle_message" to "group_direct_message".

This is a part of #28640
2024-07-04 07:56:31 -07:00
Alex Vandiver
e73e44402a export_search: Support --dm with one user, for all their DMs. 2024-05-24 10:49:52 -07:00
Alex Vandiver
8e7ab57bf2 export_search: Support exporting DMs or huddles. 2024-02-25 09:34:17 -08:00
Anders Kaseorg
45bb8d2580 models: Extract zerver.models.users.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
a50eb2e809 mypy: Enable new error explicit-override.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-12 12:28:41 -07:00
Anders Kaseorg
2665a3ce2b python: Elide unnecessary list wrappers.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-09-13 12:41:23 -07:00
Alex Vandiver
e3f6e810dc export-search: Support writing out attachments as well. 2023-04-07 09:13:48 -07:00
Alex Vandiver
885334a3ad export-search: Support CSV output, trim down output fields. 2023-04-07 09:13:48 -07:00
Alex Vandiver
bde978d5b1 export-search: Move topic into recipient field. 2023-04-07 09:13:48 -07:00
Alex Vandiver
26bc112adc export-search: Add a --recipient filter. 2023-04-07 09:13:48 -07:00
Alex Vandiver
e44ba1bef1 export-search: Write output size before beginning export. 2023-04-07 09:13:48 -07:00
Alex Vandiver
21db267202 export-search: Non-time-limited is fine with a sender. 2023-04-07 09:13:48 -07:00
Alex Vandiver
ae20af84a9 export-search: Realm is required. 2023-04-07 09:13:48 -07:00
Anders Kaseorg
705460ff58 ruff: Fix DTZ004 datetime.datetime.utcfromtimestamp().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-01-04 16:25:07 -08:00
Anders Kaseorg
9a89a52086 ruff: Fix UP015 Unnecessary open mode parameters.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-12-04 22:11:24 -08:00
Alex Vandiver
e41ee10966 export_search: Add a sender limit. 2022-11-17 11:19:59 -08:00
Alex Vandiver
f3135eb414 export_search: Add ability to limit by date sent. 2022-11-10 16:49:19 -08:00
Alex Vandiver
2d5366f455 export_search: Add a compliance tool to export a subset of messages.
This is primarily for administrators needing to provide message
history for compliance or auditing purposes.  Search terms can be
pulled from a file, one per line, or from arguments provided on the
command line.
2022-11-10 16:49:19 -08:00