Software Developer

Subscribe

© 2020

How to upload mp3 files to Overcast with command line

I love listening to podcasts and audiobooks. I listen to them in every free moment - while cleaning, travelling by public transport, cooking, etc. Thanks to the audio materials, I feel that I’m learning something all the time and I don’t waste a single moment.

The app I use for this is Overcast Podcast App. It has such killer features as Smart Speed which shortens silences in audio and it does it very well! Thanks to this I can listen to more podcasts in the same time unit. Overcast Premium account gives you also a chance to upload 10 GB of your mp3 files. You can listen to them in the app. I use this space for uploading my audiobooks.

I upload them often and I needed a more convenient and faster file upload tool than the Overcast’s web interface. I’ve written a script in Python that does it and helps me automate the process. The Github repository with my code is here.

overcast-uploader

Requirements

  • Python 3
  • Overcast Premium Account
  • Any operating system

Installing dependencies

pip install -r requirements.txt

Usage

usage: overcast-uploader.py [-h] [-e EMAIL] [-p PASSWORD] [-c]
                            (-d DIR | -f FILE)

optional arguments:
  -h, --help            show this help message and exit
  -e EMAIL, --email EMAIL
                        E-mail used to login to Overcast.
  -p PASSWORD, --password PASSWORD
                        Password to Overcast account.
  -c, --clean           Remove file after upload.
  -d DIR, --dir DIR     Directory with files to upload.
  -f FILE, --file FILE  File to upload.

Examples of usage

Upload mp3 file

python overcast-uploader.py -f /path/to/file.mp3

Upload all mp3 files from directory

python overcast-uploader.py -d /path/to/path/to/directory-with-mp3-files

Upload mp3 file and delete it afterwards

python overcast-uploader.py -f /path/to/file.mp3 -c

Upload all mp3 files from directory and delete them afterwards

python overcast-uploader.py -d /path/to/directory-with-mp3-files -c

Upload mp3 file and provide Overcast credentials in program arguments

python overcast-uploader.py -f /path/to/file.mp3 -e abc@xyz.com -p password

BONUS: Automation for macOS

I have automated uploading files from my macOS straight from the file system. I created a Folder Action in Automator for folder ~/Overcast. I drop there files to upload to Overcast. When Automator notices a new file in the folder, it runs the action that sends them to the Overcast server and deletes them after.

IMPORTANT! You have to change values of PATH_TO_OVERCAST_UPLOADER, EMAIL and PASSWORD. Script from the screenshot:

PATH_TO_OVERCAST_UPLOADER="YOUR_PATH_TO_OVERCAST_UPLOADER_DIRECTORY"
EMAIL="YOUR_EMAIL"
PASSWORD="YOUR_PASSWORD"

cd "$PATH_TO_OVERCAST_UPLOADER"
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
for f in "$@"
do
	nohup python overcast-uploader.py -e "$EMAIL" -p "$PASSWORD" -f "$f" -c &
done