Add option to start listener without pproxy

This commit is contained in:
Oleksii Shevchuk 2018-10-06 19:27:12 +03:00
parent 15fcd63948
commit d53d284eb3
2 changed files with 10 additions and 4 deletions

View File

@ -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)

View File

@ -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: