Reply - Raw
#!/usr/bin/env python
# -*- coding: utf8 -*-
import rtorrent
import urlparse
import os
import sys

auto_organize_labels = [
  "Movie",
  "Series",
]

#\033[94m
def sizeof_fmt(num):
    # http://stackoverflow.com/questions/1094841/reusable-library-to-get-human-readable-version-of-file-size
    for x in ['B','kiB','MiB','GiB', 'TiB']:
        if num < 1024.0 and num > -1024.0:
            return "%3.1f%s" % (num, x)
        num /= 1024.0
    return "%3.1f%s" % (num, 'PB')

rt = rtorrent.RTorrent("http://rutorrent:_@_._._.com/rtorrent/rpc")



for torrent in rt.get_torrents():
    print(torrent)
    torrent.get_files()
    torrent.get_base_path()

    label = urlparse.unquote(torrent.get_custom1())
    print("Path: " + torrent.base_path.encode("utf8"))
    print("Label: " + label.encode("utf8"))
    o_state = torrent.get_custom4()
    print("Organization status: " + o_state.encode("utf8"))


    if torrent.complete and \
       label in auto_organize_labels and \
       torrent.base_path and \
       not o_state:
        sys.stderr.write(str(torrent) + "\n")
        sys.stderr.write("Path: " + torrent.base_path.encode("utf8") + "\n")
        sys.stderr.write("Label: " + label.encode("utf8") + "\n")
        if os.path.isdir(torrent.base_path):
            os.chdir(torrent.base_path)
            res = os.system("organize-media .")
        else:
            res = os.system("organize-media {}".format(torrent.base_path))
        print(res)

        if not res:
            torrent.set_custom4("AUTO-ORGANIZED")

        if res == 256:
            torrent.set_custom4("PRE-ORGANIZED")

#    print(torrent.base_)

#    for file in torrent.files:
#        files.append(unicode(os.path.join(torrent.base_path, file.path)))
#print(files)

#    if torrent.ratio >= min:
#        print "{0:03.1f} {1:03.1f} {2} {3} {4}".format(min, torrent.ratio, sizeof_fmt(torrent.size_bytes), sizeof_fmt(torrent.ratio*torrent.size_bytes), torrent.name)
#        size+=torrent.size_bytes