Author: duncan Date: Thu Jan 11 21:33:42 2007 New Revision: 8966 Modified: branches/rel-1/freevo/freevo_config.py branches/rel-1/freevo/local_conf.py.example branches/rel-1/freevo/src/helpers/rssserver.py branches/rel-1/freevo/src/rssperiodic.py
Log: [ 1633517 ] RSSServer too bandwith intensive Patch from Frank Naude applied Modified: branches/rel-1/freevo/freevo_config.py ============================================================================== --- branches/rel-1/freevo/freevo_config.py (original) +++ branches/rel-1/freevo/freevo_config.py Thu Jan 11 21:33:42 2007 @@ -1816,6 +1816,7 @@ RSSSERVER_UID = 0 RSSSERVER_GID = 0 +RSS_CHECK_INTERVAL = 3600 RSS_FEEDS = '/etc/freevo/rss.feeds' RSS_VIDEO = "you must set RSS_VIDEO in your local_conf.py" RSS_AUDIO = "you must set RSS_AUDIO in your local_conf.py" Modified: branches/rel-1/freevo/local_conf.py.example ============================================================================== --- branches/rel-1/freevo/local_conf.py.example (original) +++ branches/rel-1/freevo/local_conf.py.example Thu Jan 11 21:33:42 2007 @@ -1344,6 +1344,7 @@ # RSSSERVER_UID = 0 # RSSSERVER_GID = 0 +# RSS_CHECK_INTERVAL = 3600 # RSS_FEEDS = '/etc/freevo/rss.feeds' # RSS_VIDEO = '/media/video' # RSS_AUDIO = '/media/podcasts' Modified: branches/rel-1/freevo/src/helpers/rssserver.py ============================================================================== --- branches/rel-1/freevo/src/helpers/rssserver.py (original) +++ branches/rel-1/freevo/src/helpers/rssserver.py Thu Jan 11 21:33:42 2007 @@ -30,15 +30,20 @@ ''' In local_conf.py add the following: + +# File defining RSS feeds to monitor (see format below). RSS_FEEDS='/etc/freevo/rss.feeds' +# Frequency (in seconds) to check for new downloads. Default is 3600 or 1 hour. +RSS_CHECK_INTERVAL=3600 +# Download directory for video files. RSS_VIDEO='/path/to/video/feeds/' +# Download directory for audio files. RSS_AUDIO='/path/to/podcasts/' You will need to make a rss.feeds file: it contains the URL and the number of -days it's been published +days it's been published. # Begin /etc/freevo/rss.feeds - http://twit.libsyn.com/rss,7 http://leo.am/podcasts/twit,7 http://leo.am/podcasts/itn,7 @@ -46,7 +51,6 @@ http://www.linuxactionshow.com/?feed=rss2&cat=3,30 http://www.thelinuxlink.net/tllts/tllts.rss,30 http://www.linux-games.ca/2006/redneck.xml,360 - # End /etc/freevo/rss.feeds ''' @@ -90,7 +94,7 @@ print String(text) while True: - t = threading.Thread(rssperiodic.checkForUpdates()) - t.start() - t.join() - time.sleep(60) + t = threading.Thread(rssperiodic.checkForUpdates()) + t.start() + t.join() + time.sleep(config.RSS_CHECK_INTERVAL) Modified: branches/rel-1/freevo/src/rssperiodic.py ============================================================================== --- branches/rel-1/freevo/src/rssperiodic.py (original) +++ branches/rel-1/freevo/src/rssperiodic.py Thu Jan 11 21:33:42 2007 @@ -127,6 +127,7 @@ (url,numberOfDays)=re.split(",", line) except ValueError: continue + print "Check %s for updates" % url sock = urllib.urlopen(url) feedSource = sock.read() sock.close() @@ -140,14 +141,19 @@ filename=re.split("/",item.url).pop() if (len(glob.glob(filename))==0) and not checkForDup(item.url): if re.search("torrent",item.url): + print "Start downloading %s" % item.url exitStatus=os.popen("bittorrent-console %s"%(item.url)).close() filename=re.sub("\.torrent","",filename) else: + print "Start downloading %s" % item.url exitStatus=os.popen("wget %s" %(item.url)).close() if not exitStatus: createFxd(item,filename) addFileToCache(item.url) + print "Download completed (%s bytes)" % os.path.getsize(filename) else: + print "Download failed - exit status %s." % exitStatus os.popen("rm %s" %(filename)) except IOError: print "ERROR: Could not open %s"%(config.RSS_FEEDS) + ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Freevo-cvslog mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freevo-cvslog
