Module: AnkiConnect::Client::Media

Included in:
AnkiConnect::Client
Defined in:
lib/anki_connect/media.rb

Overview

Methods to store, retrieve, and manage media files.

Instance Method Summary collapse

Instance Method Details

#delete_media(filename) ⇒ nil

Deletes a media file.

Parameters:

  • File name

Returns:



50
51
52
# File 'lib/anki_connect/media.rb', line 50

def delete_media(filename)
  request(:deleteMediaFile, filename: filename)
end

#list_media(pattern: '*') ⇒ Array<String>

Lists media files matching a pattern.

Parameters:

  • (defaults to: '*')

    Glob pattern

Returns:

  • Array of filenames



35
36
37
# File 'lib/anki_connect/media.rb', line 35

def list_media(pattern: '*')
  request(:getMediaFilesNames, pattern: pattern)
end

#media_dir_pathString

Gets the media folder path.

Returns:

  • Absolute path



42
43
44
# File 'lib/anki_connect/media.rb', line 42

def media_dir_path
  request(:getMediaDirPath)
end

#retrieve_media(filename) ⇒ String, Boolean

Retrieves a media file’s contents.

Parameters:

  • File name

Returns:

  • Base64-encoded contents, or false if not found



27
28
29
# File 'lib/anki_connect/media.rb', line 27

def retrieve_media(filename)
  request(:retrieveMediaFile, filename: filename)
end

#store_media(filename, data: nil, path: nil, url: nil, overwrite: true) ⇒ String

Stores a file in the media folder.

Parameters:

  • File name (prefix with _ to prevent auto-deletion)

  • (defaults to: nil)

    Base64-encoded contents

  • (defaults to: nil)

    Absolute file path

  • (defaults to: nil)

    URL to download from

  • (defaults to: true)

    If true, overwrites existing file

Returns:

  • Filename (possibly modified if overwrite=false)



15
16
17
18
19
20
21
# File 'lib/anki_connect/media.rb', line 15

def store_media(filename, data: nil, path: nil, url: nil, overwrite: true)
  params = { filename: filename, deleteExisting: overwrite }
  params[:data] = data if data
  params[:path] = path if path
  params[:url] = url if url
  request(:storeMediaFile, **params)
end