s.tflock.acquire()
- print "b98"
-
try:
if not accountname in s.threadframes:
s.threadframes[accountname] = {}
if threadid in s.threadframes[accountname]:
return s.threadframes[accountname][threadid]
- print 'b107'
-
if not accountname in s.availablethreadframes:
s.availablethreadframes[accountname] = []
- print 'b112'
-
if len(s.availablethreadframes[accountname]):
tf = s.availablethreadframes[accountname].pop(0)
tf.setthread(currentThread())
else:
- print 'b118'
tf = s.getaccountframe().getnewthreadframe()
- print 'b120'
s.threadframes[accountname][threadid] = tf
return tf
s.c = CursesUtil()
s.text = []
BlinkenBase.init_banner(s)
- print 217
s.setupwindows(dolock = 0)
- print '219a'
s.inputhandler = InputHandler(s.c)
- print 219
- print 221
s._msg(version.banner)
s._msg(str(dir(s.c.stdscr)))
return password
def setupwindows(s, dolock = 1):
- print 244
if dolock:
s.iolock.acquire()
try:
s.logwindow.scrollok(1)
s.setupwindow_drawlog()
- print 258
-
accounts = s.af.keys()
accounts.sort()
accounts.reverse()
- print 264
-
pos = s.c.height - 1
for account in accounts:
accountwindow = curses.newwin(1, s.c.width, pos, 0)
s.af[account].setwindow(accountwindow)
pos -= 1
- print 272
-
curses.doupdate()
- print 276
finally:
if dolock:
s.iolock.release()
def getaccountframe(s):
accountname = s.getthreadaccount()
- print 'c302: ', accountname
s.aflock.acquire()
- print 'c304'
try:
if accountname in s.af:
return s.af[accountname]
# New one.
s.af[accountname] = CursesAccountFrame(s.c)
#s.iolock.acquire()
- print 297
s.c.reset()
s.setupwindows(dolock = 0)
- print 300
#s.iolock.release()
finally:
s.aflock.release()
s._msg(thisline)
return
s.iolock.acquire()
- print 326
try:
if not s.c.isactive():
# For dumping out exceptions and stuff.
s.gettf().setcolor(color)
s._addline_unlocked(msg, s.gettf().getcolor())
s.logwindow.refresh()
- print 336
finally:
s.iolock.release()