Server IP : 195.201.23.43 / Your IP : 3.140.184.21 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/awscli/customizations/ |
Upload File : |
# Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of # the License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "license" file accompanying this file. This file 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. import base64 import binascii import logging from awscli.compat import six logger = logging.getLogger(__name__) def register_dynamodb_paginator_fix(event_emitter): DynamoDBPaginatorFix(event_emitter).register_events() def parse_last_evaluated_key_binary(parsed, **kwargs): # Because we disable parsing blobs into a binary type and leave them as # a base64 string if a binary field is present in the continuation token # as is the case with dynamodb the binary will be double encoded. This # ensures that the continuation token is properly converted to binary to # avoid double encoding the contination token. last_evaluated_key = parsed.get('LastEvaluatedKey', None) if last_evaluated_key is None: return for key, val in last_evaluated_key.items(): if 'B' in val: val['B'] = base64.b64decode(val['B']) class DynamoDBPaginatorFix(object): def __init__(self, event_emitter): self._event_emitter = event_emitter def register_events(self): self._event_emitter.register( 'calling-command.dynamodb.*', self._maybe_register_pagination_fix ) def _maybe_register_pagination_fix(self, parsed_globals, **kwargs): if parsed_globals.paginate: self._event_emitter.register( 'after-call.dynamodb.*', parse_last_evaluated_key_binary )Private