diff --git a/README.md b/README.md index 6ad756b..a9d139e 100644 --- a/README.md +++ b/README.md @@ -1759,6 +1759,32 @@ corresponding to when the API was available for use. ``` +#### `getMediaDirPath` + +* Gets the full path to the `collection.media` folder of the currently opened profile. + +
+ Sample request: + + ```json + { + "action": "getMediaDirPath", + "version": 6 + } + ``` +
+ +
+ Sample result: + + ```json + { + "result": "/home/user/.local/share/Anki2/Main/collection.media", + "error": null + } + ``` +
+ #### `deleteMediaFile` * Deletes the specified file inside the media folder. diff --git a/plugin/__init__.py b/plugin/__init__.py index e9c7b75..c578ee4 100644 --- a/plugin/__init__.py +++ b/plugin/__init__.py @@ -722,6 +722,9 @@ class AnkiConnect: except AttributeError: self.media().trash_files([filename]) + @util.api() + def getMediaDirPath(self): + return os.path.abspath(self.media().dir()) @util.api() def addNote(self, note): diff --git a/tests/test_media.py b/tests/test_media.py index b667c8e..fde46e8 100755 --- a/tests/test_media.py +++ b/tests/test_media.py @@ -1,4 +1,5 @@ import base64 +import os.path from conftest import ac @@ -49,3 +50,7 @@ def test_deleteMediaFile(session_with_profile_loaded): ac.deleteMediaFile(filename=filename_1) assert ac.retrieveMediaFile(filename=filename_1) is False assert ac.getMediaFilesNames(pattern="_tes*.txt") == [filename_2] + + +def test_getMediaDirPath(session_with_profile_loaded): + assert os.path.isdir(ac.getMediaDirPath())