pods

module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2024 License: 0BSD

README

Pods

A simple command-line utility for downloading podcast episodes.

Example

Download all episodes of a podcast for the month of July 2024:

pods --download --url <podcast-url> --after "2024-07-01" --before "2024-08-01"

You should insert the URL for the podcast's RSS feed. You can use a service like castos to find the appropriate URL.

Download

You can download a pre-compiled binary from the releases page.

Build

Pods is written in Go. If you have a Go compiler installed, you can build and install Pods by running:

go install github.com/dmulholl/pods/cmd/pods@latest

This will download, compile, and install the latest version of the application to your $GOPATH/bin directory.

Usage

Run pods --help to view the command line help:

Pods v0.5.0

  A utility for downloading podcast episodes.

Usage:
  pods --url <rss-feed>

Description:
  By default, this utility simply lists the episodes which would be downloaded.
  Use the -d/--download flag to actually download the episodes.

  The --before and --after options accept a simple date or a full timestamp in
  RFC-3339 format, e.g.

    --after "2024-07-31"
    --after "2024-07-31T13:59:00+02:00"

  If no time is specified, the time defaults to 00:00:00. If no timezone offset
  is specified, the timestamp is assumed to be UTC.

  The output filename can be customized using the -f/--format option. The
  following format specifiers are supported:

  - {{episode}}:  Episode number.
  - {{episode2}}: Episode number with zero-padding, min-width: 2 digits.
  - {{episode3}}: Episode number with zero-padding, min-width: 3 digits.
  - {{episode4}}: Episode number with zero-padding, min-width: 4 digits.
  - {{ext}}:      The default file extension for the file type, e.g. '.mp3'.
  - {{season}}:   Season number.
  - {{season2}}:  Season number with zero-padding, min-width: 2 digits.
  - {{season3}}:  Season number with zero-padding, min-width: 3 digits.
  - {{season4}}:  Season number with zero-padding, min-width: 4 digits.
  - {{title}}:    The episode title.

  The default filename format is '{{episode4}}. {{title}}{{ext}}'.

  Use the --debug flag to investigate problem downloads. In debug mode, the
  application won't download any episodes. Instead it will simply list all
  available metadata for the episodes which would be downloaded.

Options:
  -a, --after <timestamp>   Download episodes published after this timestamp.
  -b, --before <timestamp>  Download episodes published before this timestamp.
  -e, --episode <number>    Download the specified episode number.
                            This option can be specified multiple times.
      --file <filepath>     Specifies a source file for the RSS feed.
  -f, --format <format>     Overrides the default format for output filenames.
                            Default: '{{episode4}}. {{title}}{{ext}}'.
  -o, --outdir <path>       Output directory for downloaded files.
                            Default: './<podcast-title>'.
  -s, --season <number>     Download episodes from the specified season.
                            This option can be specified multiple times.
  -u, --url <url>           Specifies a source URL for the RSS feed.

Flags:
      --debug               Print all metadata for episodes.
  -d, --download            Download podcast episodes.
  -h, --help                Print the application's help text.
  -q, --quiet               Quiet mode. Only reports errors.
  -v, --version             Print the application's version number.

License

Pods is released under the Zero-Clause BSD licence (0BSD).

Directories

Path Synopsis
cmd
internal
rss

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳