summaryrefslogtreecommitdiffstats
path: root/src/indeedwatcher.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/indeedwatcher.nim')
-rw-r--r--src/indeedwatcher.nim31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/indeedwatcher.nim b/src/indeedwatcher.nim
index 69c0071..7419321 100644
--- a/src/indeedwatcher.nim
+++ b/src/indeedwatcher.nim
@@ -71,13 +71,17 @@ for feed in feeds:
#Getting the listing URLs from the feeds
var rssFeedReply: RSS
- #TODO implement a retry-on-fail system
- try:
- echo "now reading " & feed
- rssFeedReply = getRSS(feed)
- except:
- raise
-
+ for attempt in countup(0,3):
+ try:
+ echo "now reading " & feed
+ rssFeedReply = getRSS(feed)
+ except:
+ if attempt < 3:
+ echo "Recieved an error: trying again..."
+ continue
+ else:
+ raise
+ break
for entry in rssFeedReply.items:
#Sleep so indeed.com doesn't freak out
@@ -90,8 +94,17 @@ for feed in feeds:
var URL = entry.link
let URLID = entry.link.split('&')[3]
if not any(cache, proc (input: string): bool = input.contains(URLID)):
- echo "Telling chromium to navigate to " & URL
- session.navigate(URL)
+ for attempt in countup(0,3):
+ try:
+ echo "Telling chromium to navigate to " & URL
+ session.navigate(URL)
+ except:
+ if attempt < 3:
+ echo "Recieved an error: trying again..."
+ continue
+ else:
+ raise
+ break
counter = counter + 1
#HTML Parser