def __call__(self, args):
        options, args, context = self.parse_args_and_create_context(args)
        context.headers = self.options_list_to_lowered_dict(options.header)
        context.query = self.options_list_to_lowered_dict(options.query)
        context.input_ = options.input_
        context.segment_size = options.segment_size
        context.static_segments = False
        if context.segment_size and context.segment_size[0].lower() == 's':
            context.static_segments = True
            context.segment_size = context.segment_size[1:]
        context.segment_size = int(
            context.segment_size or 5 * 1024 * 1024 * 1024)
        if context.segment_size < 1:
            raise ReturnCode('invalid segment size %s' % options.segment_size)
        context.stdin_segmentation = options.stdin_segmentation
        context.empty = options.empty
        context.newer = options.newer
        context.different = options.different
        context.encrypt = options.encrypt
        if context.encrypt == '-':
            context.encrypt = os.environ.get('SWIFTLY_CRYPT_KEY')
            if not context.encrypt:
                raise ReturnCode(
                    'A single dash "-" was given as the encryption key, but '
                    'no key was found in the SWIFTLY_CRYPT_KEY environment '
                    'variable.')
        if context.encrypt and context.different:
            raise ReturnCode(
                '--different will not work properly with --encrypt since '
                'encryption may change the object size')
        path = args.pop(0).lstrip('/') if args else None
        return cli_put(context, path)
dataset/ETHPy150Open gholt/swiftly/swiftly/cli/put.py/CLIPut.__call__/original