Skip to content

Commit d85b82d

Browse files
author
bspkrs
committed
fix unicode error and standardized string formatting
1 parent 2ea3d31 commit d85b82d

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

BotBase.py

+26-24
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ def __init__(self, configfile=None, nspass=None, backupcfg=False):
204204
if 'about' not in self.txtcmds.keys():
205205
self.addtxtcmd('about', {})
206206

207+
self.updateConfig()
208+
207209
def clone(self):
208210
return BotBase(self.configfile, self.nspass, self.backupcfg)
209211

@@ -259,7 +261,7 @@ def useradd(self, bot, sender, dest, cmd, args):
259261
group = args[1].lower()
260262

261263
if not group in self.groups:
262-
bot.sendNotice(sender.nick, "Group %s does not exist"%args[1])
264+
bot.sendNotice(sender.nick, "Group %s does not exist" % args[1])
263265
return
264266

265267
if not user in self.authUsers:
@@ -274,15 +276,15 @@ def userrm(self, bot, sender, dest, cmd, args):
274276
group = args[1].lower()
275277

276278
if not group in self.groups:
277-
bot.sendNotice(sender.nick, "Group %s does not exist"%group)
279+
bot.sendNotice(sender.nick, "Group %s does not exist" % group)
278280
return
279281

280282
if not user in self.authUsers:
281-
bot.sendNotice(sender.nick, "User %s is not registered"%args[0])
283+
bot.sendNotice(sender.nick, "User %s is not registered" % args[0])
282284
return
283285

284286
if not group in self.authUsers[user]:
285-
bot.sendNotice(sender.nick, "User %s in not part of group %s"%(args[0],group))
287+
bot.sendNotice(sender.nick, "User %s in not part of group %s" % (args[0],group))
286288
return
287289

288290
self.authUsers[user].remove(group)
@@ -293,10 +295,10 @@ def userget(self, bot, sender, dest, cmd, args):
293295
user = args[0].lower()
294296

295297
if not user in self.authUsers:
296-
bot.sendNotice(sender.nick, "User %s is not registered"%args[0])
298+
bot.sendNotice(sender.nick, "User %s is not registered" % args[0])
297299
return
298300

299-
msg = "%s : %s"%(args[0], ", ".join(self.authUsers[user]))
301+
msg = "%s : %s" % (args[0], ", ".join(self.authUsers[user]))
300302
bot.sendNotice(sender.nick, msg)
301303

302304
def userall(self, bot, sender, dest, cmd, args):
@@ -308,10 +310,10 @@ def userall(self, bot, sender, dest, cmd, args):
308310
groups[group].add(user)
309311

310312
maxlen = len(max(groups.keys(), key=len))
311-
formatstr = "%%%ds : %%s"%(maxlen * -1)
313+
formatstr = "%%%ds : %%s" % (maxlen * -1)
312314

313315
for k,v in groups.items():
314-
bot.sendNotice(sender.nick, formatstr%(k,list(v)))
316+
bot.sendNotice(sender.nick, formatstr % (k,list(v)))
315317

316318
# Ban handling
317319
def banadd(self, bot, sender, dest, cmd, args):
@@ -329,10 +331,10 @@ def banget(self, bot, sender, dest, cmd, args):
329331
user = args[0].lower()
330332

331333
if not user in self.banList:
332-
bot.sendNotice(sender.nick, "User %s is not banned"%args[0])
334+
bot.sendNotice(sender.nick, "User %s is not banned" % args[0])
333335
return
334336

335-
msg = "%s : %s"%(args[0], ", ".join(self.banList[user]))
337+
msg = "%s : %s" % (args[0], ", ".join(self.banList[user]))
336338
bot.sendNotice(sender.nick, msg)
337339

338340
def banall(self, bot, sender, dest, cmd, args):
@@ -345,11 +347,11 @@ def banrm(self, bot, sender, dest, cmd, args):
345347
command = args[1].lower()
346348

347349
if not user in self.banList:
348-
bot.sendNotice(sender.nick, "User %s is not registered"%args[0])
350+
bot.sendNotice(sender.nick, "User %s is not registered" % args[0])
349351
return
350352

351353
if not command in self.banList[user]:
352-
bot.sendNotice(sender.nick, "User %s in not banned from using %s"%(args[0],command))
354+
bot.sendNotice(sender.nick, "User %s in not banned from using %s" % (args[0],command))
353355
return
354356

355357
self.banList[user].remove(command)
@@ -374,11 +376,11 @@ def grouprm(self, bot, sender, dest, cmd, args):
374376
cmd = args[1].lower()
375377

376378
if not group in self.groups:
377-
bot.sendNotice(sender.nick, "Group %s does not exist"%group)
379+
bot.sendNotice(sender.nick, "Group %s does not exist" % group)
378380
return
379381

380382
if not cmd in self.groups[group]['commands']:
381-
bot.sendNotice(sender.nick, "Command %s not in group %s"%(cmd, group))
383+
bot.sendNotice(sender.nick, "Command %s not in group %s" % (cmd, group))
382384
return
383385

384386
self.groups[group]['commands'].remove(cmd)
@@ -390,7 +392,7 @@ def grouprm(self, bot, sender, dest, cmd, args):
390392

391393
def groupget(self, bot, sender, dest, cmd, args):
392394
for group,cmds in self.groups.items():
393-
bot.sendNotice(sender.nick, "%s : %s"%(group, cmds))
395+
bot.sendNotice(sender.nick, "%s : %s" % (group, cmds))
394396

395397
def groupmeta(self, bot, sender, dest, cmd, args):
396398
group = args[0].lower()
@@ -399,11 +401,11 @@ def groupmeta(self, bot, sender, dest, cmd, args):
399401
try:
400402
value = eval(" ".join(args[2:]))
401403
except Exception as e:
402-
bot.sendNotice(sender.nick, "Exception : %s"%e)
404+
bot.sendNotice(sender.nick, "Exception : %s" % e)
403405
return
404406

405407
if not group in self.groups:
406-
bot.sendNotice(sender.nick, "Group %s does not exist"%group)
408+
bot.sendNotice(sender.nick, "Group %s does not exist" % group)
407409
return
408410

409411
self.groups[group][key] = value
@@ -416,21 +418,21 @@ def addtxtcmd(self, cmd, data):
416418
data = self.addmissingkeys(data)
417419
self.txtcmds[cmd.lower()] = data
418420
if data['text'] and data['text'] != '':
419-
self.registerCommand(cmd.lower(), self.txtcmd, data.get('groups'), 0, 0, '', data.get('helpdesc', ''), showhelp=data.get('showhelp', True), allowpub=data.get('allowpub', True))
421+
self.registerCommand(cmd.lower(), self.txtcmd, data.get('groups'), 0, 0, '', data.get('helpdesc', '').encode('ascii'), showhelp=data.get('showhelp', True), allowpub=data.get('allowpub', True))
420422
else:
421423
self.logger.warning('Attempted to register duplicate command %s' % cmd)
422424

423425
def addmissingkeys(self, data):
424426
if 'groups' not in data.keys():
425427
data['groups'] = ['any']
426428
if 'helpdesc' not in data.keys():
427-
data['helpdesc'] = ''
429+
data['helpdesc'] = u''
428430
if 'showhelp' not in data.keys():
429431
data['showhelp'] = True
430432
if 'allowpub' not in data.keys():
431433
data['allowpub'] = True
432434
if 'text' not in data.keys():
433-
data['text'] = ''
435+
data['text'] = u''
434436
return data
435437

436438
def txtcmd(self, bot, sender, dest, cmd, args):
@@ -451,14 +453,14 @@ def helpcmd(self, bot, sender, dest, cmd, args):
451453
continue
452454
if 'any' in cmdval['groups']:
453455
if showall:
454-
bot.sendOutput(dest, formatstr%(cmd, cmdval['descargs'], cmdval['desccmd']))
456+
bot.sendOutput(dest, formatstr % (cmd, cmdval['descargs'], cmdval['desccmd']))
455457
else:
456458
allowedcmds.append(cmd)
457459
elif sender.regnick.lower() in self.authUsers:
458460
groups = self.authUsers[sender.regnick.lower()]
459461
if 'admin' in groups or len(groups.intersection(set(cmdval['groups']))) > 0:
460462
if showall:
461-
bot.sendOutput(dest, formatstr%(cmd, cmdval['descargs'], cmdval['desccmd']))
463+
bot.sendOutput(dest, formatstr % (cmd, cmdval['descargs'], cmdval['desccmd']))
462464
else:
463465
allowedcmds.append(cmd)
464466

@@ -472,13 +474,13 @@ def helpcmd(self, bot, sender, dest, cmd, args):
472474
else:
473475
if args[0] in self.cmdHandler.commands:
474476
showhelp = False
475-
cmdval = self.cmdHandler.commands[args[0]]
477+
cmdval = self.cmdHandler.commands[args[0].lower()]
476478
if cmdval['showhelp']:
477479
if 'any' in cmdval['groups']:
478480
showhelp = True
479481
elif sender.nick.lower() in self.authUsers:
480482
groups = self.authUsers[sender.regnick.lower()]
481-
showhelp = 'admin' in groups or len(groups.intersection(set(cmdval['groups']))) > 0
483+
showhelp = len(groups.intersection(set(cmdval['groups']))) > 0
482484
if not showhelp:
483485
bot.sendNotice(sender.nick, "§BYou do not have permission to use the command for which help was requested.")
484486
else:

0 commit comments

Comments
 (0)