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

Side by Side Diff: boto/sdb/connection.py

Issue 8386013: Merging in latest boto. (Closed) Base URL: svn://svn.chromium.org/boto
Patch Set: Redoing vendor drop by deleting and then merging. Created 9 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « boto/sdb/__init__.py ('k') | boto/sdb/db/blob.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2006,2007 Mitch Garnaat http://garnaat.org/ 1 # Copyright (c) 2006,2007 Mitch Garnaat http://garnaat.org/
2 # 2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a 3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the 4 # copy of this software and associated documentation files (the
5 # "Software"), to deal in the Software without restriction, including 5 # "Software"), to deal in the Software without restriction, including
6 # without limitation the rights to use, copy, modify, merge, publish, dis- 6 # without limitation the rights to use, copy, modify, merge, publish, dis-
7 # tribute, sublicense, and/or sell copies of the Software, and to permit 7 # tribute, sublicense, and/or sell copies of the Software, and to permit
8 # persons to whom the Software is furnished to do so, subject to the fol- 8 # persons to whom the Software is furnished to do so, subject to the fol-
9 # lowing conditions: 9 # lowing conditions:
10 # 10 #
11 # The above copyright notice and this permission notice shall be included 11 # The above copyright notice and this permission notice shall be included
12 # in all copies or substantial portions of the Software. 12 # in all copies or substantial portions of the Software.
13 # 13 #
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- 15 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
16 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 16 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
17 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 17 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
18 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20 # IN THE SOFTWARE. 20 # IN THE SOFTWARE.
21 21
22 import xml.sax 22 import xml.sax
23 import threading 23 import threading
24 import boto
24 from boto import handler 25 from boto import handler
25 from boto.connection import AWSQueryConnection 26 from boto.connection import AWSQueryConnection
26 from boto.sdb.domain import Domain, DomainMetaData 27 from boto.sdb.domain import Domain, DomainMetaData
27 from boto.sdb.item import Item 28 from boto.sdb.item import Item
28 from boto.sdb.regioninfo import SDBRegionInfo 29 from boto.sdb.regioninfo import SDBRegionInfo
29 from boto.exception import SDBResponseError 30 from boto.exception import SDBResponseError
30 31
31 class ItemThread(threading.Thread): 32 class ItemThread(threading.Thread):
32 """ 33 """
33 A threaded :class:`Item <boto.sdb.item.Item>` retriever utility class. 34 A threaded :class:`Item <boto.sdb.item.Item>` retriever utility class.
34 Retrieved :class:`Item <boto.sdb.item.Item>` objects are stored in the 35 Retrieved :class:`Item <boto.sdb.item.Item>` objects are stored in the
35 ``items`` instance variable after 36 ``items`` instance variable after :py:meth:`run() <run>` is called.
36 :py:meth:`run() <run>` is called.
37 37
38 .. tip:: 38 .. tip:: The item retrieval will not start until
39 The item retrieval will not start until the 39 the :func:`run() <boto.sdb.connection.ItemThread.run>` method is called.
40 :func:`run() <boto.sdb.connection.ItemThread.run>` method is called.
41 """ 40 """
42 def __init__(self, name, domain_name, item_names): 41 def __init__(self, name, domain_name, item_names):
43 """ 42 """
44 :param str name: A thread name. Used for identification. 43 :param str name: A thread name. Used for identification.
45 :param str domain_name: The name of a SimpleDB 44 :param str domain_name: The name of a SimpleDB
46 :class:`Domain <boto.sdb.domain.Domain>` 45 :class:`Domain <boto.sdb.domain.Domain>`
47 :type item_names: string or list of strings 46 :type item_names: string or list of strings
48 :param item_names: The name(s) of the items to retrieve from the specifi ed 47 :param item_names: The name(s) of the items to retrieve from the specifi ed
49 :class:`Domain <boto.sdb.domain.Domain>`. 48 :class:`Domain <boto.sdb.domain.Domain>`.
50 :ivar list items: A list of items retrieved. Starts as empty list. 49 :ivar list items: A list of items retrieved. Starts as empty list.
(...skipping 29 matching lines...) Expand all
80 """ 79 """
81 DefaultRegionName = 'us-east-1' 80 DefaultRegionName = 'us-east-1'
82 DefaultRegionEndpoint = 'sdb.amazonaws.com' 81 DefaultRegionEndpoint = 'sdb.amazonaws.com'
83 APIVersion = '2009-04-15' 82 APIVersion = '2009-04-15'
84 ResponseError = SDBResponseError 83 ResponseError = SDBResponseError
85 84
86 def __init__(self, aws_access_key_id=None, aws_secret_access_key=None, 85 def __init__(self, aws_access_key_id=None, aws_secret_access_key=None,
87 is_secure=True, port=None, proxy=None, proxy_port=None, 86 is_secure=True, port=None, proxy=None, proxy_port=None,
88 proxy_user=None, proxy_pass=None, debug=0, 87 proxy_user=None, proxy_pass=None, debug=0,
89 https_connection_factory=None, region=None, path='/', 88 https_connection_factory=None, region=None, path='/',
90 converter=None): 89 converter=None, security_token=None):
91 """ 90 """
92 For any keywords that aren't documented, refer to the parent class, 91 For any keywords that aren't documented, refer to the parent class,
93 :py:class:`boto.connection.AWSAuthConnection`. You can avoid having 92 :py:class:`boto.connection.AWSAuthConnection`. You can avoid having
94 to worry about these keyword arguments by instantiating these objects 93 to worry about these keyword arguments by instantiating these objects
95 via :py:func:`boto.connect_sdb`. 94 via :py:func:`boto.connect_sdb`.
96 95
97 :type region: :class:`boto.sdb.regioninfo.SDBRegionInfo` 96 :type region: :class:`boto.sdb.regioninfo.SDBRegionInfo`
98 :keyword region: Explicitly specify a region. Defaults to ``us-east-1`` 97 :keyword region: Explicitly specify a region. Defaults to ``us-east-1``
99 if not specified. 98 if not specified. You may also specify the region in your ``boto.cfg ``:
99
100 .. code-block:: cfg
101
102 [SDB]
103 region = eu-west-1
104
100 """ 105 """
101 if not region: 106 if not region:
102 region = SDBRegionInfo(self, self.DefaultRegionName, 107 region_name = boto.config.get('SDB', 'region', self.DefaultRegionNam e)
103 self.DefaultRegionEndpoint) 108 for reg in boto.sdb.regions():
109 if reg.name == region_name:
110 region = reg
111 break
112
104 self.region = region 113 self.region = region
105 AWSQueryConnection.__init__(self, aws_access_key_id, 114 AWSQueryConnection.__init__(self, aws_access_key_id,
106 aws_secret_access_key, 115 aws_secret_access_key,
107 is_secure, port, proxy, 116 is_secure, port, proxy,
108 proxy_port, proxy_user, proxy_pass, 117 proxy_port, proxy_user, proxy_pass,
109 self.region.endpoint, debug, 118 self.region.endpoint, debug,
110 https_connection_factory, path) 119 https_connection_factory, path,
120 security_token=security_token)
111 self.box_usage = 0.0 121 self.box_usage = 0.0
112 self.converter = converter 122 self.converter = converter
113 self.item_cls = Item 123 self.item_cls = Item
114 124
115 def _required_auth_capability(self): 125 def _required_auth_capability(self):
116 return ['sdb'] 126 return ['sdb']
117 127
118 def set_item_cls(self, cls): 128 def set_item_cls(self, cls):
119 """ 129 """
120 While the default item class is :py:class:`boto.sdb.item.Item`, this 130 While the default item class is :py:class:`boto.sdb.item.Item`, this
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 if consistent_read: 608 if consistent_read:
599 params['ConsistentRead'] = 'true' 609 params['ConsistentRead'] = 'true'
600 if next_token: 610 if next_token:
601 params['NextToken'] = next_token 611 params['NextToken'] = next_token
602 try: 612 try:
603 return self.get_list('Select', params, [('Item', self.item_cls)], 613 return self.get_list('Select', params, [('Item', self.item_cls)],
604 parent=domain) 614 parent=domain)
605 except SDBResponseError, e: 615 except SDBResponseError, e:
606 e.body = "Query: %s\n%s" % (query, e.body) 616 e.body = "Query: %s\n%s" % (query, e.body)
607 raise e 617 raise e
OLDNEW
« no previous file with comments | « boto/sdb/__init__.py ('k') | boto/sdb/db/blob.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698