[PR #93] [MERGED] feat(zotero): support multiple Zotero libraries via per-source library ID #107

Closed
opened 2026-10-18 21:14:25 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/oikb/pull/93
Author: @psuckrow-routine
Created: 8/3/2026
Status: ✅ Merged
Merged: 9/16/2026
Merged by: @tjbck

Base: main ← Head: feat/multi-library-zotero


📝 Commits (3)

  • c265fac feat(zotero): support multiple libraries via per-source library ID
  • 8bfb77e refactor(zotero): per-library env var resolution via _zotero_env helper
  • 8c38d57 fix(sync): skip empty file content before upload

📊 Changes

3 files changed (+68 additions, -15 deletions)

View changed files

📝 src/oikb/cli.py (+1 -1)
📝 src/oikb/connectors/zotero.py (+61 -14)
📝 src/oikb/sync.py (+6 -0)

📄 Description

Extends the zotero: source syntax to accept an optional numeric library ID prefix, enabling multiple Zotero libraries in a single daemon instance.

Source syntax — embed the library ID before the collection path: zotero:123456: or zotero:123456:Collection%%Sub. Plain collection paths (e.g. zotero:Research%%ML) are unchanged — collection names are not purely numeric so there is no ambiguity.

Per-library env vars — a new _zotero_env(key, library_id) helper resolves ZOTERO_*_<library_id> overrides with a fallback to the global ZOTERO_*. Covers all connector settings: API key, library type, checksum mode, notes/annotations, exclude patterns, unfiled dir, and WebDAV credentials.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/oikb/pull/93 **Author:** [@psuckrow-routine](https://github.com/psuckrow-routine) **Created:** 8/3/2026 **Status:** ✅ Merged **Merged:** 9/16/2026 **Merged by:** [@tjbck](https://github.com/tjbck) **Base:** `main` ← **Head:** `feat/multi-library-zotero` --- ### 📝 Commits (3) - [`c265fac`](https://github.com/open-webui/oikb/commit/c265fac3ed03b327ca2fafacb1227dc18c9a33e3) feat(zotero): support multiple libraries via per-source library ID - [`8bfb77e`](https://github.com/open-webui/oikb/commit/8bfb77e0a549d7ac403ebf4149773be13bef41f3) refactor(zotero): per-library env var resolution via _zotero_env helper - [`8c38d57`](https://github.com/open-webui/oikb/commit/8c38d571e7756bb8696f661b4cae9223290ca457) fix(sync): skip empty file content before upload ### 📊 Changes **3 files changed** (+68 additions, -15 deletions) <details> <summary>View changed files</summary> 📝 `src/oikb/cli.py` (+1 -1) 📝 `src/oikb/connectors/zotero.py` (+61 -14) 📝 `src/oikb/sync.py` (+6 -0) </details> ### 📄 Description Extends the `zotero:` source syntax to accept an optional numeric library ID prefix, enabling multiple Zotero libraries in a single daemon instance. **Source syntax** — embed the library ID before the collection path: `zotero:123456:` or `zotero:123456:Collection%%Sub`. Plain collection paths (e.g. `zotero:Research%%ML`) are unchanged — collection names are not purely numeric so there is no ambiguity. **Per-library env vars** — a new `_zotero_env(key, library_id)` helper resolves `ZOTERO_*_<library_id>` overrides with a fallback to the global `ZOTERO_*`. Covers all connector settings: API key, library type, checksum mode, notes/annotations, exclude patterns, unfiled dir, and WebDAV credentials. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-18 21:14:25 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
open-webui/oikb#107
No description provided.