diff --git a/gns3server/main.py b/gns3server/main.py index 66f31f85..cabd9981 100644 --- a/gns3server/main.py +++ b/gns3server/main.py @@ -33,6 +33,7 @@ from tornado.options import define define("host", default="0.0.0.0", help="run on the given host/IP address", type=str) define("port", default=8000, help="run on the given port", type=int) define("ipc", default=False, help="use IPC for module communication", type=bool) +define("version", default=False, help="show the version", type=bool) def locale_check(): @@ -78,6 +79,17 @@ def main(): Entry point for GNS3 server """ + try: + tornado.options.parse_command_line() + except (tornado.options.Error, ValueError): + tornado.options.print_help() + raise SystemExit + + from tornado.options import options + if options.version: + print(__version__) + raise SystemExit + if sys.platform.startswith("win"): # necessary on Windows to freeze the application multiprocessing.freeze_support() @@ -95,17 +107,10 @@ def main(): micro=sys.version_info[2], pid=os.getpid())) - try: - tornado.options.parse_command_line() - except (tornado.options.Error, ValueError): - tornado.options.print_help() - raise SystemExit - # check for the correct locale # (UNIX/Linux only) locale_check() - from tornado.options import options server = Server(options.host, options.port, ipc=options.ipc) diff --git a/gns3server/modules/iou/__init__.py b/gns3server/modules/iou/__init__.py index 95b62b36..384dfb74 100644 --- a/gns3server/modules/iou/__init__.py +++ b/gns3server/modules/iou/__init__.py @@ -263,6 +263,30 @@ class IOU(IModule): log.debug("received request {}".format(request)) + def test_result(self, message, result="error"): + """ + """ + + return {"result": result, "message": message} + + @IModule.route("iou.test_settings") + def test_settings(self, request): + """ + """ + + response = [] + + # test iourc + if self._iourc == "": + response.append(self.test_result("No iourc file has been added")) + elif not os.path.isfile(self._iourc): + response.append(self.test_result("iourc file {} is not accessible".format(self._iourc))) + else: + #TODO: check hostname + license inside the file + pass + + self.send_response(response) + @IModule.route("iou.create") def iou_create(self, request): """