Add url download option to storeMediaFile
This commit is contained in:
parent
dc8494f0fe
commit
5911710163
27
README.md
27
README.md
@ -1494,9 +1494,10 @@ guarantee that your application continues to function properly in the future.
|
|||||||
|
|
||||||
* **storeMediaFile**
|
* **storeMediaFile**
|
||||||
|
|
||||||
Stores a file with the specified base64-encoded contents inside the media folder. To prevent Anki from removing
|
Stores a file with the specified base64-encoded contents inside the media folder. alternatively you can specify a
|
||||||
files not used by any cards (e.g. for configuration files), prefix the filename with an underscore. These files are
|
url from where the file shell be downloaded. If both field `data` and `url` are provided, the `data` field will be
|
||||||
still synchronized to AnkiWeb.
|
used. To prevent Anki from removing files not used by any cards (e.g. for configuration files), prefix the filename
|
||||||
|
with an underscore. These files are still synchronized to AnkiWeb.
|
||||||
|
|
||||||
*Sample request*:
|
*Sample request*:
|
||||||
```json
|
```json
|
||||||
@ -1523,6 +1524,26 @@ guarantee that your application continues to function properly in the future.
|
|||||||
Hello world!
|
Hello world!
|
||||||
```
|
```
|
||||||
|
|
||||||
|
*Sample request*:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action": "storeMediaFile",
|
||||||
|
"version": 6,
|
||||||
|
"params": {
|
||||||
|
"filename": "_hello.txt",
|
||||||
|
"url": "https://url.to.file"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
*Sample result*:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"result": null,
|
||||||
|
"error": null
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
* **retrieveMediaFile**
|
* **retrieveMediaFile**
|
||||||
|
|
||||||
Retrieves the base64-encoded contents of the specified file, returning `false` if the file does not exist.
|
Retrieves the base64-encoded contents of the specified file, returning `false` if the file does not exist.
|
||||||
|
@ -421,10 +421,15 @@ class AnkiConnect:
|
|||||||
|
|
||||||
|
|
||||||
@util.api()
|
@util.api()
|
||||||
def storeMediaFile(self, filename, data):
|
def storeMediaFile(self, filename, data=None, url=None):
|
||||||
self.deleteMediaFile(filename)
|
if data:
|
||||||
self.media().writeData(filename, base64.b64decode(data))
|
self.deleteMediaFile(filename)
|
||||||
|
self.media().writeData(filename, base64.b64decode(data))
|
||||||
|
elif url:
|
||||||
|
downloadedData = util.download(url)
|
||||||
|
self.media().writeData(filename, downloadedData)
|
||||||
|
else:
|
||||||
|
raise Exception('You must either provide a "data" or a "url" field.')
|
||||||
|
|
||||||
@util.api()
|
@util.api()
|
||||||
def retrieveMediaFile(self, filename):
|
def retrieveMediaFile(self, filename):
|
||||||
|
Loading…
Reference in New Issue
Block a user