I love automation. Especially when it comes to torrents. It turns out my favorite FlexGet torrent downloader is not as easy to install on Mac as Ubuntu. I will fix that by an easy to follow install guide.
FlexGet is a python based script that parses RSS feeds for torrents and downloads them to a directory. It automates torrent downloading when used in conjunction with a torrent application that supports watch directories such as Transmission or my favorite command line application rTorrent.
Install XCode
Put your MacOS X install disk and run the xcode.mpkg from the optional install folder.
Install MacPorts
Download the package from the MacPorts site and install the mpkg file.
Install Python (optional)
Depending on the state of your system you may need to install or update python.
sudo port install python
Install wget (optional)
sudo port install wget
Install the Python dependencies for FlexGet
sudo easy_install FeedParser && sudo easy_install SQLAlchemy && sudo easy_install PyYAML
sudo easy_install BeautifulSoup && sudo easy_install html5lib && sudo easy_install pynzb
sudo easy_install progressbar && sudo easy_install flask && sudo easy_install cherrypy
Install FlexGet from source
We need to download the latest source to a directory and run the python setup.py with sudo privileges. The following is the latest source from the flexget website. In the end you should have a flexget binary to
/usr/local/bin/flexget
cd ~/Downloads
wget http://download.flexget.com/unstable/FlexGet-1.0r1862.tar.gz
tar xzf FlexGet-1.0r1862.tar.gz
cd FlexGet-1.0r1862
sudo python setup.py install
Configure FlexGet
Create a directory ~/.flexget and a config.yml
mkdir ~/.flexget
cd ~/.flexget
touch config.yml
Edit the file to contain the contents where RSS_URL and WATCH_DIR_LOCATION. For more configuration options check out the configuration page.
#feeds:
# my_feed:
# rss: http://example.com/rss.xml
# patterns:
# - something.rexexp
# download: ~/downloads/
feeds:
tv-shows:
regexp:
accept:
- torrent
rss: RSS_URL
download: WATCH_DIR_LOCATION
Test out flexget. It should download the torrents from your specified
/usr/local/bin/flexget
Configure Cron: Now lets make it automatic!
Open your crontab. This may require some vi editing. Check out this vi tutorial.
crontab -e
The following will run flexget every 30 mins (as your current user).
*/30 * * * * /usr/local/bin/flexget --cron
Congrats! Everything should be working. Check console output if you are still having trouble. Often you will get a hint for a missing dependency when installing python packages. If flexget seems to install correctly check your configuration file.