index backends by id, not by name#931
index backends by id, not by name#931cpitclaudel wants to merge 2 commits intogetting-things-gnome:masterfrom
Conversation
|
@cpitclaudel hey, thanks! We're in the middle of a big port ATM and I'm focusing all the time I can find in that. Once #894 is ready to land, I'll review this and merge. Luckly it looks like this branch won't generate any conflicts, though we'll have to port the change in datastore over to the new datastore. |
|
Looking forward to that :) Good luck with the port! |
|
It is time now! Monsieur @cpitclaudel, rebasez donc cette branche, et lâchez les chiens! See also the updated general status and convenient links in #737. |
|
This will also be relevant to @jaesivsm's interests. |
cb090d5 to
f56a620
Compare
|
Congrats on the big merge! :) I rebased this, but I'll need help to test:
After a quick glance through the code, I'm also not entirely certain of what a backend module refers to, so the change may not be right in the new architecture? |
|
Hi @cpitclaudel, sorry for the delay. At first glance, this sounds like a good idea. The problem is that the only backend module we have now is caldav, since the "local" backend is now integrated into the datastore. And the Caldav backend has a fair share of bugs too from the refactor. On top of that, there are some potential problems with having more than caldav backend like race conditions when synchronizing that need careful work and testing. Since we are trying to finish 0.7 at this moment, I'll remove the milestone for this and leave it open for later |
|
Sure thing, good luck with the 0.7 release! I look forward to using GTG when CalDAV is back :) |
|
Mind if I take over this? |
This prevents the configuration from being read and modified in two different places (`CoreConfig` objects are created in `datastore.py`, `treefactory.py`, and `backends/__init__.py`). * GTG/core/config.py (CoreConfig_): Rename from `CoreConfig`. (CoreConfig_.INSTANCE): New field (use it to store the unique config instance). (CoreConfig_.__init__): Make sure that we are only ever initialized once. (CoreConfig_.get_instance): New method. (CoreConfig): New function to initialize and return the singleton config object.
This allows GTG to have multiple backends of one kind at the same time. * GTG/backends/__init__.py (BackendFactory.get_saved_backends_list): Rename `backend` to `backend_id` for clarity. Call `config.rename_backend_section` on each backend for compatibility with previous versions of GTG. * GTG/core/config.py (CoreConfig_.rename_backend_section): New function to rename a config section (from backend name to backend ID). (CoreConfig_.get_all_backends): Rename `backend` to `backend_id` for clarity. Fixes getting-things-gnome#930.
f56a620 to
a75bff7
Compare
|
Rebased, this needs testing though |
This allows GTG to have multiple backends of one kind at the same time.
backendtobackend_idfor clarity. Callconfig.rename_backend_sectiononeach backend for compatibility with previous versions of GTG.
rename a config section (from backend name to backend ID).
(CoreConfig_.get_all_backends): Rename
backendtobackend_idfor clarity.not by backend name.
Fixes #930.