chiark
/
gitweb
/
~yarrgweb
/
ypp-sc-tools.web-live.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a cmd to add "applied" jobbers
[ypp-sc-tools.web-live.git]
/
yoweb-scrape
diff --git
a/yoweb-scrape
b/yoweb-scrape
index 49418a864399556752fa7a17ddbd9879f9385b44..3ef87609e0d268087a07055557c4446dfc5646f1 100755
(executable)
--- a/
yoweb-scrape
+++ b/
yoweb-scrape
@@
-543,8
+543,7
@@
class ChatLogTracker:
v['#lastinfo'] = timestamp
self.force_redisplay()
v['#lastinfo'] = timestamp
self.force_redisplay()
- def _onboard_event(self,v,timestamp,pirate,event,
- jobber=None,timeout=None):
+ def _onboard_event(self,v,timestamp,pirate,event,jobber=None):
pa = self._pl.get(pirate, None)
if pa is not None and pa.v is v:
pa.last_time = timestamp
pa = self._pl.get(pirate, None)
if pa is not None and pa.v is v:
pa.last_time = timestamp
@@
-556,6
+555,9
@@
class ChatLogTracker:
self._pl[pirate] = pa
if v is not None: v[pirate] = pa
pa.jobber = jobber
self._pl[pirate] = pa
if v is not None: v[pirate] = pa
pa.jobber = jobber
+
+ if jobber is None: timeout = None
+ else: timeout = getattr(opts, 'timeout_'+jobber)
if timeout is None: pa.expires = None
else: pa.expires = timestamp + timeout
self._vessel_updated(v, timestamp)
if timeout is None: pa.expires = None
else: pa.expires = timestamp + timeout
self._vessel_updated(v, timestamp)
@@
-722,8
+724,7
@@
class ChatLogTracker:
return self._onboard_event(
None, timestamp, pirate,
("jobber %s" % jobber),
return self._onboard_event(
None, timestamp, pirate,
("jobber %s" % jobber),
- jobber=jobber,
- timeout=getattr(opts, 'timeout_'+jobber)
+ jobber=jobber
)
def disembark(v, timestamp, pirate, event):
)
def disembark(v, timestamp, pirate, event):
@@
-784,15
+785,17
@@
class ChatLogTracker:
(cmdr, metacmd) = m.groups()
metacmd = regexp.sub('\\s+', ' ', metacmd).strip()
m2 = regexp.match(
(cmdr, metacmd) = m.groups()
metacmd = regexp.sub('\\s+', ' ', metacmd).strip()
m2 = regexp.match(
-
'/([ad
]) (?:([A-Za-z* ]+)\\s*:)?([A-Za-z ]+)$',
-
metacmd)
+
'/([adj
]) (?:([A-Za-z* ]+)\\s*:)?([A-Za-z ]+)$',
+ metacmd)
if not m2: return chat(chan)
(cmd, pattern, targets) = m2.groups()
dml = ['cmd', chan, cmd]
if cmd == 'a': each = self._onboard_event
if not m2: return chat(chan)
(cmd, pattern, targets) = m2.groups()
dml = ['cmd', chan, cmd]
if cmd == 'a': each = self._onboard_event
- else: each = disembark
+ elif cmd == 'd': each = disembark
+ else: each = lambda v,ts,tt,h: self._onboard_event(
+ None,ts,tt,h, jobber='applied')
if cmdr == self._myself.name:
dml.append('self')
if cmdr == self._myself.name:
dml.append('self')
@@
-870,7
+873,7
@@
class ChatLogTracker:
disembark(self._v, timestamp, pirate, 'left crew')
return d('left crew')
disembark(self._v, timestamp, pirate, 'left crew')
return d('left crew')
- m = rm('
\w+
has applied for the posted job\.')
+ m = rm('
(\w+)
has applied for the posted job\.')
if m: return jb(m.group(1), 'applied')
pirate= rm_crew("(\\w+) has been invited to job for '(.*)'\\.")
if m: return jb(m.group(1), 'applied')
pirate= rm_crew("(\\w+) has been invited to job for '(.*)'\\.")