diff env/lib/python3.7/site-packages/boto/roboto/awsqueryservice.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/boto/roboto/awsqueryservice.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-from __future__ import print_function
-import os
-import urlparse
-import boto
-import boto.connection
-import boto.jsonresponse
-import boto.exception
-from boto.roboto import awsqueryrequest
-
-class NoCredentialsError(boto.exception.BotoClientError):
-
-    def __init__(self):
-        s = 'Unable to find credentials'
-        super(NoCredentialsError, self).__init__(s)
-
-class AWSQueryService(boto.connection.AWSQueryConnection):
-
-    Name = ''
-    Description = ''
-    APIVersion = ''
-    Authentication = 'sign-v2'
-    Path = '/'
-    Port = 443
-    Provider = 'aws'
-    EnvURL = 'AWS_URL'
-
-    Regions = []
-
-    def __init__(self, **args):
-        self.args = args
-        self.check_for_credential_file()
-        self.check_for_env_url()
-        if 'host' not in self.args:
-            if self.Regions:
-                region_name = self.args.get('region_name',
-                                            self.Regions[0]['name'])
-                for region in self.Regions:
-                    if region['name'] == region_name:
-                        self.args['host'] = region['endpoint']
-        if 'path' not in self.args:
-            self.args['path'] = self.Path
-        if 'port' not in self.args:
-            self.args['port'] = self.Port
-        try:
-            super(AWSQueryService, self).__init__(**self.args)
-            self.aws_response = None
-        except boto.exception.NoAuthHandlerFound:
-            raise NoCredentialsError()
-
-    def check_for_credential_file(self):
-        """
-        Checks for the existence of an AWS credential file.
-        If the environment variable AWS_CREDENTIAL_FILE is
-        set and points to a file, that file will be read and
-        will be searched credentials.
-        Note that if credentials have been explicitelypassed
-        into the class constructor, those values always take
-        precedence.
-        """
-        if 'AWS_CREDENTIAL_FILE' in os.environ:
-            path = os.environ['AWS_CREDENTIAL_FILE']
-            path = os.path.expanduser(path)
-            path = os.path.expandvars(path)
-            if os.path.isfile(path):
-                fp = open(path)
-                lines = fp.readlines()
-                fp.close()
-                for line in lines:
-                    if line[0] != '#':
-                        if '=' in line:
-                            name, value = line.split('=', 1)
-                            if name.strip() == 'AWSAccessKeyId':
-                                if 'aws_access_key_id' not in self.args:
-                                    value = value.strip()
-                                    self.args['aws_access_key_id'] = value
-                            elif name.strip() == 'AWSSecretKey':
-                                if 'aws_secret_access_key' not in self.args:
-                                    value = value.strip()
-                                    self.args['aws_secret_access_key'] = value
-            else:
-                print('Warning: unable to read AWS_CREDENTIAL_FILE')
-
-    def check_for_env_url(self):
-        """
-        First checks to see if a url argument was explicitly passed
-        in.  If so, that will be used.  If not, it checks for the
-        existence of the environment variable specified in ENV_URL.
-        If this is set, it should contain a fully qualified URL to the
-        service you want to use.
-        Note that any values passed explicitly to the class constructor
-        will take precedence.
-        """
-        url = self.args.get('url', None)
-        if url:
-            del self.args['url']
-        if not url and self.EnvURL in os.environ:
-            url = os.environ[self.EnvURL]
-        if url:
-            rslt = urlparse.urlparse(url)
-            if 'is_secure' not in self.args:
-                if rslt.scheme == 'https':
-                    self.args['is_secure'] = True
-                else:
-                    self.args['is_secure'] = False
-
-            host = rslt.netloc
-            port = None
-            l = host.split(':')
-            if len(l) > 1:
-                host = l[0]
-                port = int(l[1])
-            if 'host' not in self.args:
-                self.args['host'] = host
-            if port and 'port' not in self.args:
-                self.args['port'] = port
-
-            if rslt.path and 'path' not in self.args:
-                self.args['path'] = rslt.path
-
-    def _required_auth_capability(self):
-        return [self.Authentication]
-