Ok ignore the last patch I sent. I did not like the idea of having to
use a cron job to schedule the updates. Cron seems to cause a lot of
people confusion. I tweaked the helper to use the time.sleep function
to wait between updates. To enable the plug ad the following to the
local_conf:
plugin.activate('helpers.weather')
WEATHER_UPDATE_INTERVAL = 20
The interval number is in minutes.
Index: src/helpers/weather.py
===================================================================
--- src/helpers/weather.py (revision 8792)
+++ src/helpers/weather.py (working copy)
@@ -5,10 +5,15 @@
# $Id$
#
# Notes:
-# Requires cron to call "freevo weather" to get updates. The weather.py
-# plugin will grab new data if the cache is older than two hours, so
-# run your cron job more often than that.
+# To enable add the following to your local_conf.py
#
+# plugin.activate('helpers.weather')
+# WEATHER_UPDATE_INTERVAL = 10
+#
+# The WEATHER_UPDATE_INTERVAL is set in whole minutes.
+# The weather.py plugin will grab new data if the cache is older than
+# two hours, so set the update interval to more often than that.
+#
# Todo:
#
# -----------------------------------------------------------------------
@@ -34,22 +39,32 @@
import os
import stat
-import urllib
+import time
import config
-location = []
-dataurl = []
-WEATHER_DIR = os.path.join(config.SHARE_DIR, 'images', 'weather')
-for local in config.PLUGIN_WEATHER_LOCATIONS:
- location = local[0]
- dataurl = "http://www.msnbc.com/m/chnk/d/weather_d_src.asp?acid=%s" %
location
- mapurl = "http://w3.weather.com/weather/map/%s?from=LAPmaps" % location
- cacheDir = '%s/weather_%s' % (config.FREEVO_CACHEDIR, location)
- cacheFile = '%s/data' % (cacheDir)
- mapFile = '%s/map' % (cacheDir)
+if hasattr(config, 'PLUGIN_WEATHER_LOCATIONS'):
+ while hasattr(config, 'WEATHER_UPDATE_INTERVAL'):
+ location = []
+ dataurl = []
+ WEATHER_DIR = os.path.join(config.SHARE_DIR, 'images', 'weather')
+ for local in config.PLUGIN_WEATHER_LOCATIONS:
+ location = local[0]
+ dataurl =
"http://www.msnbc.com/m/chnk/d/weather_d_src.asp?acid=%s" % location
+ mapurl = "http://w3.weather.com/weather/map/%s?from=LAPmaps" %
location
+ cacheDir = '%s/weather_%s' % (config.FREEVO_CACHEDIR, location)
+ cacheFile = '%s/data' % (cacheDir)
+ mapFile = '%s/map' % (cacheDir)
- if not os.path.isdir(cacheDir):
- os.mkdir(cacheDir,
stat.S_IMODE(os.stat(config.FREEVO_CACHEDIR)[stat.ST_MODE]))
+ if not os.path.isdir(cacheDir):
+ os.mkdir(cacheDir,
stat.S_IMODE(os.stat(config.FREEVO_CACHEDIR)[stat.ST_MODE]))
- os.system ('wget %s -O %s 2> /dev/null' % (dataurl, cacheFile))
- os.system ('wget %s -O %s 2> /dev/null' % (mapurl, mapFile))
+ os.system ('wget %s -O %s 2> /dev/null' % (dataurl, cacheFile))
+ os.system ('wget %s -O %s 2> /dev/null' % (mapurl, mapFile))
+ if config.DEBUG == 1:
+ print "Updated Weather Data\n"
+ time.sleep(config.WEATHER_UPDATE_INTERVAL * 60)
+ else:
+ print "\nWEATHER_UPDATE_INTERVAL not defined in local_conf.py\n"
+else:
+
+ print "\nPLUGIN_WEATHER_LOCATIONS not defined in local_conf.py\n"
-------------------------------------------------------------------------
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-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel