mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-10-04 18:38:39 +02:00
Fixed TODO #1047283.
This commit is contained in:
parent
098fbbfeae
commit
a238ed6298
@ -303,7 +303,7 @@ class Admin(privmsgs.CapabilityCheckingPrivmsg):
|
|||||||
if ircdb.isAntiCapability(capability) or \
|
if ircdb.isAntiCapability(capability) or \
|
||||||
ircdb.checkCapability(msg.prefix, capability):
|
ircdb.checkCapability(msg.prefix, capability):
|
||||||
user.addCapability(capability)
|
user.addCapability(capability)
|
||||||
ircdb.users.setUser(user.id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
else:
|
else:
|
||||||
irc.error('You can\'t add capabilities you don\'t have.')
|
irc.error('You can\'t add capabilities you don\'t have.')
|
||||||
@ -319,7 +319,7 @@ class Admin(privmsgs.CapabilityCheckingPrivmsg):
|
|||||||
ircdb.isAntiCapability(capability):
|
ircdb.isAntiCapability(capability):
|
||||||
try:
|
try:
|
||||||
user.removeCapability(capability)
|
user.removeCapability(capability)
|
||||||
ircdb.users.setUser(user.id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
except KeyError:
|
except KeyError:
|
||||||
irc.error('That user doesn\'t have that capability.')
|
irc.error('That user doesn\'t have that capability.')
|
||||||
|
@ -542,7 +542,7 @@ class Channel(callbacks.Privmsg):
|
|||||||
for c in capabilities.split():
|
for c in capabilities.split():
|
||||||
c = ircdb.makeChannelCapability(channel, c)
|
c = ircdb.makeChannelCapability(channel, c)
|
||||||
user.addCapability(c)
|
user.addCapability(c)
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
addcapability = wrap(addcapability, [('checkChannelCapability', 'op'),
|
addcapability = wrap(addcapability, [('checkChannelCapability', 'op'),
|
||||||
'hostmask', 'capability'])
|
'hostmask', 'capability'])
|
||||||
@ -567,7 +567,7 @@ class Channel(callbacks.Privmsg):
|
|||||||
user.removeCapability(cap)
|
user.removeCapability(cap)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
fail.append(c)
|
fail.append(c)
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
if fail:
|
if fail:
|
||||||
irc.error('That user didn\'t have the %s %s.' %
|
irc.error('That user didn\'t have the %s %s.' %
|
||||||
(utils.commaAndify(fail),
|
(utils.commaAndify(fail),
|
||||||
|
18
src/User.py
18
src/User.py
@ -129,12 +129,12 @@ class User(callbacks.Privmsg):
|
|||||||
return
|
return
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
(id, user) = ircdb.users.newUser()
|
user = ircdb.users.newUser()
|
||||||
user.name = name
|
user.name = name
|
||||||
user.setPassword(password, hashed=hashed)
|
user.setPassword(password, hashed=hashed)
|
||||||
if addHostmask:
|
if addHostmask:
|
||||||
user.addHostmask(msg.prefix)
|
user.addHostmask(msg.prefix)
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
|
|
||||||
def unregister(self, irc, msg, args):
|
def unregister(self, irc, msg, args):
|
||||||
@ -183,7 +183,7 @@ class User(callbacks.Privmsg):
|
|||||||
pass
|
pass
|
||||||
if user.checkHostmask(msg.prefix) or user.checkPassword(password):
|
if user.checkHostmask(msg.prefix) or user.checkPassword(password):
|
||||||
user.name = newname
|
user.name = newname
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
|
|
||||||
def addhostmask(self, irc, msg, args):
|
def addhostmask(self, irc, msg, args):
|
||||||
@ -237,7 +237,7 @@ class User(callbacks.Privmsg):
|
|||||||
except ValueError, e:
|
except ValueError, e:
|
||||||
irc.error(str(e), Raise=True)
|
irc.error(str(e), Raise=True)
|
||||||
try:
|
try:
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
except ValueError, e:
|
except ValueError, e:
|
||||||
irc.error(str(e), Raise=True)
|
irc.error(str(e), Raise=True)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
@ -275,7 +275,7 @@ class User(callbacks.Privmsg):
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
irc.error('There was no such hostmask.')
|
irc.error('There was no such hostmask.')
|
||||||
return
|
return
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess(s)
|
irc.replySuccess(s)
|
||||||
|
|
||||||
def setpassword(self, irc, msg, args):
|
def setpassword(self, irc, msg, args):
|
||||||
@ -306,7 +306,7 @@ class User(callbacks.Privmsg):
|
|||||||
if user.checkPassword(oldpassword) or \
|
if user.checkPassword(oldpassword) or \
|
||||||
(u.checkCapability('owner') and not u == user):
|
(u.checkCapability('owner') and not u == user):
|
||||||
user.setPassword(newpassword, hashed=hashed)
|
user.setPassword(newpassword, hashed=hashed)
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
else:
|
else:
|
||||||
irc.error(conf.supybot.replies.incorrectAuthentication())
|
irc.error(conf.supybot.replies.incorrectAuthentication())
|
||||||
@ -390,7 +390,7 @@ class User(callbacks.Privmsg):
|
|||||||
if user.checkPassword(password):
|
if user.checkPassword(password):
|
||||||
try:
|
try:
|
||||||
user.addAuth(msg.prefix)
|
user.addAuth(msg.prefix)
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
except ValueError:
|
except ValueError:
|
||||||
irc.error('Your secure flag is true and your hostmask '
|
irc.error('Your secure flag is true and your hostmask '
|
||||||
@ -413,7 +413,7 @@ class User(callbacks.Privmsg):
|
|||||||
irc.errorNoUser()
|
irc.errorNoUser()
|
||||||
return
|
return
|
||||||
user.clearAuth()
|
user.clearAuth()
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.replySuccess('If you remain recognized after giving this command, '
|
irc.replySuccess('If you remain recognized after giving this command, '
|
||||||
'you\'re being recognized by hostmask, rather than '
|
'you\'re being recognized by hostmask, rather than '
|
||||||
'by password. You must remove whatever hostmask is '
|
'by password. You must remove whatever hostmask is '
|
||||||
@ -459,7 +459,7 @@ class User(callbacks.Privmsg):
|
|||||||
if user.checkPassword(password) and \
|
if user.checkPassword(password) and \
|
||||||
user.checkHostmask(msg.prefix, useAuth=False):
|
user.checkHostmask(msg.prefix, useAuth=False):
|
||||||
user.secure = value
|
user.secure = value
|
||||||
ircdb.users.setUser(id, user)
|
ircdb.users.setUser(user)
|
||||||
irc.reply('Secure flag set to %s' % value)
|
irc.reply('Secure flag set to %s' % value)
|
||||||
else:
|
else:
|
||||||
irc.error(conf.supybot.replies.incorrectAuthentication())
|
irc.error(conf.supybot.replies.incorrectAuthentication())
|
||||||
|
29
src/ircdb.py
29
src/ircdb.py
@ -458,18 +458,17 @@ class Creator(object):
|
|||||||
raise ValueError, 'Invalid command on line %s: %s' % (lineno, command)
|
raise ValueError, 'Invalid command on line %s: %s' % (lineno, command)
|
||||||
|
|
||||||
class IrcUserCreator(Creator):
|
class IrcUserCreator(Creator):
|
||||||
id = None
|
|
||||||
def __init__(self, users):
|
def __init__(self, users):
|
||||||
self.u = IrcUser()
|
self.u = IrcUser()
|
||||||
self.users = users
|
self.users = users
|
||||||
|
|
||||||
def user(self, rest, lineno):
|
def user(self, rest, lineno):
|
||||||
if self.id is not None:
|
if self.u.id is not None:
|
||||||
raise ValueError, 'Unexpected user command on line %s.' % lineno
|
raise ValueError, 'Unexpected user command on line %s.' % lineno
|
||||||
IrcUserCreator.id = int(rest)
|
self.u.id = int(rest)
|
||||||
|
|
||||||
def _checkId(self):
|
def _checkId(self):
|
||||||
if self.id is None:
|
if self.u.id is None:
|
||||||
raise ValueError, 'Unexpected user description without user.'
|
raise ValueError, 'Unexpected user description without user.'
|
||||||
|
|
||||||
def name(self, rest, lineno):
|
def name(self, rest, lineno):
|
||||||
@ -503,7 +502,7 @@ class IrcUserCreator(Creator):
|
|||||||
def finish(self):
|
def finish(self):
|
||||||
if self.u.name:
|
if self.u.name:
|
||||||
try:
|
try:
|
||||||
self.users.setUser(self.id, self.u)
|
self.users.setUser(self.u)
|
||||||
except DuplicateHostmask:
|
except DuplicateHostmask:
|
||||||
log.error('Hostmasks for %s collided with another user\'s. '
|
log.error('Hostmasks for %s collided with another user\'s. '
|
||||||
'Resetting hostmasks for %s.', self.u.name)
|
'Resetting hostmasks for %s.', self.u.name)
|
||||||
@ -511,7 +510,7 @@ class IrcUserCreator(Creator):
|
|||||||
# But we've got to do *something*, so we'll show some deference
|
# But we've got to do *something*, so we'll show some deference
|
||||||
# to our lower-numbered users.
|
# to our lower-numbered users.
|
||||||
self.u.hostmasks[:] = []
|
self.u.hostmasks[:] = []
|
||||||
self.users.setUser(self.id, self.u)
|
self.users.setUser(self.u)
|
||||||
IrcUserCreator.id = None
|
IrcUserCreator.id = None
|
||||||
|
|
||||||
class IrcChannelCreator(Creator):
|
class IrcChannelCreator(Creator):
|
||||||
@ -712,19 +711,17 @@ class UsersDictionary(utils.IterableMap):
|
|||||||
del self._hostmaskCache[hostmask]
|
del self._hostmaskCache[hostmask]
|
||||||
del self._hostmaskCache[id]
|
del self._hostmaskCache[id]
|
||||||
|
|
||||||
# XXX This shouldn't require an id, since user has an id attribute.
|
def setUser(self, user):
|
||||||
def setUser(self, id, user):
|
|
||||||
"""Sets a user (given its id) to the IrcUser given it."""
|
"""Sets a user (given its id) to the IrcUser given it."""
|
||||||
assert isinstance(id, int), 'setUser takes an integer userId.'
|
self.nextId = max(self.nextId, user.id)
|
||||||
self.nextId = max(self.nextId, id)
|
|
||||||
try:
|
try:
|
||||||
if self.getUserId(user.name) != id:
|
if self.getUserId(user.name) != user.id:
|
||||||
raise DuplicateHostmask, hostmask
|
raise DuplicateHostmask, hostmask
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
for hostmask in user.hostmasks:
|
for hostmask in user.hostmasks:
|
||||||
for (i, u) in self.iteritems():
|
for (i, u) in self.iteritems():
|
||||||
if i == id:
|
if i == user.id:
|
||||||
continue
|
continue
|
||||||
elif u.checkHostmask(hostmask):
|
elif u.checkHostmask(hostmask):
|
||||||
# We used to remove the hostmask here, but it's not
|
# We used to remove the hostmask here, but it's not
|
||||||
@ -736,8 +733,8 @@ class UsersDictionary(utils.IterableMap):
|
|||||||
for otherHostmask in u.hostmasks:
|
for otherHostmask in u.hostmasks:
|
||||||
if ircutils.hostmaskPatternEqual(hostmask, otherHostmask):
|
if ircutils.hostmaskPatternEqual(hostmask, otherHostmask):
|
||||||
raise DuplicateHostmask, hostmask
|
raise DuplicateHostmask, hostmask
|
||||||
self.invalidateCache(id)
|
self.invalidateCache(user.id)
|
||||||
self.users[id] = user
|
self.users[user.id] = user
|
||||||
self.flush()
|
self.flush()
|
||||||
|
|
||||||
def delUser(self, id):
|
def delUser(self, id):
|
||||||
@ -752,8 +749,6 @@ class UsersDictionary(utils.IterableMap):
|
|||||||
del self._hostmaskCache[id]
|
del self._hostmaskCache[id]
|
||||||
self.flush()
|
self.flush()
|
||||||
|
|
||||||
# XXX This shouldn't return a tuple, just the user, since user has an
|
|
||||||
# id attribute now.
|
|
||||||
def newUser(self):
|
def newUser(self):
|
||||||
"""Allocates a new user in the database and returns it and its id."""
|
"""Allocates a new user in the database and returns it and its id."""
|
||||||
hashed = conf.supybot.databases.users.hash()
|
hashed = conf.supybot.databases.users.hash()
|
||||||
@ -763,7 +758,7 @@ class UsersDictionary(utils.IterableMap):
|
|||||||
self.users[id] = user
|
self.users[id] = user
|
||||||
self.flush()
|
self.flush()
|
||||||
user.id = id
|
user.id = id
|
||||||
return (id, user)
|
return user
|
||||||
|
|
||||||
|
|
||||||
class ChannelsDictionary(utils.IterableMap):
|
class ChannelsDictionary(utils.IterableMap):
|
||||||
|
@ -917,7 +917,7 @@ class Irc(IrcCommandDispatcher):
|
|||||||
log.info('Following identification for %s: %s -> %s',
|
log.info('Following identification for %s: %s -> %s',
|
||||||
u.name, authmask, newhostmask)
|
u.name, authmask, newhostmask)
|
||||||
u.auth[i] = (u.auth[i][0], newhostmask)
|
u.auth[i] = (u.auth[i][0], newhostmask)
|
||||||
ircdb.users.setUser(id, u)
|
ircdb.users.setUser(u)
|
||||||
|
|
||||||
def _reallyDie(self):
|
def _reallyDie(self):
|
||||||
"""Makes the Irc object die. Dead."""
|
"""Makes the Irc object die. Dead."""
|
||||||
|
@ -63,9 +63,9 @@ class AdminTestCase(PluginTestCase):
|
|||||||
|
|
||||||
def testAddcapability(self):
|
def testAddcapability(self):
|
||||||
self.assertError('addcapability sdlkfj foo')
|
self.assertError('addcapability sdlkfj foo')
|
||||||
(id, u) = ircdb.users.newUser()
|
u = ircdb.users.newUser()
|
||||||
u.name = 'foo'
|
u.name = 'foo'
|
||||||
ircdb.users.setUser(id, u)
|
ircdb.users.setUser(u)
|
||||||
self.assertError('removecapability foo bar')
|
self.assertError('removecapability foo bar')
|
||||||
self.assertNotRegexp('removecapability foo bar', 'find')
|
self.assertNotRegexp('removecapability foo bar', 'find')
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ class ChannelTestCase(ChannelPluginTestCase, PluginDocumentation):
|
|||||||
## prefix=self.prefix))
|
## prefix=self.prefix))
|
||||||
## u = ircdb.users.getUser(0)
|
## u = ircdb.users.getUser(0)
|
||||||
## u.addCapability('%s.op' % self.channel)
|
## u.addCapability('%s.op' % self.channel)
|
||||||
## ircdb.users.setUser(0, u)
|
## ircdb.users.setUser(u)
|
||||||
## self.assertNotError(' ')
|
## self.assertNotError(' ')
|
||||||
## self.assertResponse('user capabilities foo', '[]')
|
## self.assertResponse('user capabilities foo', '[]')
|
||||||
## self.assertNotError('channel addcapability foo op')
|
## self.assertNotError('channel addcapability foo op')
|
||||||
|
@ -61,10 +61,9 @@ class ChannelStatsTestCase(ChannelPluginTestCase):
|
|||||||
self.assertNotError('channelstats stats %s' % self.irc.nick)
|
self.assertNotError('channelstats stats %s' % self.irc.nick)
|
||||||
self.assertNotError('channelstats stats %s' % self.irc.nick)
|
self.assertNotError('channelstats stats %s' % self.irc.nick)
|
||||||
self.assertNotError('channelstats stats %s' % self.irc.nick.upper())
|
self.assertNotError('channelstats stats %s' % self.irc.nick.upper())
|
||||||
id = ircdb.users.getUserId(self.prefix)
|
u = ircdb.users.getUser(self.prefix)
|
||||||
u = ircdb.users.getUser(id)
|
|
||||||
u.addCapability(ircdb.makeChannelCapability(self.channel, 'op'))
|
u.addCapability(ircdb.makeChannelCapability(self.channel, 'op'))
|
||||||
ircdb.users.setUser(id, u)
|
ircdb.users.setUser(u)
|
||||||
try:
|
try:
|
||||||
conf.supybot.plugins.ChannelStats.selfStats.setValue(False)
|
conf.supybot.plugins.ChannelStats.selfStats.setValue(False)
|
||||||
m1 = self.getMsg('channelstats stats %s' % self.irc.nick)
|
m1 = self.getMsg('channelstats stats %s' % self.irc.nick)
|
||||||
|
@ -357,19 +357,19 @@ class UsersDictionaryTestCase(IrcdbTestCase):
|
|||||||
|
|
||||||
def testIterAndNumUsers(self):
|
def testIterAndNumUsers(self):
|
||||||
self.assertEqual(self.users.numUsers(), 0)
|
self.assertEqual(self.users.numUsers(), 0)
|
||||||
(id, u) = self.users.newUser()
|
u = self.users.newUser()
|
||||||
hostmask = 'foo!xyzzy@baz.domain.com'
|
hostmask = 'foo!xyzzy@baz.domain.com'
|
||||||
banmask = ircutils.banmask(hostmask)
|
banmask = ircutils.banmask(hostmask)
|
||||||
u.addHostmask(banmask)
|
u.addHostmask(banmask)
|
||||||
u.name = 'foo'
|
u.name = 'foo'
|
||||||
self.users.setUser(id, u)
|
self.users.setUser(u)
|
||||||
self.assertEqual(self.users.numUsers(), 1)
|
self.assertEqual(self.users.numUsers(), 1)
|
||||||
(id, u) = self.users.newUser()
|
u = self.users.newUser()
|
||||||
hostmask = 'biff!fladksfj@blakjdsf'
|
hostmask = 'biff!fladksfj@blakjdsf'
|
||||||
banmask = ircutils.banmask(hostmask)
|
banmask = ircutils.banmask(hostmask)
|
||||||
u.addHostmask(banmask)
|
u.addHostmask(banmask)
|
||||||
u.name = 'biff'
|
u.name = 'biff'
|
||||||
self.users.setUser(id, u)
|
self.users.setUser(u)
|
||||||
self.assertEqual(self.users.numUsers(), 2)
|
self.assertEqual(self.users.numUsers(), 2)
|
||||||
self.users.delUser(2)
|
self.users.delUser(2)
|
||||||
self.assertEqual(self.users.numUsers(), 1)
|
self.assertEqual(self.users.numUsers(), 1)
|
||||||
@ -380,22 +380,22 @@ class UsersDictionaryTestCase(IrcdbTestCase):
|
|||||||
self.assertRaises(KeyError, self.users.getUser, 'foo')
|
self.assertRaises(KeyError, self.users.getUser, 'foo')
|
||||||
self.assertRaises(KeyError,
|
self.assertRaises(KeyError,
|
||||||
self.users.getUser, 'foo!xyzzy@baz.domain.com')
|
self.users.getUser, 'foo!xyzzy@baz.domain.com')
|
||||||
(id, u) = self.users.newUser()
|
u = self.users.newUser()
|
||||||
hostmask = 'foo!xyzzy@baz.domain.com'
|
hostmask = 'foo!xyzzy@baz.domain.com'
|
||||||
banmask = ircutils.banmask(hostmask)
|
banmask = ircutils.banmask(hostmask)
|
||||||
u.addHostmask(banmask)
|
u.addHostmask(banmask)
|
||||||
u.addHostmask(hostmask)
|
u.addHostmask(hostmask)
|
||||||
u.name = 'foo'
|
u.name = 'foo'
|
||||||
self.users.setUser(id, u)
|
self.users.setUser(u)
|
||||||
self.assertEqual(self.users.getUser('foo'), u)
|
self.assertEqual(self.users.getUser('foo'), u)
|
||||||
self.assertEqual(self.users.getUser('FOO'), u)
|
self.assertEqual(self.users.getUser('FOO'), u)
|
||||||
self.assertEqual(self.users.getUser(hostmask), u)
|
self.assertEqual(self.users.getUser(hostmask), u)
|
||||||
self.assertEqual(self.users.getUser(banmask), u)
|
self.assertEqual(self.users.getUser(banmask), u)
|
||||||
# The UsersDictionary shouldn't allow users to be added whose hostmasks
|
# The UsersDictionary shouldn't allow users to be added whose hostmasks
|
||||||
# match another user's already in the database.
|
# match another user's already in the database.
|
||||||
(id, u2) = self.users.newUser()
|
u2 = self.users.newUser()
|
||||||
u2.addHostmask('*!xyzzy@baz.domain.c?m')
|
u2.addHostmask('*!xyzzy@baz.domain.c?m')
|
||||||
self.assertRaises(ValueError, self.users.setUser, id, u2)
|
self.assertRaises(ValueError, self.users.setUser, u2)
|
||||||
|
|
||||||
|
|
||||||
class CheckCapabilityTestCase(IrcdbTestCase):
|
class CheckCapabilityTestCase(IrcdbTestCase):
|
||||||
@ -430,47 +430,47 @@ class CheckCapabilityTestCase(IrcdbTestCase):
|
|||||||
self.channels = ircdb.ChannelsDictionary()
|
self.channels = ircdb.ChannelsDictionary()
|
||||||
#self.channels.open(self.filename)
|
#self.channels.open(self.filename)
|
||||||
|
|
||||||
(id, owner) = self.users.newUser()
|
owner = self.users.newUser()
|
||||||
owner.name = 'owner'
|
owner.name = 'owner'
|
||||||
owner.addCapability('owner')
|
owner.addCapability('owner')
|
||||||
owner.addHostmask(self.owner)
|
owner.addHostmask(self.owner)
|
||||||
self.users.setUser(id, owner)
|
self.users.setUser(owner)
|
||||||
|
|
||||||
(id, nothing) = self.users.newUser()
|
nothing = self.users.newUser()
|
||||||
nothing.name = 'nothing'
|
nothing.name = 'nothing'
|
||||||
nothing.addHostmask(self.nothing)
|
nothing.addHostmask(self.nothing)
|
||||||
self.users.setUser(id, nothing)
|
self.users.setUser(nothing)
|
||||||
|
|
||||||
(id, justfoo) = self.users.newUser()
|
justfoo = self.users.newUser()
|
||||||
justfoo.name = 'justfoo'
|
justfoo.name = 'justfoo'
|
||||||
justfoo.addCapability(self.cap)
|
justfoo.addCapability(self.cap)
|
||||||
justfoo.addHostmask(self.justfoo)
|
justfoo.addHostmask(self.justfoo)
|
||||||
self.users.setUser(id, justfoo)
|
self.users.setUser(justfoo)
|
||||||
|
|
||||||
(id, antifoo) = self.users.newUser()
|
antifoo = self.users.newUser()
|
||||||
antifoo.name = 'antifoo'
|
antifoo.name = 'antifoo'
|
||||||
antifoo.addCapability(self.anticap)
|
antifoo.addCapability(self.anticap)
|
||||||
antifoo.addHostmask(self.antifoo)
|
antifoo.addHostmask(self.antifoo)
|
||||||
self.users.setUser(id, antifoo)
|
self.users.setUser(antifoo)
|
||||||
|
|
||||||
(id, justchanfoo) = self.users.newUser()
|
justchanfoo = self.users.newUser()
|
||||||
justchanfoo.name = 'justchanfoo'
|
justchanfoo.name = 'justchanfoo'
|
||||||
justchanfoo.addCapability(self.chancap)
|
justchanfoo.addCapability(self.chancap)
|
||||||
justchanfoo.addHostmask(self.justchanfoo)
|
justchanfoo.addHostmask(self.justchanfoo)
|
||||||
self.users.setUser(id, justchanfoo)
|
self.users.setUser(justchanfoo)
|
||||||
|
|
||||||
(id, antichanfoo) = self.users.newUser()
|
antichanfoo = self.users.newUser()
|
||||||
antichanfoo.name = 'antichanfoo'
|
antichanfoo.name = 'antichanfoo'
|
||||||
antichanfoo.addCapability(self.antichancap)
|
antichanfoo.addCapability(self.antichancap)
|
||||||
antichanfoo.addHostmask(self.antichanfoo)
|
antichanfoo.addHostmask(self.antichanfoo)
|
||||||
self.users.setUser(id, antichanfoo)
|
self.users.setUser(antichanfoo)
|
||||||
|
|
||||||
(id, securefoo) = self.users.newUser()
|
securefoo = self.users.newUser()
|
||||||
securefoo.name = 'securefoo'
|
securefoo.name = 'securefoo'
|
||||||
securefoo.addCapability(self.cap)
|
securefoo.addCapability(self.cap)
|
||||||
securefoo.secure = True
|
securefoo.secure = True
|
||||||
securefoo.addHostmask(self.securefoo)
|
securefoo.addHostmask(self.securefoo)
|
||||||
self.users.setUser(id, securefoo)
|
self.users.setUser(securefoo)
|
||||||
|
|
||||||
channel = ircdb.IrcChannel()
|
channel = ircdb.IrcChannel()
|
||||||
self.channels.setChannel(self.channel, channel)
|
self.channels.setChannel(self.channel, channel)
|
||||||
@ -533,7 +533,7 @@ class CheckCapabilityTestCase(IrcdbTestCase):
|
|||||||
id = self.users.getUserId('nothing')
|
id = self.users.getUserId('nothing')
|
||||||
u = self.users.getUser(id)
|
u = self.users.getUser(id)
|
||||||
u.addCapability(self.chanop)
|
u.addCapability(self.chanop)
|
||||||
self.users.setUser(id, u)
|
self.users.setUser(u)
|
||||||
self.failUnless(self.checkCapability(self.nothing, self.chancap))
|
self.failUnless(self.checkCapability(self.nothing, self.chancap))
|
||||||
self.channels.setChannel(self.channel, self.channelnothing)
|
self.channels.setChannel(self.channel, self.channelnothing)
|
||||||
self.failUnless(self.checkCapability(self.nothing, self.chancap))
|
self.failUnless(self.checkCapability(self.nothing, self.chancap))
|
||||||
@ -551,7 +551,7 @@ class CheckCapabilityTestCase(IrcdbTestCase):
|
|||||||
id = self.users.getUserId(self.securefoo)
|
id = self.users.getUserId(self.securefoo)
|
||||||
u = self.users.getUser(id)
|
u = self.users.getUser(id)
|
||||||
u.addAuth(self.securefoo)
|
u.addAuth(self.securefoo)
|
||||||
self.users.setUser(id, u)
|
self.users.setUser(u)
|
||||||
try:
|
try:
|
||||||
originalConfDefaultAllow = conf.supybot.capabilities.default()
|
originalConfDefaultAllow = conf.supybot.capabilities.default()
|
||||||
conf.supybot.capabilities.default.set('False')
|
conf.supybot.capabilities.default.set('False')
|
||||||
|
Loading…
Reference in New Issue
Block a user