Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions stacklet/client/platform/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from .config import DEFAULT_CONFIG_FILE
from .context import StackletContext
from .executor import StackletGraphqlExecutor
from .utils import _PAGINATION_OPTIONS
from .utils import PAGINATION_OPTIONS


def platform_client(pager=False, expr=False):
Expand Down Expand Up @@ -78,14 +78,14 @@ def _method(executor, function_name, snippet, pager, expr):
doc.append("")
if snippet.pagination:
doc.append("pagination: ")
for p in _PAGINATION_OPTIONS:
for p in PAGINATION_OPTIONS:
doc.append(f" - {p}")
doc.append("")
doc = "\n".join(doc)

defaults = {}
if snippet.pagination:
for k, v in _PAGINATION_OPTIONS.items():
for k, v in PAGINATION_OPTIONS.items():
defaults[k] = v["default"]
for k, v in snippet.optional.items():
defaults[k] = None
Expand Down
2 changes: 2 additions & 0 deletions stacklet/client/platform/commands/cube.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

from ..context import StackletContext
from ..exceptions import MissingToken
from ..utils import get_user_agent


@click.group()
Expand Down Expand Up @@ -71,6 +72,7 @@ def _request(context: StackletContext, method: str, path: str, payload: Any = No
headers={
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
"User-Agent": get_user_agent(),
},
json=payload,
)
Expand Down
5 changes: 3 additions & 2 deletions stacklet/client/platform/executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from .context import StackletContext
from .exceptions import MissingToken
from .registry import PluginRegistry
from .utils import _PAGINATION_OPTIONS, wrap_command
from .utils import PAGINATION_OPTIONS, get_user_agent, wrap_command


class StackletGraphqlExecutor:
Expand All @@ -31,6 +31,7 @@ def __init__(self, context: StackletContext):
self.session.headers.update(
{
"Authorization": f"Bearer {token}",
"User-Agent": get_user_agent(),
}
)

Expand All @@ -54,7 +55,7 @@ def wrapper(func):
func = wrap_command(func, snippet.required, required=True)
func = wrap_command(func, snippet.optional)
if snippet.pagination:
func = wrap_command(func, _PAGINATION_OPTIONS)
func = wrap_command(func, PAGINATION_OPTIONS)
return func

return wrapper
Expand Down
9 changes: 8 additions & 1 deletion stacklet/client/platform/utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright Stacklet, Inc.
# SPDX-License-Identifier: Apache-2.0

import importlib.metadata
import logging
from pathlib import Path

Expand All @@ -16,7 +17,7 @@ def expand_user_path(ctx, param, value):
return value.expanduser()


_PAGINATION_OPTIONS = {
PAGINATION_OPTIONS = {
"first": {
"help": "For use with pagination. Return the first n results.",
"default": 20,
Expand Down Expand Up @@ -78,3 +79,9 @@ def setup_logging(level):
root_handler = logging.getLogger()
if level:
root_handler.setLevel(level=get_log_level(level))


def get_user_agent():
package = "stacklet.client.platform"
version = importlib.metadata.version(package)
return f"{package}/{version}"