from ConfigParser import SafeConfigParser
import anydbm
+from datetime import timedelta
import random
+import re
import shelve
import subprocess
from time import time
from fcntl import flock, LOCK_EX, LOCK_UN, LOCK_NB
-
def error(error_str, error_code=1):
sys.stderr.write("%s: Error: %s\n" % (sys.argv[0], error_str))
sys.exit(error_code)
# minimum time in seconds between occurences of the same image
if config.has_option("xsetbg", "min_delay"):
- min_delay = config.getint("xsetbg", "min_delay")
+ min_delay = config.get("xsetbg", "min_delay")
+
+ # Borrowed from http://stackoverflow.com/a/2765366
+ td_re = re.compile('(?:(?P<years>\d+)y)?(?:(?P<months>\d+)m)?(?:(?P<days>\d+)d)?(?:T(?:(?P<hours>\d+)h)?(?:(?P<minutes>\d+)m)?(?:(?P<seconds>\d+)s)?)?')
+ td_dict = td_re.match(min_delay).groupdict(0)
+ delta = timedelta(days=int(td_dict['days']) + (int(td_dict['months']) * 30) + (int(td_dict['years']) * 365),
+ hours=int(td_dict['hours']),
+ minutes=int(td_dict['minutes']),
+ seconds=int(td_dict['seconds']))
+
+ if delta:
+ min_delay = delta.days * 24*3600 + delta.seconds
+ else:
+ min_delay = int(min_delay)
+
else:
min_delay = 3600*24 # 24 hours