#!/usr/bin/python
# -*- coding: utf-8 -*-
# GPL vTereFere (aka public domain)
# Pewnie jest narobaczone ale u mnie działa :P!
# Zamber ( http://zamber.net/ )

import feedparser, urllib2

# ścieżki z nowymi i starymi plikami .torrent
old_dir = "/home/zamber/Torrenty/aa Zrodla/old/"
new_dir = "/home/zamber/Torrenty/aa Zrodla/new/"

# kanały rss (np. z tvrss.net)
sources = ["kanał 1"\
          ,"kanał 2"\
          ,"kanał 3"]
    
def file_save(url, filename):
  try:
    f = urllib2.urlopen(url)
  except URLError, e:
    if hasattr(e, "reason"):
      print "!! Serwer nieosiągalny."
      print "!! Powód: ", e.reason
    elif hasattr(e, 'code'):
      print "!! Serwer pluje błędami."
      print "!! A dokładniej: ", e.code
    return 0
  try:
    output = open(filename,"wb")
    output.write(f.read())
    output.close()
  except IOError:
    return 0
  return 1
  
def file_exists(filename):
  try:
    f = open(filename, "r")
  except IOError:
    return 0
  else:
    return 1
    
def main():
  print "** Wruum!"
  for feed in sources:
    print "** Zasysam rssa"
    r = feedparser.parse(feed)
    if r.bozo:
      print "!! Brzydki rss, olewam."
      pass
    for item in r.entries:
      if not file_exists(old_dir + item.title + ".torrent"):
        if not file_exists(new_dir + item.title + ".torrent"):
          if file_save(item.link, new_dir + item.title + ".torrent"):
            print "++ Nowy torrent " + item.title + " zapisany."
          else:
            print "!! " + item.title + " nie chciał się zapisać. Coś tu śmierdzi..."
        else:
          print "** Tego już mamy w nowych torrentach."
      else:
        print "** Tego już mamy w starych torrentach."

if __name__ == '__main__':
  main()
