diff --git a/ethermess.py b/ethermess.py index cfcec78..bde32e6 100644 --- a/ethermess.py +++ b/ethermess.py @@ -111,14 +111,15 @@ class PollBasedThread(threading.Thread): ... class Backend(PollBasedThread): - def __init__(self, writes_channel, control_channel): + def __init__(self, interface, writes_channel, control_channel): + self.interface = interface self.writes_channel = writes_channel self.control_channel = control_channel self.pollin = [self.writes_channel, self.control_channel] super().__init__() def initialize(self): - self.proc = subprocess.Popen(['sudo', libexec_dir + '/ethermess-backend', *sys.argv[1:]], stdin = subprocess.PIPE, stdout = sys.stdout, stderr = sys.stderr, bufsize = 0) + self.proc = subprocess.Popen(['sudo', libexec_dir + '/ethermess-backend', self.interface], stdin = subprocess.PIPE, stdout = sys.stdout, stderr = sys.stderr, bufsize = 0) def poll_loop(self, fd, event): if fd == self.writes_channel.fileno() and event & select.POLLIN: @@ -180,8 +181,10 @@ class Input(threading.Thread): writes_channel = Channel() control_channel = Channel() -nick = input('nick> ').encode('utf-8') +_, interface, nick = sys.argv + +nick = nick.encode('utf-8') writes_channel.send((bytes([0, len(nick)]) + nick)) -Backend(writes_channel, control_channel).start() +Backend(interface, writes_channel, control_channel).start() Input(writes_channel, control_channel).start()