Exemple #1
0
from . import xar_ops_dirs

_XAR_LIST_COLUMNS = frozenset((
    'label',
    'version',
    'zipapp',
))
_XAR_LIST_DEFAULT_COLUMNS = (
    'label',
    'version',
    'zipapp',
)
_XAR_LIST_STRINGIFIERS = {
    'zipapp': lambda active: 'true' if active else 'false',
}
ASSERT.issuperset(_XAR_LIST_COLUMNS, _XAR_LIST_DEFAULT_COLUMNS)
ASSERT.issuperset(_XAR_LIST_COLUMNS, _XAR_LIST_STRINGIFIERS)


@argparses.begin_parser('list', **argparses.make_help_kwargs('list xars'))
@columns_argparses.columnar_arguments(_XAR_LIST_COLUMNS,
                                      _XAR_LIST_DEFAULT_COLUMNS)
@argparses.end
def cmd_list(args):
    columnar = columns.Columnar(
        **columns_argparses.make_columnar_kwargs(args),
        stringifiers=_XAR_LIST_STRINGIFIERS,
    )
    with xar_ops_dirs.make_ops_dirs().listing_ops_dirs() as active_ops_dirs:
        for ops_dir in active_ops_dirs:
            columnar.append({
Exemple #2
0
_DEFINITION_LIST_COLUMNS = frozenset((
    'token-name',
    'range',
    'values',
))
_DEFINITION_LIST_DEFAULT_COLUMNS = (
    'token-name',
    'range',
    'values',
)
_DEFINITION_LIST_STRINGIFIERS = {
    'range': lambda args: ' '.join(map(str, args)),
    'values': ' '.join,
}
ASSERT.issuperset(_DEFINITION_LIST_COLUMNS, _DEFINITION_LIST_DEFAULT_COLUMNS)
ASSERT.issuperset(_DEFINITION_LIST_COLUMNS, _DEFINITION_LIST_STRINGIFIERS)


@argparses.begin_parser('list-definitions',
                        **argparses.make_help_kwargs('list token definitions'))
@columns_argparses.columnar_arguments(_DEFINITION_LIST_COLUMNS,
                                      _DEFINITION_LIST_DEFAULT_COLUMNS)
@argparses.end
def cmd_list_definitions(args):
    columnar = columns.Columnar(
        **columns_argparses.make_columnar_kwargs(args),
        stringifiers=_DEFINITION_LIST_STRINGIFIERS,
    )
    for token_name, definition in (
            tokens.make_tokens_database().get().definitions.items()):
Exemple #3
0
    'ref-count',
))
_POD_LIST_DEFAULT_COLUMNS = (
    'id',
    'name',
    'version',
    'active',
    'last-updated',
    'ref-count',
)
POD_LIST_STRINGIFIERS = {
    'images': ' '.join,
    'active': lambda active: 'true' if active else 'false',
    'last-updated': _stringify_last_updated,
}
ASSERT.issuperset(_POD_LIST_COLUMNS, _POD_LIST_DEFAULT_COLUMNS)
ASSERT.issuperset(_POD_LIST_COLUMNS, POD_LIST_STRINGIFIERS)


@argparses.begin_parser('list', **argparses.make_help_kwargs('list pods'))
@columns_argparses.columnar_arguments(
    _POD_LIST_COLUMNS, _POD_LIST_DEFAULT_COLUMNS
)
@argparses.end
def cmd_list():
    # Don't need root privilege here.
    with locks.acquiring_shared(_get_active_path()):
        for pod_dir_path, config in _iter_configs():
            pod_status = _get_pod_status(pod_dir_path, config)
            yield {
                'id': _get_id(pod_dir_path),
Exemple #4
0
from g1.bases.assertions import ASSERT
from g1.texts import columns
from g1.texts.columns import argparses as columns_argparses

from . import envs
from . import models

_ENV_LIST_COLUMNS = frozenset((
    'name',
    'value',
))
_ENV_LIST_DEFAULT_COLUMNS = (
    'name',
    'value',
)
ASSERT.issuperset(_ENV_LIST_COLUMNS, _ENV_LIST_DEFAULT_COLUMNS)


@argparses.begin_parser(
    'list',
    **argparses.make_help_kwargs('list environment variables'),
)
@columns_argparses.columnar_arguments(_ENV_LIST_COLUMNS,
                                      _ENV_LIST_DEFAULT_COLUMNS)
@argparses.end
def cmd_list(args):
    columnar = columns.Columnar(**columns_argparses.make_columnar_kwargs(args))
    for name, value in envs.load().items():
        columnar.append({'name': name, 'value': value})
    columnar.output(sys.stdout)
    return 0
Exemple #5
0
    'last-updated',
    'rootfs',
))
_IMAGE_LIST_DEFAULT_COLUMNS = (
    'id',
    'name',
    'version',
    'tags',
    'ref-count',
    'last-updated',
)
IMAGE_LIST_STRINGIFIERS = {
    'tags': ' '.join,
    'last-updated': datetime.datetime.isoformat,
}
ASSERT.issuperset(_IMAGE_LIST_COLUMNS, _IMAGE_LIST_DEFAULT_COLUMNS)
ASSERT.issuperset(_IMAGE_LIST_COLUMNS, IMAGE_LIST_STRINGIFIERS)


@argparses.begin_parser('list', **argparses.make_help_kwargs('list images'))
@columns_argparses.columnar_arguments(
    _IMAGE_LIST_COLUMNS, _IMAGE_LIST_DEFAULT_COLUMNS
)
@argparses.end
def cmd_list():
    # Don't need root privilege here.
    with locks.acquiring_shared(_get_tags_path()), \
        locks.acquiring_shared(get_trees_path()):
        for image_dir_path, metadata in _iter_metadatas():
            image_id = _get_id(image_dir_path)
            last_updated = _get_last_updated(image_dir_path)