Module termusiclib::podcast

source ·

Modules§

Structs§

  • Enum used to communicate relevant data to the threadpool.
  • Struct holding data about an individual podcast episode. Most of this is metadata, but if the episode has been downloaded to the local machine, the filepath will be included here as well. played indicates whether the podcast has been marked as played or unplayed.
  • Struct holding data about an individual podcast episode, before it has been inserted into the database.
  • Struct holding data about an individual podcast episode, specifically for the popup window that asks users which new episodes they wish to download.
  • Struct holding data about an individual podcast feed. This includes a (possibly empty) vector of episodes.
  • Struct holding data about an individual podcast feed, before it has been inserted into the database. This includes a (possibly empty) vector of episodes.
  • Manages a threadpool of a given size, sending jobs to workers as necessary. Implements Drop trait to allow threads to complete their current jobs before being stopped.

Constants§

Traits§

  • Defines interface used for both podcasts and episodes, to be used and displayed in menus.

Functions§

  • Spawns a new thread to check a feed and retrieve podcast data.
  • This is the function the main controller uses to indicate new files to download. It uses the threadpool to start jobs for every episode to be downloaded. New jobs can be requested by the user while there are still ongoing jobs.
  • Exports all podcasts to OPML format, either printing to stdout or exporting to a file.
  • Imports a list of podcasts from OPML format, either reading from a file or from stdin. If the replace flag is set, this replaces all existing data in the database.