Commit Graph

7 Commits

Author SHA1 Message Date
51592567e1 fix: matched_count for idempotent updates; document drop-on-missing-key (v0.1.2)
- update_document_field/update_document_operator/document_pop_array return
  matched_count > 0, so an idempotent write that matched a doc but changed nothing
  ( to the same value,  of an absent value) reports success instead of False
  (L19)
- document the bare-proxy escape hatch is mongo.collection(name) not mongo[name], and
  that get_document_hashmap/get_document_fields skip docs missing the key (nits).

Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-29 17:58:26 -04:00
3ceef9c4a8 fix: add check_document_exists; rename do_upsert -> upsert
added check_document_exists(collection, target) -> bool (count_documents(target, limit=1) > 0) — it existed only in the talos origin and was not carried over, but the talos caller relies on it. renamed the do_upsert param to upsert on update_document/find_one_and_update/find_one_and_replace, standardizing on motor's name (the talos caller already passes upsert=). param rename is breaking; patch is fine under the no-consumer policy. bump to v0.1.1.

Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-29 03:25:17 -04:00
eabfe0cbc3 fix: make close() sync (motor close is sync); guard doc[key] on missing fields
close() was async but only called motor's synchronous client.close(), misleading callers into awaiting it; it is now a plain def and the docstring + README examples drop the await. get_document_hashmap/get_document_fields indexed doc[key] unguarded, so a doc missing the field raised KeyError that the broad except swallowed, conflating 'no documents' with 'field absent'; both now skip docs lacking the key.

Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-28 17:46:20 -04:00
6a9de93691 fix: correct install line to git+ssh form (was git+https, would not install)
the README install pin used git+https with no git@ prefix or .git suffix, which does not resolve against the SSH-only Gitea remote. corrected to the canonical git+ssh form.

Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-28 17:18:28 -04:00
92ea363cb7 docs: real repo url + pip install command
point install at git.rethinkstudios.io; show both the requirements.txt
line and the direct pip install command.

Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-24 21:36:43 -04:00
3922295f2c add package: pyproject + source
src/ layout package making the repo pip-installable
(git+ssh@vX.Y.Z). Mongo class with both usage patterns (object +
module proxy), wrapped methods log-and-swallow, raw collection escape
hatch raises.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-22 21:26:40 -04:00
b79f965d07 mongodb wrapper in py
Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-22 21:26:40 -04:00