Search my site
Twitter
Flickr
Archives

Blog Posts

Entries in mac (1)

Friday
Jan142011

Install FlexGet on MacOS X

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.