diff -r 30b6a020f2be -r d2c1485af725 pvl/irker/irc.py --- a/pvl/irker/irc.py Sat Jan 12 22:08:02 2013 +0200 +++ b/pvl/irker/irc.py Sat Jan 12 23:02:09 2013 +0200 @@ -31,6 +31,15 @@ return name.lower() +def myusername (): + """ + Return username current process is running under. + """ + + import getpass + + return getpass.getuser() + class IRCError (Exception) : """ A handled protocol error. @@ -302,10 +311,17 @@ NICKNAME = 'irker' - def __init__ (self, nickname=NICKNAME) : + def __init__ (self, nickname=NICKNAME, username=None) : # default nickname self.nickname = nickname + if username is True : + # system + self.username = myusername() + + else : + self.username = username + # (scheme, host, port, nick) -> IRCClient self.clients = {} @@ -345,7 +361,10 @@ # register try : - nickname = yield client.register(url.username or self.nickname, url.password) + nickname = yield client.register(url.username or self.nickname, + username = self.username, + password = url.password, + ) except Exception as ex : log.err("register", ex)