Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: tools/telemetry/third_party/gsutil/gslib/commands/versioning.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/gsutil/gslib/commands/versioning.py
diff --git a/tools/telemetry/third_party/gsutil/gslib/commands/versioning.py b/tools/telemetry/third_party/gsutil/gslib/commands/versioning.py
deleted file mode 100644
index 13aa9be7a6c7affa6bc7b1889ba108c75b42df09..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/gslib/commands/versioning.py
+++ /dev/null
@@ -1,173 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright 2012 Google Inc. 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License 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.
-"""Implementation of versioning configuration command for buckets."""
-
-from __future__ import absolute_import
-
-from gslib.command import Command
-from gslib.command_argument import CommandArgument
-from gslib.cs_api_map import ApiSelector
-from gslib.exception import CommandException
-from gslib.help_provider import CreateHelpText
-from gslib.third_party.storage_apitools import storage_v1_messages as apitools_messages
-from gslib.util import NO_MAX
-
-
-_SET_SYNOPSIS = """
- gsutil versioning set [on|off] bucket_url...
-"""
-
-_GET_SYNOPSIS = """
- gsutil versioning get bucket_url...
-"""
-
-_SYNOPSIS = _SET_SYNOPSIS + _GET_SYNOPSIS.lstrip('\n')
-
-_SET_DESCRIPTION = """
-<B>SET</B>
- The "set" sub-command requires an additional sub-command, either "on" or
- "off", which, respectively, will enable or disable versioning for the
- specified bucket(s).
-
-"""
-
-_GET_DESCRIPTION = """
-<B>GET</B>
- The "get" sub-command gets the versioning configuration for a
- bucket and displays whether or not it is enabled.
-"""
-
-_DESCRIPTION = """
- The Versioning Configuration feature enables you to configure a Google Cloud
- Storage bucket to keep old versions of objects.
-
- The gsutil versioning command has two sub-commands:
-""" + _SET_DESCRIPTION + _GET_DESCRIPTION
-
-_DETAILED_HELP_TEXT = CreateHelpText(_SYNOPSIS, _DESCRIPTION)
-
-_get_help_text = CreateHelpText(_GET_SYNOPSIS, _GET_DESCRIPTION)
-_set_help_text = CreateHelpText(_SET_SYNOPSIS, _SET_DESCRIPTION)
-
-
-class VersioningCommand(Command):
- """Implementation of gsutil versioning command."""
-
- # Command specification. See base class for documentation.
- command_spec = Command.CreateCommandSpec(
- 'versioning',
- command_name_aliases=['setversioning', 'getversioning'],
- usage_synopsis=_SYNOPSIS,
- min_args=2,
- max_args=NO_MAX,
- supported_sub_args='',
- file_url_ok=False,
- provider_url_ok=False,
- urls_start_arg=2,
- gs_api_support=[ApiSelector.XML, ApiSelector.JSON],
- gs_default_api=ApiSelector.JSON,
- argparse_arguments={
- 'set': [
- CommandArgument('mode', choices=['on', 'off']),
- CommandArgument.MakeZeroOrMoreCloudBucketURLsArgument()
- ],
- 'get': [
- CommandArgument.MakeZeroOrMoreCloudBucketURLsArgument()
- ]
- }
- )
- # Help specification. See help_provider.py for documentation.
- help_spec = Command.HelpSpec(
- help_name='versioning',
- help_name_aliases=['getversioning', 'setversioning'],
- help_type='command_help',
- help_one_line_summary=(
- 'Enable or suspend versioning for one or more buckets'),
- help_text=_DETAILED_HELP_TEXT,
- subcommand_help_text={'get': _get_help_text, 'set': _set_help_text},
- )
-
- def _CalculateUrlsStartArg(self):
- if not self.args:
- self.RaiseWrongNumberOfArgumentsException()
- if self.args[0].lower() == 'set':
- return 2
- else:
- return 1
-
- def _SetVersioning(self):
- """Gets versioning configuration for a bucket."""
- versioning_arg = self.args[0].lower()
- if versioning_arg not in ('on', 'off'):
- raise CommandException('Argument to "%s set" must be either [on|off]'
- % (self.command_name))
- url_args = self.args[1:]
- if not url_args:
- self.RaiseWrongNumberOfArgumentsException()
-
- # Iterate over URLs, expanding wildcards and set the versioning
- # configuration on each.
- some_matched = False
- for url_str in url_args:
- bucket_iter = self.GetBucketUrlIterFromArg(url_str, bucket_fields=['id'])
- for blr in bucket_iter:
- url = blr.storage_url
- some_matched = True
- bucket_metadata = apitools_messages.Bucket(
- versioning=apitools_messages.Bucket.VersioningValue())
- if versioning_arg == 'on':
- self.logger.info('Enabling versioning for %s...', url)
- bucket_metadata.versioning.enabled = True
- else:
- self.logger.info('Suspending versioning for %s...', url)
- bucket_metadata.versioning.enabled = False
- self.gsutil_api.PatchBucket(url.bucket_name, bucket_metadata,
- provider=url.scheme, fields=['id'])
- if not some_matched:
- raise CommandException('No URLs matched')
-
- def _GetVersioning(self):
- """Gets versioning configuration for one or more buckets."""
- url_args = self.args
-
- # Iterate over URLs, expanding wildcards and getting the versioning
- # configuration on each.
- some_matched = False
- for url_str in url_args:
- bucket_iter = self.GetBucketUrlIterFromArg(url_str,
- bucket_fields=['versioning'])
- for blr in bucket_iter:
- some_matched = True
- if blr.root_object.versioning and blr.root_object.versioning.enabled:
- print '%s: Enabled' % blr.url_string.rstrip('/')
- else:
- print '%s: Suspended' % blr.url_string.rstrip('/')
- if not some_matched:
- raise CommandException('No URLs matched')
-
- def RunCommand(self):
- """Command entry point for the versioning command."""
- action_subcommand = self.args.pop(0)
- if action_subcommand == 'get':
- func = self._GetVersioning
- elif action_subcommand == 'set':
- func = self._SetVersioning
- else:
- raise CommandException((
- 'Invalid subcommand "%s" for the %s command.\n'
- 'See "gsutil help %s".') % (
- action_subcommand, self.command_name, self.command_name))
- func()
- return 0
« no previous file with comments | « tools/telemetry/third_party/gsutil/gslib/commands/version.py ('k') | tools/telemetry/third_party/gsutil/gslib/commands/web.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698