Alexandros Kosiaris has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/402081 )

Change subject: ircecho: Remove redundant thread
......................................................................

ircecho: Remove redundant thread

EchoReader is just an instantiating class in essense. All it does is
parse configuration input and spawn threads to handle each IRC
channel/logfile combination. There is no reason to complicate code for
minimal gains in an initialization procedure that takes a couple of
seconds at most in a long running process. Move the body of the run()
function into __init__ and remove references to threading and start()
from EchoReader. While this changes nothing functionally it makes the
code a tad easier to understand

Change-Id: I1fb447fc8d5091be09c3cd8e7761c7966bdfafe8
---
M modules/ircecho/files/ircecho.py
1 file changed, 19 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/81/402081/1

diff --git a/modules/ircecho/files/ircecho.py b/modules/ircecho/files/ircecho.py
index 1135b36..2e64fbd 100755
--- a/modules/ircecho/files/ircecho.py
+++ b/modules/ircecho/files/ircecho.py
@@ -41,34 +41,14 @@
         self.notifier.loop()
 
 
-class EchoReader(threading.Thread):
+class EchoReader():
     def __init__(self, infile='', associatedchannel=''):
-        threading.Thread.__init__(self)
         self.infile = infile
         self.associatedchannel = associatedchannel
         self.uniques = {';': 'UNIQ_' + self.get_unique_string() + '_QINU',
                         ':': 'UNIQ_' + self.get_unique_string() + '_QINU',
                         ',': 'UNIQ_' + self.get_unique_string() + '_QINU'}
 
-    def get_unique_string(self):
-        unique = ''
-        for i in range(15):
-            unique = unique + random.choice(string.letters)
-        return unique
-
-    def escape(self, string):
-        escaped_string = re.sub('\\\;', self.uniques[';'], string)
-        escaped_string = re.sub('\\\:', self.uniques[':'], escaped_string)
-        escaped_string = re.sub('\\\,', self.uniques[','], escaped_string)
-        return escaped_string
-
-    def unescape(self, string):
-        unescaped_string = re.sub(self.uniques[';'], ';', string)
-        unescaped_string = re.sub(self.uniques[':'], ':', unescaped_string)
-        unescaped_string = re.sub(self.uniques[','], ',', unescaped_string)
-        return unescaped_string
-
-    def run(self):
         if self.infile:
             print('Using infile')
             self.notifiers = []
@@ -111,6 +91,24 @@
                     break
                 except Exception:
                     pass
+
+    def get_unique_string(self):
+        unique = ''
+        for i in range(15):
+            unique = unique + random.choice(string.letters)
+        return unique
+
+    def escape(self, string):
+        escaped_string = re.sub('\\\;', self.uniques[';'], string)
+        escaped_string = re.sub('\\\:', self.uniques[':'], escaped_string)
+        escaped_string = re.sub('\\\,', self.uniques[','], escaped_string)
+        return escaped_string
+
+    def unescape(self, string):
+        unescaped_string = re.sub(self.uniques[';'], ';', string)
+        unescaped_string = re.sub(self.uniques[':'], ':', unescaped_string)
+        unescaped_string = re.sub(self.uniques[','], ',', unescaped_string)
+        return unescaped_string
 
     def readfile(self, filename):
         if self.files[filename]:
@@ -188,7 +186,6 @@
 bot = EchoBot(chans, nickname, server)
 global reader
 reader = EchoReader(options.infile)
-reader.start()
 try:
     bot.start()
 except Exception:

-- 
To view, visit https://gerrit.wikimedia.org/r/402081
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1fb447fc8d5091be09c3cd8e7761c7966bdfafe8
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to