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