return bot.get(k, v)
return v
+def parse_seconds(formatted):
+ formatted = formatted.strip()
+ m = re.match(r'(\d+)s?$', formatted)
+ if m is not None:
+ return m.group(1)
+ remaining = formatted
+ seconds = 0
+ while remaining:
+ m = re.match(r'(\d+)\s*([dhms])?', remaining)
+ if m is None:
+ log.info('Failed to parse interval {}'.format(formatted))
+ return None
+ n = int(m.group(1))
+ u = m.group(2)
+ if u == 'd':
+ seconds += 86400 * n
+ elif u == 'h':
+ seconds += 3600 * n
+ elif u == 'm':
+ seconds += 60 * n
+ elif u == 's' or not u:
+ seconds += n
+ remaining = remaining[len(m.group(0)):].strip()
+
+ return seconds
+
def open_url(url):
if sys.version_info >= (3, 0):
# Specify our own user agent as Cloudflare doesn't seem to like the urllib one
else:
break
elif arg == 'every':
- m = re.match(r'(\d+)s?', param)
- if m is not None:
- create['interval'] = m.group(1)
+ seconds = parse_seconds(param)
+ if seconds is not None:
+ create['interval'] = seconds
ok = True
else:
break