You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jo...@apache.org on 2017/04/07 00:57:12 UTC
[2/2] mesos git commit: CLI: Renamed config.py to settings.py.
CLI: Renamed config.py to settings.py.
This is being renamed due to the upcoming introduction
of a "config" plugin for the new CLI.
Review: https://reviews.apache.org/r/57896/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/1cdd962b
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/1cdd962b
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/1cdd962b
Branch: refs/heads/master
Commit: 1cdd962bc0251f6afbf0bda86055a2f206474811
Parents: f130a56
Author: Armand Grillet <ag...@mesosphere.io>
Authored: Thu Apr 6 13:05:34 2017 -0700
Committer: Joseph Wu <jo...@apache.org>
Committed: Thu Apr 6 17:56:49 2017 -0700
----------------------------------------------------------------------
src/cli_new/bin/config.py | 71 ----------------------------------------
src/cli_new/bin/main.py | 14 ++++----
src/cli_new/bin/settings.py | 71 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 78 insertions(+), 78 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/1cdd962b/src/cli_new/bin/config.py
----------------------------------------------------------------------
diff --git a/src/cli_new/bin/config.py b/src/cli_new/bin/config.py
deleted file mode 100644
index 2f77dc4..0000000
--- a/src/cli_new/bin/config.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""
-This file defines the default configuration of the mesos-cli. It also takes
-care of updating the default configuration from reading environment variables
-or parsing a configuration file.
-"""
-
-import json
-import os
-import sys
-
-from cli.exceptions import CLIException
-
-
-# There is no version module included in this package. However,
-# when creating an executable using pyinstaller, a version.py
-# file will be autogenerated and inserted into the PYTHONPATH.
-# When this happens we import it to set the VERSION.
-try:
- # pylint: disable=F0401,W0611
- from version import VERSION
-except Exception:
- VERSION = "Development"
-
-
-# The builtin plugins.
-PLUGINS = []
-
-
-# Allow extra plugins to be pulled in from a configuration file.
-if os.environ.get("MESOS_CLI_CONFIG_FILE"):
- try:
- CONFIG_FILE = open(os.environ["MESOS_CLI_CONFIG_FILE"])
- except Exception as exception:
- sys.exit("Unable to open configuration file '{config}': {error}"
- .format(config=os.environ.get("MESOS_CLI_CONFIG_FILE"),
- error=str(exception)))
-
- try:
- CONFIG_DATA = json.load(CONFIG_FILE)
- except Exception as exception:
- raise CLIException("Error loading config file as JSON: {error}"
- .format(error=exception))
-
- if "plugins" in CONFIG_DATA:
- if not isinstance(CONFIG_DATA["plugins"], list):
- raise CLIException("'plugins' field must be a list")
-
- PLUGINS.extend(CONFIG_DATA["plugins"])
-
-
-# Allow extra plugins to be pulled in from the environment.
-# The `MESOS_CLI_PLUGINS` environment variable is a ":" separated
-# list of paths to each plugin. All paths must be absolute.
-if os.environ.get("MESOS_CLI_PLUGINS"):
- PLUGINS += filter(None, os.environ.get("MESOS_CLI_PLUGINS").split(":"))
http://git-wip-us.apache.org/repos/asf/mesos/blob/1cdd962b/src/cli_new/bin/main.py
----------------------------------------------------------------------
diff --git a/src/cli_new/bin/main.py b/src/cli_new/bin/main.py
index efeca6e..397c120 100644
--- a/src/cli_new/bin/main.py
+++ b/src/cli_new/bin/main.py
@@ -20,14 +20,14 @@ This is the main executable of the mesos-cli.
import sys
-import config
-import cli
+import settings
+import cli
from cli.docopt import docopt
from cli.exceptions import CLIException
-VERSION = "Mesos " + config.VERSION + " CLI"
+VERSION = "Mesos " + settings.VERSION + " CLI"
SHORT_HELP = "Perform operations on a running Mesos cluster."
@@ -70,7 +70,7 @@ def autocomplete(cmds, plugins, current_word, argv):
plugin = cli.util.get_module(plugins, argv[0])
plugin_class = getattr(plugin, plugin.PLUGIN_CLASS)
- return plugin_class(config).__autocomplete_base__(current_word, argv[1:])
+ return plugin_class(settings).__autocomplete_base__(current_word, argv[1:])
def main(argv):
@@ -79,7 +79,7 @@ def main(argv):
"""
# Initialize the various plugins.
- plugins = cli.util.import_modules(config.PLUGINS, "plugins")
+ plugins = cli.util.import_modules(settings.PLUGINS, "plugins")
cmds = {
cli.util.get_module(plugins, plugin).PLUGIN_NAME:
@@ -125,7 +125,7 @@ def main(argv):
if len(argv) > 0 and argv[0] in cmds:
plugin = cli.util.get_module(plugins, argv[0])
plugin_class = getattr(plugin, plugin.PLUGIN_CLASS)
- plugin_class(config).main(argv[1:] + ["--help"])
+ plugin_class(settings).main(argv[1:] + ["--help"])
else:
main(["--help"])
@@ -133,7 +133,7 @@ def main(argv):
elif cmd in cmds.keys():
plugin = cli.util.get_module(plugins, cmd)
plugin_class = getattr(plugin, plugin.PLUGIN_CLASS)
- plugin_class(config).main(argv)
+ plugin_class(settings).main(argv)
# Print help information if no commands match.
else:
http://git-wip-us.apache.org/repos/asf/mesos/blob/1cdd962b/src/cli_new/bin/settings.py
----------------------------------------------------------------------
diff --git a/src/cli_new/bin/settings.py b/src/cli_new/bin/settings.py
new file mode 100644
index 0000000..2f6162e
--- /dev/null
+++ b/src/cli_new/bin/settings.py
@@ -0,0 +1,71 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""
+This file defines the default settings of the mesos-cli. It also takes care
+of updating the default configuration from reading environment variables or
+parsing a configuration file.
+"""
+
+import json
+import os
+import sys
+
+from cli.exceptions import CLIException
+
+
+# There is no version module included in this package. However,
+# when creating an executable using pyinstaller, a version.py
+# file will be autogenerated and inserted into the PYTHONPATH.
+# When this happens we import it to set the VERSION.
+try:
+ # pylint: disable=F0401,W0611
+ from version import VERSION
+except Exception:
+ VERSION = "Development"
+
+
+# The builtin plugins.
+PLUGINS = []
+
+
+# Allow extra plugins to be pulled in from a configuration file.
+if os.environ.get("MESOS_CLI_CONFIG_FILE"):
+ try:
+ CONFIG_FILE = open(os.environ["MESOS_CLI_CONFIG_FILE"])
+ except Exception as exception:
+ sys.exit("Unable to open configuration file '{config}': {error}"
+ .format(config=os.environ.get("MESOS_CLI_CONFIG_FILE"),
+ error=str(exception)))
+
+ try:
+ CONFIG_DATA = json.load(CONFIG_FILE)
+ except Exception as exception:
+ raise CLIException("Error loading config file as JSON: {error}"
+ .format(error=exception))
+
+ if "plugins" in CONFIG_DATA:
+ if not isinstance(CONFIG_DATA["plugins"], list):
+ raise CLIException("'plugins' field must be a list")
+
+ PLUGINS.extend(CONFIG_DATA["plugins"])
+
+
+# Allow extra plugins to be pulled in from the environment.
+# The `MESOS_CLI_PLUGINS` environment variable is a ":" separated
+# list of paths to each plugin. All paths must be absolute.
+if os.environ.get("MESOS_CLI_PLUGINS"):
+ PLUGINS += filter(None, os.environ.get("MESOS_CLI_PLUGINS").split(":"))