diff options
| author | Daniel Nephin <dnephin@gmail.com> | 2015-11-12 14:07:54 -0500 |
|---|---|---|
| committer | Daniel Nephin <dnephin@gmail.com> | 2015-11-12 14:07:54 -0500 |
| commit | 6e73f04acc16f847c64a7d14cd9cdfd810b8a515 (patch) | |
| tree | ed26699db7462349183d337097ad9948b4399ed4 /docker | |
| parent | c89d3668274cd8de11d1521c876771c5e4f4fc8f (diff) | |
| parent | 33305697728ec661d01eb4f596b20eae565fda42 (diff) | |
| download | docker-py-6e73f04acc16f847c64a7d14cd9cdfd810b8a515.tar.gz | |
Merge pull request #796 from v-boyko/feature/logs_since
Support the 'since' option in the 'containers/<id>/logs' endpoint (API upgrade)
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/api/container.py | 14 | ||||
| -rw-r--r-- | docker/utils/__init__.py | 2 |
2 files changed, 14 insertions, 2 deletions
diff --git a/docker/api/container.py b/docker/api/container.py index f3f85e8..49c0b95 100644 --- a/docker/api/container.py +++ b/docker/api/container.py @@ -1,5 +1,6 @@ import six import warnings +from datetime import datetime from .. import errors from .. import utils @@ -184,7 +185,7 @@ class ContainerApiMixin(object): @utils.check_resource def logs(self, container, stdout=True, stderr=True, stream=False, - timestamps=False, tail='all'): + timestamps=False, tail='all', since=None): if utils.compare_version('1.11', self._version) >= 0: params = {'stderr': stderr and 1 or 0, 'stdout': stdout and 1 or 0, @@ -195,6 +196,17 @@ class ContainerApiMixin(object): if tail != 'all' and (not isinstance(tail, int) or tail < 0): tail = 'all' params['tail'] = tail + + if since is not None: + if utils.compare_version('1.19', self._version) < 0: + raise errors.InvalidVersion( + 'since is not supported in API < 1.19' + ) + else: + if isinstance(since, datetime): + params['since'] = utils.datetime_to_timestamp(since) + elif (isinstance(since, int) and since > 0): + params['since'] = since url = self._url("/containers/{0}/logs", container) res = self._get(url, params=params, stream=stream) return self._get_result(container, stream, res) diff --git a/docker/utils/__init__.py b/docker/utils/__init__.py index e27700e..bcbf568 100644 --- a/docker/utils/__init__.py +++ b/docker/utils/__init__.py @@ -1,7 +1,7 @@ from .utils import ( compare_version, convert_port_bindings, convert_volume_binds, mkbuildcontext, tar, exclude_paths, parse_repository_tag, parse_host, - kwargs_from_env, convert_filters, create_host_config, + kwargs_from_env, convert_filters, datetime_to_timestamp, create_host_config, create_container_config, parse_bytes, ping_registry, parse_env_file, version_lt, version_gte, decode_json_header, split_command, ) # flake8: noqa |
