Skip to content

Commit efad9eb

Browse files
croissongWhyNotHugo
authored andcommitted
fix(repair_collection): use DiscoverResult logic to discover collection
fixes error: `DAVSession.__init__() missing 1 required keyword-only argument: 'connector'`. Reuses the existing logic in DiscoverResult to determine if the storage requires a 'connector' arg.
1 parent 246568f commit efad9eb

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

vdirsyncer/cli/discover.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ async def collections_for_pair(
7676

7777
logger.info(f"Discovering collections for pair {pair.name}")
7878

79-
a_discovered = _DiscoverResult(pair.config_a, connector=connector)
80-
b_discovered = _DiscoverResult(pair.config_b, connector=connector)
79+
a_discovered = DiscoverResult(pair.config_a, connector=connector)
80+
b_discovered = DiscoverResult(pair.config_b, connector=connector)
8181

8282
if list_collections:
8383
# TODO: We should gather data and THEN print, so it can be async.
@@ -155,7 +155,7 @@ def _expand_collections_cache(collections, config_a, config_b):
155155
yield name, (a, b)
156156

157157

158-
class _DiscoverResult:
158+
class DiscoverResult:
159159
def __init__(self, config, *, connector):
160160
self._cls, _ = storage_class_from_config(config)
161161

vdirsyncer/cli/tasks.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
from .. import exceptions
66
from .. import sync
77
from .config import CollectionConfig
8+
from .discover import DiscoverResult
89
from .discover import collections_for_pair
9-
from .discover import storage_class_from_config
1010
from .discover import storage_instance_from_config
1111
from .utils import JobFailed
1212
from .utils import cli_logger
@@ -115,8 +115,9 @@ async def repair_collection(
115115

116116
if collection is not None:
117117
cli_logger.info("Discovering collections (skipping cache).")
118-
cls, config = storage_class_from_config(config)
119-
async for config in cls.discover(**config): # noqa E902
118+
get_discovered = DiscoverResult(config, connector=connector)
119+
discovered = await get_discovered.get_self()
120+
for config in discovered.values():
120121
if config["collection"] == collection:
121122
break
122123
else:

0 commit comments

Comments
 (0)