X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;ds=sidebyside;f=yoweb-scrape;h=65f949b602bbb623baeb257bda618e5c07f149f8;hb=e0d5c82194939011d5c7057cce76c9bb3d15ae84;hp=e14719210d443c96e7b65ae8a93dc4e37924be36;hpb=323e44d92cadb46171b6a0706a9c7ed35e0e3fde;p=ypp-sc-tools.web-live.git diff --git a/yoweb-scrape b/yoweb-scrape index e147192..65f949b 100755 --- a/yoweb-scrape +++ b/yoweb-scrape @@ -10,6 +10,7 @@ import urllib2 import errno import sys import re as regexp +import random from optparse import OptionParser from BeautifulSoup import BeautifulSoup @@ -27,7 +28,7 @@ standingvals = ('Able/Distinguished/Respected/Master'+ pirate_ref_re = regexp.compile('^/yoweb/pirate\\.wm') -max_pirate_namelen = 20 +max_pirate_namelen = 12 def debug(m): @@ -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')