Compare commits
2 commits
79dec74dcf
...
7636dd1b10
Author | SHA1 | Date | |
---|---|---|---|
|
7636dd1b10 | ||
|
00b87b9fbe |
1 changed files with 18 additions and 10 deletions
26
ethermess.py
26
ethermess.py
|
@ -123,6 +123,9 @@ def format_status(status):
|
|||
else:
|
||||
raise ValueError('Unknown status %i' % status)
|
||||
|
||||
def timestamp():
|
||||
return time.strftime('%H:%M:%S')
|
||||
|
||||
class NonCharacterError(Exception): pass
|
||||
class ControlCharacterError(Exception): pass
|
||||
|
||||
|
@ -230,13 +233,13 @@ def handle_user_command(backend, line):
|
|||
if rest != '':
|
||||
mac = mac_from_name(rest)
|
||||
if mac in peers:
|
||||
print('=== ~%s (%s) [%s]' % (peers[mac].nick, peers[mac].status.name, format_mac(mac)))
|
||||
print('%s === ~%s (%s) [%s]' % (timestamp(), peers[mac].nick, peers[mac].status.name, format_mac(mac)))
|
||||
send_status_request(backend, mac)
|
||||
|
||||
else:
|
||||
# List all the known peers
|
||||
for mac, peer in peers.items():
|
||||
print('=== ~%s (%s) [%s]' % (peer.nick, peer.status.name, format_mac(mac)))
|
||||
print('%s === ~%s (%s) [%s]' % (timestamp(), peer.nick, peer.status.name, format_mac(mac)))
|
||||
|
||||
elif command == '/available' and rest == '':
|
||||
# Set status to available
|
||||
|
@ -301,20 +304,20 @@ def handle_status(mac, status, nick):
|
|||
|
||||
|
||||
if peers[mac].nick is not None and peers[mac].status != statuses.offline and nick != peers[mac].nick:
|
||||
print('=== ~%s -> ~%s [%s]' % (peers[mac].nick, nick, format_mac(mac)))
|
||||
print('%s === ~%s -> ~%s [%s]' % (timestamp(), peers[mac].nick, nick, format_mac(mac)))
|
||||
|
||||
peers[mac].nick = nick
|
||||
|
||||
if status != peers[mac].status:
|
||||
if status == statuses.offline:
|
||||
print('<<< ~%s [%s]' % (nick, format_mac(mac)))
|
||||
print('%s <<< ~%s [%s]' % (timestamp(), nick, format_mac(mac)))
|
||||
elif peers[mac].status is None or peers[mac].status == statuses.offline:
|
||||
if status == statuses.available:
|
||||
print('>>> ~%s [%s]' % (nick, format_mac(mac)))
|
||||
print('%s >>> ~%s [%s]' % (timestamp(), nick, format_mac(mac)))
|
||||
else:
|
||||
print('>>> ~%s (%s) [%s]' % (nick, status.name, format_mac(mac)))
|
||||
print('%s >>> ~%s (%s) [%s]' % (timestamp(), nick, status.name, format_mac(mac)))
|
||||
else:
|
||||
print('=== ~%s (%s) [%s]' % (nick, status.name, format_mac(mac)))
|
||||
print('%s === ~%s (%s) [%s]' % (timestamp(), nick, status.name, format_mac(mac)))
|
||||
|
||||
peers[mac].status = status
|
||||
|
||||
|
@ -346,8 +349,13 @@ def nick_from_mac(mac):
|
|||
|
||||
def handle_message(mac, message):
|
||||
nick = nick_from_mac(mac)
|
||||
ts = timestamp()
|
||||
if mac == default_target_mac:
|
||||
for line in message.split('\n'):
|
||||
print('<%s> %s' % (nick, line))
|
||||
print('%s <*%s> %s' % (ts, nick, line))
|
||||
else:
|
||||
for line in message.split('\n'):
|
||||
print('%s < %s> %s' % (ts, nick, line))
|
||||
|
||||
def eventloop(proc):
|
||||
global peers
|
||||
|
@ -372,7 +380,7 @@ def eventloop(proc):
|
|||
for mac, peer in peers.items():
|
||||
if peer.lastseen + offline_timeout < now:
|
||||
peer.status = statuses.offline
|
||||
print('<<< (timeout) ~%s [%s]' % (peer.nick, format_mac(mac)))
|
||||
print('%s <<< (timeout) ~%s [%s]' % (timestamp(), peer.nick, format_mac(mac)))
|
||||
|
||||
# Figure out how long to wait in poll()
|
||||
wait = None
|
||||
|
|
Loading…
Reference in a new issue