mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-17 18:35:19 +02:00
refactor: update _index_selected_files method signatures in Dropbox, Google Drive, and OneDrive indexers to include unsupported file count, enhancing error reporting and consistency across connectors
This commit is contained in:
parent
3a1d700817
commit
122be76133
5 changed files with 14 additions and 14 deletions
|
|
@ -501,7 +501,7 @@ async def _index_selected_files(
|
||||||
enable_summary: bool,
|
enable_summary: bool,
|
||||||
incremental_sync: bool = True,
|
incremental_sync: bool = True,
|
||||||
on_heartbeat: HeartbeatCallbackType | None = None,
|
on_heartbeat: HeartbeatCallbackType | None = None,
|
||||||
) -> tuple[int, int, list[str]]:
|
) -> tuple[int, int, int, list[str]]:
|
||||||
"""Index user-selected files using the parallel pipeline."""
|
"""Index user-selected files using the parallel pipeline."""
|
||||||
page_limit_service = PageLimitService(session)
|
page_limit_service = PageLimitService(session)
|
||||||
pages_used, pages_limit = await page_limit_service.get_page_usage(user_id)
|
pages_used, pages_limit = await page_limit_service.get_page_usage(user_id)
|
||||||
|
|
|
||||||
|
|
@ -474,13 +474,13 @@ async def _index_selected_files(
|
||||||
user_id: str,
|
user_id: str,
|
||||||
enable_summary: bool,
|
enable_summary: bool,
|
||||||
on_heartbeat: HeartbeatCallbackType | None = None,
|
on_heartbeat: HeartbeatCallbackType | None = None,
|
||||||
) -> tuple[int, int, list[str]]:
|
) -> tuple[int, int, int, list[str]]:
|
||||||
"""Index user-selected files using the parallel pipeline.
|
"""Index user-selected files using the parallel pipeline.
|
||||||
|
|
||||||
Phase 1 (serial): fetch metadata + skip checks.
|
Phase 1 (serial): fetch metadata + skip checks.
|
||||||
Phase 2+3 (parallel): download, ETL, index via _download_and_index.
|
Phase 2+3 (parallel): download, ETL, index via _download_and_index.
|
||||||
|
|
||||||
Returns (indexed_count, skipped_count, errors).
|
Returns (indexed_count, skipped_count, unsupported_count, errors).
|
||||||
"""
|
"""
|
||||||
page_limit_service = PageLimitService(session)
|
page_limit_service = PageLimitService(session)
|
||||||
pages_used, pages_limit = await page_limit_service.get_page_usage(user_id)
|
pages_used, pages_limit = await page_limit_service.get_page_usage(user_id)
|
||||||
|
|
|
||||||
|
|
@ -293,7 +293,7 @@ async def _index_selected_files(
|
||||||
user_id: str,
|
user_id: str,
|
||||||
enable_summary: bool,
|
enable_summary: bool,
|
||||||
on_heartbeat: HeartbeatCallbackType | None = None,
|
on_heartbeat: HeartbeatCallbackType | None = None,
|
||||||
) -> tuple[int, int, list[str]]:
|
) -> tuple[int, int, int, list[str]]:
|
||||||
"""Index user-selected files using the parallel pipeline."""
|
"""Index user-selected files using the parallel pipeline."""
|
||||||
page_limit_service = PageLimitService(session)
|
page_limit_service = PageLimitService(session)
|
||||||
pages_used, pages_limit = await page_limit_service.get_page_usage(user_id)
|
pages_used, pages_limit = await page_limit_service.get_page_usage(user_id)
|
||||||
|
|
|
||||||
|
|
@ -366,7 +366,7 @@ async def test_full_scan_three_phase_counts(full_scan_mocks, monkeypatch):
|
||||||
full_scan_mocks["download_mock"].return_value = (mock_docs, 0)
|
full_scan_mocks["download_mock"].return_value = (mock_docs, 0)
|
||||||
full_scan_mocks["batch_mock"].return_value = ([], 2, 0)
|
full_scan_mocks["batch_mock"].return_value = ([], 2, 0)
|
||||||
|
|
||||||
indexed, skipped = await _run_full_scan(full_scan_mocks)
|
indexed, skipped, unsupported = await _run_full_scan(full_scan_mocks)
|
||||||
|
|
||||||
assert indexed == 3 # 1 renamed + 2 from batch
|
assert indexed == 3 # 1 renamed + 2 from batch
|
||||||
assert skipped == 1 # 1 unchanged
|
assert skipped == 1 # 1 unchanged
|
||||||
|
|
@ -589,7 +589,7 @@ async def test_selected_files_single_file_indexed(selected_files_mocks):
|
||||||
)
|
)
|
||||||
selected_files_mocks["download_and_index_mock"].return_value = (1, 0)
|
selected_files_mocks["download_and_index_mock"].return_value = (1, 0)
|
||||||
|
|
||||||
indexed, skipped, errors = await _run_selected(
|
indexed, skipped, unsup, errors = await _run_selected(
|
||||||
selected_files_mocks,
|
selected_files_mocks,
|
||||||
[("f1", "report.pdf")],
|
[("f1", "report.pdf")],
|
||||||
)
|
)
|
||||||
|
|
@ -613,7 +613,7 @@ async def test_selected_files_fetch_failure_isolation(selected_files_mocks):
|
||||||
)
|
)
|
||||||
selected_files_mocks["download_and_index_mock"].return_value = (2, 0)
|
selected_files_mocks["download_and_index_mock"].return_value = (2, 0)
|
||||||
|
|
||||||
indexed, skipped, errors = await _run_selected(
|
indexed, skipped, unsup, errors = await _run_selected(
|
||||||
selected_files_mocks,
|
selected_files_mocks,
|
||||||
[("f1", "first.txt"), ("f2", "mid.txt"), ("f3", "third.txt")],
|
[("f1", "first.txt"), ("f2", "mid.txt"), ("f3", "third.txt")],
|
||||||
)
|
)
|
||||||
|
|
@ -647,7 +647,7 @@ async def test_selected_files_skip_rename_counting(selected_files_mocks):
|
||||||
|
|
||||||
selected_files_mocks["download_and_index_mock"].return_value = (2, 0)
|
selected_files_mocks["download_and_index_mock"].return_value = (2, 0)
|
||||||
|
|
||||||
indexed, skipped, errors = await _run_selected(
|
indexed, skipped, unsup, errors = await _run_selected(
|
||||||
selected_files_mocks,
|
selected_files_mocks,
|
||||||
[
|
[
|
||||||
("s1", "unchanged.txt"),
|
("s1", "unchanged.txt"),
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,7 @@ async def test_gdrive_files_within_quota_are_downloaded(gdrive_selected_mocks):
|
||||||
)
|
)
|
||||||
m["download_and_index_mock"].return_value = (3, 0)
|
m["download_and_index_mock"].return_value = (3, 0)
|
||||||
|
|
||||||
indexed, _skipped, errors = await _run_gdrive_selected(
|
indexed, _skipped, _unsup, errors = await _run_gdrive_selected(
|
||||||
m, [("f1", "f1.xyz"), ("f2", "f2.xyz"), ("f3", "f3.xyz")]
|
m, [("f1", "f1.xyz"), ("f2", "f2.xyz"), ("f3", "f3.xyz")]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -219,7 +219,7 @@ async def test_gdrive_files_exceeding_quota_rejected(gdrive_selected_mocks):
|
||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
|
|
||||||
indexed, _skipped, errors = await _run_gdrive_selected(m, [("big", "huge.pdf")])
|
indexed, _skipped, _unsup, errors = await _run_gdrive_selected(m, [("big", "huge.pdf")])
|
||||||
|
|
||||||
assert indexed == 0
|
assert indexed == 0
|
||||||
assert len(errors) == 1
|
assert len(errors) == 1
|
||||||
|
|
@ -239,7 +239,7 @@ async def test_gdrive_quota_mix_partial_indexing(gdrive_selected_mocks):
|
||||||
)
|
)
|
||||||
m["download_and_index_mock"].return_value = (2, 0)
|
m["download_and_index_mock"].return_value = (2, 0)
|
||||||
|
|
||||||
indexed, _skipped, errors = await _run_gdrive_selected(
|
indexed, _skipped, _unsup, errors = await _run_gdrive_selected(
|
||||||
m, [("f1", "f1.xyz"), ("f2", "f2.xyz"), ("f3", "f3.xyz")]
|
m, [("f1", "f1.xyz"), ("f2", "f2.xyz"), ("f3", "f3.xyz")]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -299,7 +299,7 @@ async def test_gdrive_zero_quota_rejects_all(gdrive_selected_mocks):
|
||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
|
|
||||||
indexed, _skipped, errors = await _run_gdrive_selected(
|
indexed, _skipped, _unsup, errors = await _run_gdrive_selected(
|
||||||
m, [("f1", "f1.xyz"), ("f2", "f2.xyz")]
|
m, [("f1", "f1.xyz"), ("f2", "f2.xyz")]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -552,7 +552,7 @@ async def test_onedrive_over_quota_rejected(onedrive_selected_mocks):
|
||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
|
|
||||||
indexed, _skipped, errors = await _run_onedrive_selected(m, [("big", "huge.pdf")])
|
indexed, _skipped, _unsup, errors = await _run_onedrive_selected(m, [("big", "huge.pdf")])
|
||||||
|
|
||||||
assert indexed == 0
|
assert indexed == 0
|
||||||
assert len(errors) == 1
|
assert len(errors) == 1
|
||||||
|
|
@ -652,7 +652,7 @@ async def test_dropbox_over_quota_rejected(dropbox_selected_mocks):
|
||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
|
|
||||||
indexed, _skipped, errors = await _run_dropbox_selected(
|
indexed, _skipped, _unsup, errors = await _run_dropbox_selected(
|
||||||
m, [("/huge.pdf", "huge.pdf")]
|
m, [("/huge.pdf", "huge.pdf")]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue