[MediaWiki-commits] [Gerrit] labs...stewardbots[master]: Post current StewardBot.py code

2016-12-01 Thread MarcoAurelio (Code Review)
MarcoAurelio has submitted this change and it was merged.

Change subject: Post current StewardBot.py code
..


Post current StewardBot.py code

So people can start working on the code we run.

Change-Id: Ib55703ec0c5bb9cb85709b862877cc2f668ff710
---
M StewardBot/StewardBot.py
1 file changed, 526 insertions(+), 830 deletions(-)

Approvals:
  MarcoAurelio: Verified; Looks good to me, approved



diff --git a/StewardBot/StewardBot.py b/StewardBot/StewardBot.py
index b20dc63..2424376 100644
--- a/StewardBot/StewardBot.py
+++ b/StewardBot/StewardBot.py
@@ -1,45 +1,38 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-import os
-import random
-import re
-import string
-import sys
-import threading
-import time
-
+import sys, os
+import re, string
+import threading, thread
+import random, time
 import MySQLdb
 import config
-
-# needs python-irclib
+#needs python-irclib
 from ircbot import SingleServerIRCBot
 from irclib import nm_to_n
 
-# DB data
-dbfile = open(os.path.expanduser('~/.my.cnf'), 'r')
-li = [l.strip("\n") for l in dbfile.readlines()[1:]]
+#DB data
+dbfile=open(os.path.expanduser('~/.my.cnf'), 'r')
+li=[l.strip("\n") for l in dbfile.readlines()[1:]]
 dbfile.close()
-SQLuser = li[0].split("=")[1].strip()
-SQLpassword = li[1].split("=")[1].strip().strip("\"")
-SQLhost = li[2].split("=")[1].strip().strip("\"")
-SQLdb = 'YOURDBNAME'
+SQLuser=li[0].split("=")[1].strip()
+SQLpassword=li[1].split("=")[1].strip().strip("\"")
+SQLhost=li[2].split("=")[1].strip().strip("\"")
+SQLdb='YOURDB_HERE'
 
-# common queries
+#common queries
 queries = {
-"privcloaks": "(select p_cloak from privileged) union (select s_cloak from 
stewards)",
-"ignoredusers": "(select i_username from ignored) union (select s_username 
from stewards)",
-"stalkedpages": "select f_page from followed",
-"listenedchannels": "select l_channel from listen",
-"stewardusers": "select s_username from stewards",
-"stewardnicks": "select s_nick from stewards",
-"stewardoptin": "select s_nick from stewards where s_optin=1",
-}
-
+   "privcloaks":   "(select p_cloak from privileged) union (select 
s_cloak from stewards)",
+   "ignoredusers": "(select i_username from ignored) union (select 
s_username from stewards)",
+   "stalkedpages": "select f_page from followed",
+   "listenedchannels": "select l_channel from listen",
+   "stewardusers": "select s_username from stewards",
+   "stewardnicks": "select s_nick from stewards",
+   "stewardoptin": "select s_nick from stewards where s_optin=1",
+  }
 
 def query(sqlquery, one=True):
-db = MySQLdb.connect(db=SQLdb, host=SQLhost,
- user=SQLuser, passwd=SQLpassword)
+db = MySQLdb.connect(db=SQLdb, host=SQLhost, user=SQLuser, 
passwd=SQLpassword)
 cursor = db.cursor()
 cursor.execute(sqlquery)
 db.close()
@@ -51,21 +44,16 @@
 if i[0] is not None:
 res2 += [i[0]]
 return res2
-else:
-return res
-
-
+else: return res
+
 def modquery(sqlquery):
-db = MySQLdb.connect(db=SQLdb, host=SQLhost,
- user=SQLuser, passwd=SQLpassword)
+db = MySQLdb.connect(db=SQLdb, host=SQLhost, user=SQLuser, 
passwd=SQLpassword)
 cursor = db.cursor()
 cursor.execute(sqlquery)
 db.commit()
 db.close()
 
-
 class FreenodeBot(SingleServerIRCBot):
-
 def __init__(self):
 self.server = config.server
 self.channel = config.channel
@@ -81,334 +69,254 @@
 self.randmess = False
 self.listen = True
 self.badsyntax = "Unrecognized command. Type @help for more info."
-self.ignore_attention = {}
-self.attention_delay = 900  # 15 minutes
-self.execute_every(
-self.attention_delay, self.do_clean_ignore_attention)
-SingleServerIRCBot.__init__(
-self, [(self.server, 6667)], self.nickname, self.nickname)
-
-def execute_every(self, period, func):
-"""Monkey patch execute_every into irclib 0.4.8."""
-# FIXME: run a modern irclib from a virtualenv instead
-self._execute_and_schedule(period, func, do_exec=False)
-
-def _execute_and_schedule(self, period, func, do_exec=True):
-"""Execute a function and then schedule another execution."""
-if do_exec:
-func()
-self.execute_delayed(
-period, self._execute_and_schedule, (period, func))
-
+SingleServerIRCBot.__init__(self, [(self.server, 6667)], 
self.nickname, self.nickname)
+
 def on_error(self, c, e):
 print e.target()
 self.die()
-
+
 def on_nicknameinuse(self, c, e):
 c.nick(c.get_nickname() + "_")
-time.sleep(1)  # latency problem?
-c.privmsg("NickServ", 'GHOST ' + self.nickname + ' ' + self.password)
+time.sleep(1) # 

[MediaWiki-commits] [Gerrit] labs...stewardbots[master]: Post current StewardBot.py code

2016-12-01 Thread MarcoAurelio (Code Review)
MarcoAurelio has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/324758

Change subject: Post current StewardBot.py code
..

Post current StewardBot.py code

So people can start working on the code we run.

Change-Id: Ib55703ec0c5bb9cb85709b862877cc2f668ff710
---
M StewardBot/StewardBot.py
1 file changed, 526 insertions(+), 830 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/labs/tools/stewardbots 
refs/changes/58/324758/1

diff --git a/StewardBot/StewardBot.py b/StewardBot/StewardBot.py
index b20dc63..2424376 100644
--- a/StewardBot/StewardBot.py
+++ b/StewardBot/StewardBot.py
@@ -1,45 +1,38 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-import os
-import random
-import re
-import string
-import sys
-import threading
-import time
-
+import sys, os
+import re, string
+import threading, thread
+import random, time
 import MySQLdb
 import config
-
-# needs python-irclib
+#needs python-irclib
 from ircbot import SingleServerIRCBot
 from irclib import nm_to_n
 
-# DB data
-dbfile = open(os.path.expanduser('~/.my.cnf'), 'r')
-li = [l.strip("\n") for l in dbfile.readlines()[1:]]
+#DB data
+dbfile=open(os.path.expanduser('~/.my.cnf'), 'r')
+li=[l.strip("\n") for l in dbfile.readlines()[1:]]
 dbfile.close()
-SQLuser = li[0].split("=")[1].strip()
-SQLpassword = li[1].split("=")[1].strip().strip("\"")
-SQLhost = li[2].split("=")[1].strip().strip("\"")
-SQLdb = 'YOURDBNAME'
+SQLuser=li[0].split("=")[1].strip()
+SQLpassword=li[1].split("=")[1].strip().strip("\"")
+SQLhost=li[2].split("=")[1].strip().strip("\"")
+SQLdb='YOURDB_HERE'
 
-# common queries
+#common queries
 queries = {
-"privcloaks": "(select p_cloak from privileged) union (select s_cloak from 
stewards)",
-"ignoredusers": "(select i_username from ignored) union (select s_username 
from stewards)",
-"stalkedpages": "select f_page from followed",
-"listenedchannels": "select l_channel from listen",
-"stewardusers": "select s_username from stewards",
-"stewardnicks": "select s_nick from stewards",
-"stewardoptin": "select s_nick from stewards where s_optin=1",
-}
-
+   "privcloaks":   "(select p_cloak from privileged) union (select 
s_cloak from stewards)",
+   "ignoredusers": "(select i_username from ignored) union (select 
s_username from stewards)",
+   "stalkedpages": "select f_page from followed",
+   "listenedchannels": "select l_channel from listen",
+   "stewardusers": "select s_username from stewards",
+   "stewardnicks": "select s_nick from stewards",
+   "stewardoptin": "select s_nick from stewards where s_optin=1",
+  }
 
 def query(sqlquery, one=True):
-db = MySQLdb.connect(db=SQLdb, host=SQLhost,
- user=SQLuser, passwd=SQLpassword)
+db = MySQLdb.connect(db=SQLdb, host=SQLhost, user=SQLuser, 
passwd=SQLpassword)
 cursor = db.cursor()
 cursor.execute(sqlquery)
 db.close()
@@ -51,21 +44,16 @@
 if i[0] is not None:
 res2 += [i[0]]
 return res2
-else:
-return res
-
-
+else: return res
+
 def modquery(sqlquery):
-db = MySQLdb.connect(db=SQLdb, host=SQLhost,
- user=SQLuser, passwd=SQLpassword)
+db = MySQLdb.connect(db=SQLdb, host=SQLhost, user=SQLuser, 
passwd=SQLpassword)
 cursor = db.cursor()
 cursor.execute(sqlquery)
 db.commit()
 db.close()
 
-
 class FreenodeBot(SingleServerIRCBot):
-
 def __init__(self):
 self.server = config.server
 self.channel = config.channel
@@ -81,334 +69,254 @@
 self.randmess = False
 self.listen = True
 self.badsyntax = "Unrecognized command. Type @help for more info."
-self.ignore_attention = {}
-self.attention_delay = 900  # 15 minutes
-self.execute_every(
-self.attention_delay, self.do_clean_ignore_attention)
-SingleServerIRCBot.__init__(
-self, [(self.server, 6667)], self.nickname, self.nickname)
-
-def execute_every(self, period, func):
-"""Monkey patch execute_every into irclib 0.4.8."""
-# FIXME: run a modern irclib from a virtualenv instead
-self._execute_and_schedule(period, func, do_exec=False)
-
-def _execute_and_schedule(self, period, func, do_exec=True):
-"""Execute a function and then schedule another execution."""
-if do_exec:
-func()
-self.execute_delayed(
-period, self._execute_and_schedule, (period, func))
-
+SingleServerIRCBot.__init__(self, [(self.server, 6667)], 
self.nickname, self.nickname)
+
 def on_error(self, c, e):
 print e.target()
 self.die()
-
+
 def on_nicknameinuse(self, c, e):
 c.nick(c.get_nickname() + "_")
-time.sleep(1)  # latency problem?
-c.privmsg("NickServ", 'GHOST ' +