chiark / gitweb /
random timeouts for standings table; WIP chat log stuff
authorIan Jackson <ian@liberator.relativity.greenend.org.uk>
Fri, 15 May 2009 18:56:13 +0000 (19:56 +0100)
committerIan Jackson <ian@liberator.relativity.greenend.org.uk>
Fri, 15 May 2009 18:56:13 +0000 (19:56 +0100)
yoweb-scrape

index e147192..4e12d7f 100755 (executable)
@@ -10,6 +10,7 @@ import urllib2
 import errno
 import sys
 import re as regexp
+import random
 from optparse import OptionParser
 
 from BeautifulSoup import BeautifulSoup
@@ -44,6 +45,10 @@ class Fetcher:
                        if oe.errno != errno.EEXIST: raise
                self._cache_scan(time.time())
 
+       def _default_ocean(self):
+               if self.ocean is None:
+                       self.ocean = 'ice'
+
        def _cache_scan(self, now):
                # returns list of ages, unsorted
                ages = []
@@ -119,6 +124,7 @@ class Fetcher:
                return data
 
        def yoweb(self, kind, tail, max_age):
+               self._default_ocean()
                url = 'http://%s.puzzlepirates.com/yoweb/%s%s' % (
                        self.ocean, kind, tail)
                return self.fetch(url, max_age)
@@ -376,7 +382,7 @@ def do_standings_crew_of(args, bu):
                if not members: continue
                tab.literalline('%s:' % rank)
                for p in members:
-                       pi = PirateInfo(p, 1800)
+                       pi = PirateInfo(p, random.randint(900,1800))
                        tab.pirate(pi)
        print tab.results()
 
@@ -389,10 +395,10 @@ actions:
  yoweb-scrape [--ocean OCEAN ...] pirate PIRATE
  yoweb-scrape [--ocean OCEAN ...] crew-of PIRATE
  yoweb-scrape [--ocean OCEAN ...] standings-crew-of PIRATE
+ yoweb-scrape [--ocean OCEAN ...] ship-aid CHAT-LOG
 ''')
        ao = pa.add_option
-       ao('-O','--ocean',dest='ocean', metavar='OCEAN',
-               default='ice',
+       ao('-O','--ocean',dest='ocean', metavar='OCEAN', default=None,
                help='select ocean OCEAN')
        ao('--cache-dir', dest='cache_dir', metavar='DIR',
                default='~/.yoweb-scrape-cache',
@@ -406,6 +412,7 @@ actions:
                help='show ship duty station puzzles')
 
        (opts,args) = pa.parse_args()
+       random.seed()
 
        if len(args) < 1:
                pa.error('need a mode argument')