self._lbuf = ''
self._progress = [0, os.fstat(self._f.fileno()).st_size]
- def _refresh(self):
+ def force_redisplay(self):
self._need_redisplay = True
def _onboard_event(self,timestamp,pirate,event):
self._pl[pirate] = pa
self._v[pirate] = pa
self._v['#lastaboard'] = timestamp
- self._refresh()
+ self.force_redisplay()
return pa
def _trash_vessel(self, v):
for pn in v:
if pn.startswith('#'): continue
del self._pl[pn]
- self._refresh()
+ self.force_redisplay()
def expire_garbage(self, timestamp):
for (vn,v) in list(self._vl.iteritems()):
m = rm('=+ (\\d+)/(\\d+)/(\\d+) =+$')
if m:
- self._date = m.groups()
+ self._date = [int(x) for x in m.groups()]
+ self._previous_timestamp = None
return d('date '+`self._date`)
if self._date is None:
if not m:
return d('no timestamp')
- time_tuple = [int(x) for x in self._date + m.groups()]
- time_tuple += (-1,-1,-1)
- timestamp = time.mktime(time_tuple)
+ while True:
+ time_tuple = (self._date +
+ [int(x) for x in m.groups()] +
+ [-1,-1,-1])
+ timestamp = time.mktime(time_tuple)
+ if timestamp >= self._previous_timestamp: break
+ self._date[2] += 1
+ self._debug_line_disposition(timestamp,'',
+ 'new date '+`self._date`)
+
+ self._previous_timestamp = timestamp
+
l = l[l.find(' ')+1:]
def ob_x(who,event):
if pa.v is self._v:
pa.last_chat_time = timestamp
pa.last_chat_chan = what
- self._refresh()
+ self.force_redisplay()
return d(what+' chat')
m = rm('(\\w+) (?:issued an order|ordered everyone) "')
track.catchup(progress)
opts.debug += 1
+ track.force_redisplay()
+
return (myself, track)
def do_track_chat_log(args, bu):