From d53d284eb3530a486d4e72b54079fef4bf263e74 Mon Sep 17 00:00:00 2001 From: Oleksii Shevchuk Date: Sat, 6 Oct 2018 19:27:12 +0300 Subject: [PATCH] Add option to start listener without pproxy --- pupy/commands/listen.py | 8 +++++++- pupy/pupylib/PupyServer.py | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pupy/commands/listen.py b/pupy/commands/listen.py index b50dc9cb..f16fe16f 100644 --- a/pupy/commands/listen.py +++ b/pupy/commands/listen.py @@ -13,6 +13,9 @@ group.add_argument('-L', '--list-transports', action='store_true', help='show av group.add_argument( '-a', '--add', nargs='+', metavar=('TRANSPORT', 'TRANSPORT_ARG1'), help='start listener') +group.add_argument( + '-A', '--add-no-pproxy', nargs='+', + metavar=('TRANSPORT', 'TRANSPORT_ARG1'), help='start listener (ignore pproxy)') group.add_argument( '-r', '--remove', metavar='TRANSPORT', type=str, help='stop listener') @@ -21,7 +24,10 @@ def do(server, handler, config, args): if args.add: name, args = args.add[0], args.add[1:] server.add_listener(name, ' '.join(args), motd=False) - + elif args.add_no_pproxy: + name, args = args.add_no_pproxy[0], args.add_no_pproxy[1:] + server.add_listener( + name, ' '.join(args), motd=False, ignore_pproxy=True) elif args.remove: server.remove_listener(args.remove) diff --git a/pupy/pupylib/PupyServer.py b/pupy/pupylib/PupyServer.py index 50ec19e8..e5eceac2 100644 --- a/pupy/pupylib/PupyServer.py +++ b/pupy/pupylib/PupyServer.py @@ -956,9 +956,9 @@ class PupyServer(object): self.handler.add_motd(self.motd) - def add_listener(self, name, config=None, motd=False): + def add_listener(self, name, config=None, motd=False, ignore_pproxy=False): if self.listeners and name in self.listeners: - self.handler.display_warning('Listener {} already registered'.format(name)) + self.handler.display_warning('Listener {} alrady registered'.format(name)) return if name not in transports: @@ -991,7 +991,7 @@ class PupyServer(object): igd=self.igd, local=self.config.get('pupyd', 'address'), external=self.config.get('pupyd', 'external'), - pproxy=self.pproxy_listener + pproxy=None if ignore_pproxy else self.pproxy_listener ) except (ListenerException, ValueError), e: