def render_chat(users, history, screen, x, y, w, h):
for (i, a) in enumerate(history[-h:]):
buffer = []
if 'user' in a:
if a['user'] in users:
user_attr = curses.A_BOLD
else:
user_attr = curses.A_NORMAL
if a['message'].startswith('/me '):
text = '* {0} {1}'.format(a['user'], a['message'][4:])
buffer = [
('* ', curses.A_NORMAL),
(a['user'], user_attr),
(u' {0}'.format(a['message'][4:]), curses.A_NORMAL)]
else:
buffer = [
(a['user'], user_attr),
(u'> {0}'.format(a['message']), curses.A_NORMAL)]
else:
buffer = [(u'* {0}'.format(a), curses.A_NORMAL)]
x_ = x + 1
for (text, attr) in buffer:
if not isinstance(text, six.binary_type):
text = text.encode('utf8')
screen.addstr(y + 1 + i, x_, text, attr)
x_ += len(text.decode('utf8'))
评论列表
文章目录