Lift-Cup icon indicating copy to clipboard operation
Lift-Cup copied to clipboard

Automated usenet upload script

trafficstars

What is Lift Cup?

Lift Cup is a python script that automatically uploads video files to usenet for you. The most common use case is to use it as an rtorrent post-processing script so you can automatically upload torrent downloads to usenet (if you managed to download a poorly-seeded or rare torrent, for example, this way you can share it simply with others).

What exactly does it do?

  1. Renames the file with a more standardized name and recognizable source/quality indication
  2. Rars the video
  3. Creates a small NFO file saying where it came from
  4. Creates pars from the rars
  5. Uploads the rars, pars, and NFO to usenet

How does the quality stuff work?

Lift Cup always adds a quality string to the filename so that automated tools will be able to recognize it. It finds a quality by:

  1. Attempting to use the quality string already in the filename
  2. If not in the name, it uses the quality passed in by the user
  3. If no quality passed in then it guesses based on the file extension

Qualities are: SDTV, SDDVD, HDTV, WEBDL, HDBLURAY, FULLHDBLURAY

How to install

  1. Get the source git clone git://github.com/midgetspy/Lift-Cup.git ~/lift_cup

  2. Install dependencies:

  • rar
  • par2
  • newsmangler (git clone git://github.com/madcowfred/newsmangler.git ~/newsmangler)
  1. Set up config
  • rename conf.py.sample to conf.py
  • configure the options inside to match your system

Usage

Post-processing with rtorrent

Because of how rtorrent works there's no way to run Lift Cup on only selected torrents. To get around this, you must set d.set_custom5=SKIP on any watch dirs that you do not want Lift Cup to run on.

Watch dirs

Note: every watch dir must have d.set_custom5=, where is either a Lift Cup quality, blank, or SKIP.

schedule = watch_directory_1,10,10,"load_start=/home/midgetspy/watch_dir/.torrent,d.set_custom5=SKIP" # this won't have Lift Cup executed on it schedule = watch_directory_2,10,10,"load_start=/home/midgetspy/watch_dir/hd_bluray_watch_dir/.torrent,d.set_custom5=HDBLURAY" # unless the filename says otherwise files in this folder will be assumed to be 720p BluRay

execute lift cup after each download

system.method.set_key = event.download.finished,lift_cup,"execute=/home/midgetspy/rtorrent_lc.py,$d.get_base_path=,$d.get_custom5="

Note: ALL watch dirs must have d.set_custom5= in them or they will error! You will need to update your existing watch dirs!

Call it manually

./lc.py [file2] ... [fileN]

Run just ./lc.py with no options to see all other options.

Newsmangler Config

In order to get your files detected on the automatic indexing sites you should use the [Lift-Cup] prefix and post to alt.binaries.multimedia.

So your resulting posts should look something like:

[LiftCup] Cookery.School.s01e43.andyx.tbz.HDTV.XviD [35/35] - "Cookery.School.s01e43.andyx.tbz.HDTV.XviD.vol126+74.par2" yEnc