From: Ian Jackson Date: Wed, 27 May 2009 22:55:54 +0000 (+0100) Subject: Insert some blank lines to improve readability, including every 5 pirates in ship-aid X-Git-Tag: 1.0~9 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.main.git;a=commitdiff_plain;h=9eb1c29cc828e4c79b11fa268700d4963c053baf Insert some blank lines to improve readability, including every 5 pirates in ship-aid --- diff --git a/yoweb-scrape b/yoweb-scrape index 4832d1e..40cdad5 100755 --- a/yoweb-scrape +++ b/yoweb-scrape @@ -332,7 +332,7 @@ class CrewInfo(SomethingSoupInfo): #---------- pretty-printer for tables of pirate puzzle standings ---------- class StandingsTable: - def __init__(self, use_puzzles=None, col_width=6): + def __init__(self, use_puzzles=None, col_width=6, gap_every=5): if use_puzzles is None: if opts.ship_duty: use_puzzles=[ @@ -348,14 +348,21 @@ class StandingsTable: self._puzzles = use_puzzles self.s = '' self._cw = col_width-1 + self._gap_every = gap_every + self._linecount = 0 def _pline(self, pirate, puzstrs, extra): + if (self._linecount > 0 + and self._gap_every is not None + and not (self._linecount % self._gap_every)): + self.s += '\n' self.s += ' %-*s' % (max(max_pirate_namelen, 14), pirate) for v in puzstrs: self.s += ' %-*.*s' % (self._cw,self._cw, v) if extra: self.s += ' ' + extra self.s += '\n' + self._linecount += 1 def _puzstr(self, pi, puzzle): if not isinstance(puzzle,list): puzzle = [puzzle] @@ -382,9 +389,12 @@ class StandingsTable: spc = name.find(' ') if spc < 0: return name return name[0:min(4,spc)] + name[spc+1:] + self._linecount = -2 self._pline('', map(puzn_redact, self._puzzles), None) + self._linecount = 0 def literalline(self, line): self.s += line + '\n' + self._linecount = 0 def pirate_dummy(self, name, standingstring, extra=None): self._pline(name, standingstring * len(self._puzzles), extra) def pirate(self, pi, extra=None): @@ -867,6 +877,7 @@ def do_standings_crew_of(args, bu): tab.headings() for (rank, members) in ci.crew: if not members: continue + tab.literalline('') tab.literalline('%s:' % rank) for p in members: pi = PirateInfo(p, random.randint(900,1800))