tinc-gui: Use ArgumentParser, default to python2
This commit is contained in:
parent
e92bb7d1dd
commit
927efeff62
1 changed files with 36 additions and 54 deletions
90
gui/tinc-gui
90
gui/tinc-gui
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python2
|
||||||
|
|
||||||
# tinc-gui -- GUI for controlling a running tincd
|
# tinc-gui -- GUI for controlling a running tincd
|
||||||
# Copyright (C) 2009-2014 Guus Sliepen <guus@tinc-vpn.org>
|
# Copyright (C) 2009-2014 Guus Sliepen <guus@tinc-vpn.org>
|
||||||
|
@ -25,6 +25,7 @@ import sys
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
import time
|
import time
|
||||||
|
from argparse import ArgumentParser
|
||||||
from wx.lib.mixins.listctrl import ColumnSorterMixin
|
from wx.lib.mixins.listctrl import ColumnSorterMixin
|
||||||
from wx.lib.mixins.listctrl import ListCtrlAutoWidthMixin
|
from wx.lib.mixins.listctrl import ListCtrlAutoWidthMixin
|
||||||
|
|
||||||
|
@ -286,46 +287,7 @@ class VPN:
|
||||||
self.pidfile = os.path.join(VPN.piddir, 'tinc.pid')
|
self.pidfile = os.path.join(VPN.piddir, 'tinc.pid')
|
||||||
|
|
||||||
|
|
||||||
# GUI starts here
|
|
||||||
|
|
||||||
argv0 = sys.argv[0]
|
|
||||||
del sys.argv[0]
|
|
||||||
netname = None
|
|
||||||
pidfile = None
|
|
||||||
|
|
||||||
|
|
||||||
def usage(exitcode=0):
|
|
||||||
print('Usage: ' + argv0 + ' [options]')
|
|
||||||
print('\nValid options are:')
|
|
||||||
print(' -n, --net=NETNAME Connect to net NETNAME.')
|
|
||||||
print(' --pidfile=FILENAME Read control cookie from FILENAME.')
|
|
||||||
print(' --help Display this help and exit.')
|
|
||||||
print('\nReport bugs to tinc@tinc-vpn.org.')
|
|
||||||
sys.exit(exitcode)
|
|
||||||
|
|
||||||
|
|
||||||
while sys.argv:
|
|
||||||
if sys.argv[0] in ('-n', '--net'):
|
|
||||||
del sys.argv[0]
|
|
||||||
netname = sys.argv[0]
|
|
||||||
elif sys.argv[0] in '--pidfile':
|
|
||||||
del sys.argv[0]
|
|
||||||
pidfile = sys.argv[0]
|
|
||||||
elif sys.argv[0] in '--help':
|
|
||||||
usage(0)
|
|
||||||
else:
|
|
||||||
print(argv0 + ': unrecognized option \'' + sys.argv[0] + '\'')
|
|
||||||
usage(1)
|
|
||||||
|
|
||||||
del sys.argv[0]
|
|
||||||
|
|
||||||
if netname is None:
|
|
||||||
netname = os.getenv('NETNAME')
|
|
||||||
elif netname == '.':
|
|
||||||
netname = None
|
|
||||||
|
|
||||||
vpn = VPN(netname, pidfile)
|
|
||||||
vpn.connect()
|
|
||||||
|
|
||||||
|
|
||||||
class SuperListCtrl(wx.ListCtrl, ColumnSorterMixin, ListCtrlAutoWidthMixin):
|
class SuperListCtrl(wx.ListCtrl, ColumnSorterMixin, ListCtrlAutoWidthMixin):
|
||||||
|
@ -635,20 +597,40 @@ class MainWindow(wx.Frame):
|
||||||
self.np.connections.refresh()
|
self.np.connections.refresh()
|
||||||
|
|
||||||
|
|
||||||
app = wx.App()
|
def main(netname, pidfile):
|
||||||
mw = MainWindow(None, -1, 'Tinc GUI')
|
global vpn, app
|
||||||
|
|
||||||
"""
|
if netname is None:
|
||||||
def OnTaskBarIcon(event):
|
netname = os.getenv('NETNAME')
|
||||||
mw.Raise()
|
|
||||||
"""
|
|
||||||
|
|
||||||
"""
|
vpn = VPN(netname, pidfile)
|
||||||
icon = wx.Icon("tincgui.ico", wx.BITMAP_TYPE_PNG)
|
vpn.connect()
|
||||||
taskbaricon = wx.TaskBarIcon()
|
|
||||||
taskbaricon.SetIcon(icon, 'Tinc GUI')
|
|
||||||
wx.EVT_TASKBAR_RIGHT_UP(taskbaricon, OnTaskBarIcon)
|
|
||||||
"""
|
|
||||||
|
|
||||||
app.MainLoop()
|
app = wx.App()
|
||||||
vpn.close()
|
mw = MainWindow(None, -1, 'Tinc GUI')
|
||||||
|
|
||||||
|
"""
|
||||||
|
def OnTaskBarIcon(event):
|
||||||
|
mw.Raise()
|
||||||
|
"""
|
||||||
|
|
||||||
|
"""
|
||||||
|
icon = wx.Icon("tincgui.ico", wx.BITMAP_TYPE_PNG)
|
||||||
|
taskbaricon = wx.TaskBarIcon()
|
||||||
|
taskbaricon.SetIcon(icon, 'Tinc GUI')
|
||||||
|
wx.EVT_TASKBAR_RIGHT_UP(taskbaricon, OnTaskBarIcon)
|
||||||
|
"""
|
||||||
|
|
||||||
|
app.MainLoop()
|
||||||
|
vpn.close()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
argparser = ArgumentParser(epilog='Report bugs to tinc@tinc-vpn.org.')
|
||||||
|
|
||||||
|
argparser.add_argument('-n', '--net', metavar='NETNAME', dest='netname', help='Connect to net NETNAME')
|
||||||
|
argparser.add_argument('-p', '--pidfile', help='Path to the pid file (containing the controlcookie)')
|
||||||
|
|
||||||
|
options = argparser.parse_args()
|
||||||
|
|
||||||
|
main(options.netname, options.pidfile)
|
||||||
|
|
Loading…
Add table
Reference in a new issue