diff --git a/README.md b/README.md index cd35b14..cfa5e34 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,26 @@ guarantee that your application continues to function properly in the future. } ``` +* **getProfiles** + + Retrieve the list of profiles. + + *Sample request*: + ```json + { + "action": "getProfiles", + "version": 6 + } + ``` + + *Sample result*: + ```json + { + "result": ["User 1"], + "error": null + } + ``` + * **loadProfile** Selects the profile specified in request. diff --git a/plugin/__init__.py b/plugin/__init__.py index bcac580..3a78c2c 100644 --- a/plugin/__init__.py +++ b/plugin/__init__.py @@ -262,6 +262,9 @@ class AnkiConnect: def version(self): return util.setting('apiVersion') + @util.api() + def getProfiles(self): + return self.window().pm.profiles() @util.api() def loadProfile(self, name): diff --git a/tests/test_misc.py b/tests/test_misc.py index 228508f..97c68c5 100755 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -14,6 +14,14 @@ class TestMisc(unittest.TestCase): # sync util.invoke('sync') + # getProfiles + profiles = util.invoke('getProfiles') + self.assertIsInstance(profiles, list) + self.assertGreater(len(profiles), 0) + + # loadProfile + util.invoke('loadProfile', name=profiles[0]) + # multi actions = [util.request('version'), util.request('version'), util.request('version')] results = util.invoke('multi', actions=actions)