Skip to content
This repository was archived by the owner on Aug 4, 2020. It is now read-only.

Commit f9a8dad

Browse files
committed
finally found the source of repeating messages: job descriptions were being rebuilt and appended.
1 parent 837d535 commit f9a8dad

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

brain.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@ def say(self, message):
1515

1616
def respond(self, user, message):
1717
if re.search(r'\bhelp\b', message):
18-
self.say("If I only had a brain: %s -- Commands: help jobs kill last" % (self.project_url, ))
19-
elif re.search(r'\bjobs\b', message):
18+
self.say("If I only had a brain: %s -- Commands: help config kill last" % (self.project_url, ))
19+
elif re.search(r'\bconfig\b', message):
2020
jobs_desc = JobQueue.describe()
2121
jobs_desc = re.sub(r'p(ass)?w(ord)?[ :=]*[^ ]+', r'p***word', jobs_desc)
22-
23-
self.say("Running jobs [%s]" % (jobs_desc, ))
22+
self.say("Configuration [%s]" % (jobs_desc, ))
2423
#elif re.search(r'\bkill\b', message):
2524
# self.say("Squeal! Killed by %s" % (user, ))
26-
# self.factory.stopTrying()
27-
# self.quit()
25+
# JobQueue.killall()
26+
# #self.quit()
27+
# #self.factory.stopTrying()
2828
elif re.search(r'\blast\b', message):
2929
if self.sink.timestamp:
3030
self.say("My last post was %s UTC" % (self.sink.timestamp, ))

irc.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ def joined(self, channel):
3232
print "Joined channel %s as %s" % (channel, self.nickname)
3333
self.brain = Brain(self.config, sink=self)
3434
#XXX get outta here:
35-
source = JobQueue(self.config["jobs"], self, self.config["poll_interval"])
35+
source = JobQueue(
36+
definition=self.config["jobs"],
37+
sink=self,
38+
interval=self.config["poll_interval"]
39+
)
3640
source.run()
3741

3842
def privmsg(self, user, channel, message):

job.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ def __init__(self, definition, sink, interval):
1111
"""
1212
self.sink = sink
1313
self.interval = interval
14+
JobQueue.jobs_def = []
1415
for type_name, options in definition.items():
1516
classname = type_name.capitalize() + "Poller"
1617
m = __import__(type_name, fromlist=[classname])
@@ -37,9 +38,14 @@ def check(self):
3738
if line:
3839
self.sink.write(line)
3940

40-
def run(self):
41+
@staticmethod
42+
def killall():
4143
for old in JobQueue.threads:
4244
old.stop()
45+
JobQueue.threads = []
46+
47+
def run(self):
48+
JobQueue.killall()
4349
task = LoopingCall(self.check)
4450
JobQueue.threads = [task]
4551
task.start(self.interval)

0 commit comments

Comments
 (0)