Move stuff off of top level

This commit is contained in:
Juhani Krekelä 2019-07-14 20:12:45 +03:00
parent 94c4e0fa0c
commit a534cacd0e
1 changed files with 71 additions and 64 deletions

View File

@ -61,25 +61,11 @@ def handle_user_command(backend, command):
else:
print('s - request status, i - request msgid, m - send message, ^D - quit')
def eventloop(proc):
# Create unbuffered version of stdin
unbuf_stdin = open(sys.stdin.buffer.fileno(), 'rb', buffering = 0)
_, interface, nick = sys.argv
proc = subprocess.Popen(['sudo', libexec_dir + '/ethermess-backend', interface], stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = sys.stderr, bufsize = 0)
# Tell the backend the status and nick
status = 0
nick = nick.encode('utf-8')
writeall(proc.stdin, bytes([status, len(nick)]) + nick)
# Read our MAC
mac = readall(proc.stdout, 6)
print('Own mac: %s' % format_mac(mac))
print('s - request status, i - request msgid, m - send message, ^D - quit')
# Set up a poll for inputs (but do output blockingly)
poll = select.poll()
poll.register(proc.stdout, select.POLLIN)
poll.register(unbuf_stdin, select.POLLIN)
@ -133,5 +119,26 @@ while running:
else:
raise Exception('Unreachable')
def main():
_, interface, nick = sys.argv
proc = subprocess.Popen(['sudo', libexec_dir + '/ethermess-backend', interface], stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = sys.stderr, bufsize = 0)
# Tell the backend the status and nick
status = 0
nick = nick.encode('utf-8')
writeall(proc.stdin, bytes([status, len(nick)]) + nick)
# Read our MAC
mac = readall(proc.stdout, 6)
print('Own mac: %s' % format_mac(mac))
print('s - request status, i - request msgid, m - send message, ^D - quit')
eventloop(proc)
proc.wait()
if __name__ == '__main__':
main()