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**
|
||||
|
||||
Stores a file with the specified base64-encoded contents inside the media folder. 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.
|
||||
Stores a file with the specified base64-encoded contents inside the media folder. alternatively you can specify a
|
||||
url from where the file shell be downloaded. If both field `data` and `url` are provided, the `data` field will be
|
||||
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*:
|
||||
```json
|
||||
@ -1523,6 +1524,26 @@ guarantee that your application continues to function properly in the future.
|
||||
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**
|
||||
|
||||
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()
|
||||
def storeMediaFile(self, filename, data):
|
||||
self.deleteMediaFile(filename)
|
||||
self.media().writeData(filename, base64.b64decode(data))
|
||||
|
||||
def storeMediaFile(self, filename, data=None, url=None):
|
||||
if 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()
|
||||
def retrieveMediaFile(self, filename):
|
||||
|
Loading…
Reference in New Issue
Block a user