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

Unified Diff: tools/telemetry/third_party/gsutilz/third_party/boto/boto/sqs/jsonmessage.py

Issue 1262803003: [Telemetry] Add boto library to gsutilz/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/gsutilz/third_party/boto/boto/sqs/jsonmessage.py
diff --git a/tools/telemetry/third_party/gsutilz/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/__init__.py b/tools/telemetry/third_party/gsutilz/third_party/boto/boto/sqs/jsonmessage.py
similarity index 59%
copy from tools/telemetry/third_party/gsutilz/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/__init__.py
copy to tools/telemetry/third_party/gsutilz/third_party/boto/boto/sqs/jsonmessage.py
index a70e6515e01f13e404e77ef814accaa5ba5c157e..520eb8eb06e2f74b4229acbe111da5d587f3c5d8 100644
--- a/tools/telemetry/third_party/gsutilz/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/__init__.py
+++ b/tools/telemetry/third_party/gsutilz/third_party/boto/boto/sqs/jsonmessage.py
@@ -1,4 +1,4 @@
-# Copyright 2014 Google Inc. All Rights Reserved.
+# Copyright (c) 2006-2008 Mitch Garnaat http://garnaat.org/
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the
@@ -18,13 +18,26 @@
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
+import base64
-from __future__ import absolute_import
+from boto.sqs.message import MHMessage
+from boto.exception import SQSDecodeError
+from boto.compat import json
-# Import this module so that users can simply import the top-level module. Once
-# imported, boto will pick up our subclasses of AuthHandler.
-from gcs_oauth2_boto_plugin import oauth2_plugin
-from gcs_oauth2_boto_plugin.oauth2_helper import SetFallbackClientIdAndSecret
-from gcs_oauth2_boto_plugin.oauth2_helper import SetLock
+class JSONMessage(MHMessage):
+ """
+ Acts like a dictionary but encodes it's data as a Base64 encoded JSON payload.
+ """
+ def decode(self, value):
+ try:
+ value = base64.b64decode(value.encode('utf-8')).decode('utf-8')
+ value = json.loads(value)
+ except:
+ raise SQSDecodeError('Unable to decode message', self)
+ return value
+
+ def encode(self, value):
+ value = json.dumps(value)
+ return base64.b64encode(value.encode('utf-8')).decode('utf-8')

Powered by Google App Engine
This is Rietveld 408576698