Python google.appengine.api.memcache() Examples
The following are 30
code examples of google.appengine.api.memcache().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
google.appengine.api
, or try the search function
.
Example #1
Source File: users_id_token_test.py From endpoints-python with Apache License 2.0 | 6 votes |
def VerifyIdToken(self, cls, *args): with mock.patch.object(users_id_token, 'time') as mock_time,\ mock.patch.object(users_id_token, '_get_id_token_user') as mock_get: mock_time.time.return_value = 1001 mock_get.return_value = users.User('test@gmail.com') os.environ['HTTP_AUTHORIZATION'] = ('Bearer ' + self._SAMPLE_TOKEN) if args: cls.method(*args) else: users_id_token._maybe_set_current_user_vars(cls.method) mock_time.time.assert_called_once_with() mock_get.assert_called_once_with( self._SAMPLE_TOKEN, users_id_token._DEFAULT_GOOGLE_ISSUER, self._SAMPLE_AUDIENCES, (constants.API_EXPLORER_CLIENT_ID,) + self._SAMPLE_ALLOWED_CLIENT_IDS, 1001, memcache, )
Example #2
Source File: cachefactory.py From budou with Apache License 2.0 | 6 votes |
def load_cache(filename=None): """Returns a cache service. If Google App Engine Standard Environment's memcache is available, this uses memcache as the backend. Otherwise, this uses :obj:`pickle` to cache the outputs in the local file system. Args: filename (str, optional): The file path to the cache file. This is used only when :obj:`pickle` is used as the backend. Returns: A cache system (:obj:`budou.cachefactory.BudouCache`) """ try: return AppEngineMemcache() except ImportError: return PickleCache(filename)
Example #3
Source File: cachefactory.py From budou with Apache License 2.0 | 5 votes |
def set(self, key, val): """Sets a value in a key. Args: key (str): Key for the value. val (str): Value to set. """ self.memcache.set(key, val)
Example #4
Source File: cache.py From Flask with Apache License 2.0 | 5 votes |
def suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(SimpleCacheTestCase)) suite.addTest(unittest.makeSuite(FileSystemCacheTestCase)) if redis is not None: suite.addTest(unittest.makeSuite(RedisCacheTestCase)) if memcache is not None: suite.addTest(unittest.makeSuite(MemcachedCacheTestCase)) return suite
Example #5
Source File: cache.py From Flask with Apache License 2.0 | 5 votes |
def suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(SimpleCacheTestCase)) suite.addTest(unittest.makeSuite(FileSystemCacheTestCase)) if redis is not None: suite.addTest(unittest.makeSuite(RedisCacheTestCase)) if memcache is not None: suite.addTest(unittest.makeSuite(MemcachedCacheTestCase)) return suite
Example #6
Source File: remote_api_shell.py From browserscope with Apache License 2.0 | 5 votes |
def remote_api_shell(servername, appid, path, secure, rpc_server_factory): """Actually run the remote_api_shell.""" remote_api_stub.ConfigureRemoteApi(appid, path, auth_func, servername=servername, save_cookies=True, secure=secure, rpc_server_factory=rpc_server_factory) remote_api_stub.MaybeInvokeAuthentication() os.environ['SERVER_SOFTWARE'] = 'Development (remote_api_shell)/1.0' if not appid: appid = os.environ['APPLICATION_ID'] sys.ps1 = '%s> ' % appid if readline is not None: readline.parse_and_bind('tab: complete') atexit.register(lambda: readline.write_history_file(HISTORY_PATH)) if os.path.exists(HISTORY_PATH): readline.read_history_file(HISTORY_PATH) if '' not in sys.path: sys.path.insert(0, '') preimported_locals = { 'memcache': memcache, 'urlfetch': urlfetch, 'users': users, 'db': db, 'ndb': ndb, } code.interact(banner=BANNER, local=preimported_locals)
Example #7
Source File: cachefactory.py From budou with Apache License 2.0 | 5 votes |
def get(self, key): """Gets a value by a key. Args: key (str): Key to retrieve the value. Returns: Retrieved value (str or None). """ return self.memcache.get(key, None)
Example #8
Source File: cachefactory.py From budou with Apache License 2.0 | 5 votes |
def __init__(self): from google.appengine.api import memcache self.memcache = memcache
Example #9
Source File: pubsub_utils.py From cloud-pubsub-samples-python with Apache License 2.0 | 5 votes |
def get_client_from_credentials(credentials): """Creates Pub/Sub client from a given credentials and returns it.""" if credentials.create_scoped_required(): credentials = credentials.create_scoped(PUBSUB_SCOPES) http = httplib2.Http(memcache) credentials.authorize(http) return discovery.build('pubsub', 'v1', http=http)
Example #10
Source File: utils_auth.py From gsc-logger with Apache License 2.0 | 5 votes |
def get_Auth(): credentials = ServiceAccountCredentials.from_json_keyfile_name(cfg.CREDENTIAL_SERVICE, cfg.DEFAULT_SCOPES) http = httplib2.Http(memcache, timeout=60) #http = httplib2.Http() return credentials.authorize(http)
Example #11
Source File: clientsecrets.py From luci-py with Apache License 2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #12
Source File: users_id_token.py From endpoints-python with Apache License 2.0 | 4 votes |
def _get_id_token_user(token, issuers, audiences, allowed_client_ids, time_now, cache): """Get a User for the given id token, if the token is valid. Args: token: The id_token to check. issuers: dict of Issuers audiences: List of audiences that are acceptable. allowed_client_ids: List of client IDs that are acceptable. time_now: The current time as a long (eg. long(time.time())). cache: Cache to use (eg. the memcache module). Returns: A User if the token is valid, None otherwise. """ # Verify that the token is valid before we try to extract anything from it. # This verifies the signature and some of the basic info in the token. for issuer_key, issuer in issuers.items(): issuer_cert_uri = convert_jwks_uri(issuer.jwks_uri) try: parsed_token = _verify_signed_jwt_with_certs( token, time_now, cache, cert_uri=issuer_cert_uri) except Exception: # pylint: disable=broad-except _logger.debug( 'id_token verification failed for issuer %s', issuer_key, exc_info=True) continue issuer_values = _listlike_guard(issuer.issuer, 'issuer', log_warning=False) if isinstance(audiences, _Mapping): audiences = audiences[issuer_key] if _verify_parsed_token( parsed_token, issuer_values, audiences, allowed_client_ids, # There's some special handling we do for Google issuers. # ESP doesn't do this, and it's both unnecessary and invalid for other issuers. # So we'll turn it off except in the Google issuer case. is_legacy_google_auth=(issuer.issuer == _ISSUERS)): email = parsed_token['email'] # The token might have an id, but it's a Gaia ID that's been # obfuscated with the Focus key, rather than the AppEngine (igoogle) # key. If the developer ever put this email into the user DB # and retrieved the ID from that, it'd be different from the ID we'd # return here, so it's safer to not return the ID. # Instead, we'll only return the email. return users.User(email) # pylint: disable=unused-argument
Example #13
Source File: users_id_token.py From endpoints-python with Apache License 2.0 | 4 votes |
def get_verified_jwt( providers, audiences, check_authorization_header=True, check_query_arg=True, request=None, cache=memcache): """ This function will extract, verify, and parse a JWT token from the Authorization header or access_token query argument. The JWT is assumed to contain an issuer and audience claim, as well as issued-at and expiration timestamps. The signature will be cryptographically verified, the claims and timestamps will be checked, and the resulting parsed JWT body is returned. If at any point the JWT is missing or found to be invalid, the return result will be None. Arguments: providers - An iterable of dicts each containing 'issuer' and 'cert_uri' keys audiences - An iterable of valid audiences check_authorization_header - Boolean; check 'Authorization: Bearer' header check_query_arg - Boolean; check 'access_token' query arg request - Must be the request object if check_query_arg is true; otherwise ignored. cache - In testing, override the certificate cache """ if not (check_authorization_header or check_query_arg): raise ValueError( 'Either check_authorization_header or check_query_arg must be True.') if check_query_arg and request is None: raise ValueError( 'Cannot check query arg without request object.') schemes = ('Bearer',) if check_authorization_header else () keys = ('access_token',) if check_query_arg else () token = _get_token( request=request, allowed_auth_schemes=schemes, allowed_query_keys=keys) if token is None: return None time_now = long(time.time()) for provider in providers: parsed_token = _parse_and_verify_jwt( token, time_now, (provider['issuer'],), audiences, provider['cert_uri'], cache) if parsed_token is not None: return parsed_token return None
Example #14
Source File: clientsecrets.py From data with GNU General Public License v3.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #15
Source File: clientsecrets.py From data with GNU General Public License v3.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: - get(key, namespace=ns) - set(key, value, namespace=ns) Usage: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return obj.iteritems().next()
Example #16
Source File: clientsecrets.py From data with GNU General Public License v3.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: - get(key, namespace=ns) - set(key, value, namespace=ns) Usage: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return obj.iteritems().next()
Example #17
Source File: clientsecrets.py From data with GNU General Public License v3.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: - get(key, namespace=ns) - set(key, value, namespace=ns) Usage: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return obj.iteritems().next()
Example #18
Source File: clientsecrets.py From data with GNU General Public License v3.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #19
Source File: clientsecrets.py From jarvis with GNU General Public License v2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #20
Source File: remote_api_shell.py From python-compat-runtime with Apache License 2.0 | 4 votes |
def remote_api_shell(servername, appid, path, secure, rpc_server_factory, oauth2=False): """Actually run the remote_api_shell.""" if oauth2: remote_api_stub.ConfigureRemoteApiForOAuth(servername, path, secure=secure, app_id=appid) else: remote_api_stub.ConfigureRemoteApi(appid, path, auth_func, servername=servername, save_cookies=True, secure=secure, rpc_server_factory=rpc_server_factory) remote_api_stub.MaybeInvokeAuthentication() os.environ['SERVER_SOFTWARE'] = 'Development (remote_api_shell)/1.0' if not appid: appid = os.environ['APPLICATION_ID'] sys.ps1 = '%s> ' % appid if readline is not None: readline.parse_and_bind('tab: complete') atexit.register(lambda: readline.write_history_file(HISTORY_PATH)) if os.path.exists(HISTORY_PATH): readline.read_history_file(HISTORY_PATH) if '' not in sys.path: sys.path.insert(0, '') preimported_locals = { 'memcache': memcache, 'urlfetch': urlfetch, 'users': users, 'db': db, 'ndb': ndb, } code.interact(banner=BANNER, local=preimported_locals)
Example #21
Source File: clientsecrets.py From twitter-for-bigquery with Apache License 2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: - get(key, namespace=ns) - set(key, value, namespace=ns) Usage: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return obj.iteritems().next()
Example #22
Source File: clientsecrets.py From luci-py with Apache License 2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #23
Source File: clientsecrets.py From luci-py with Apache License 2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #24
Source File: clientsecrets.py From luci-py with Apache License 2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #25
Source File: clientsecrets.py From luci-py with Apache License 2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #26
Source File: clientsecrets.py From alfred-gmail with MIT License | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: * ``get(key, namespace=ns)`` * ``set(key, value, namespace=ns)`` Usage:: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return next(six.iteritems(obj))
Example #27
Source File: users_id_token_test.py From endpoints-python with Apache License 2.0 | 4 votes |
def testMaybeSetVarsFail(self, mock_time, mock_get_id_token_user): mock_time.return_value = 1001 mock_get_id_token_user.return_value = users.User('test@gmail.com') # This token should correctly result in _get_id_token_user being called os.environ['HTTP_AUTHORIZATION'] = ('Bearer ' + self._SAMPLE_TOKEN) api_instance = self.TestApiAnnotatedAtApi() # No im_self is present and no api_info can be used, so the method itself # has no access to scopes, hence scopes will be null and neither of the # token checks will occur users_id_token._maybe_set_current_user_vars(api_instance.method.im_func) self.assertNotIn('ENDPOINTS_USE_OAUTH_SCOPE', os.environ) self.assertEqual(os.getenv('ENDPOINTS_AUTH_EMAIL'), '') self.assertEqual(os.getenv('ENDPOINTS_AUTH_DOMAIN'), '') # Test the same works when using the method and not im_func os.environ.pop('ENDPOINTS_AUTH_EMAIL') os.environ.pop('ENDPOINTS_AUTH_DOMAIN') users_id_token._maybe_set_current_user_vars(api_instance.method) self.assertEqual(os.getenv('ENDPOINTS_AUTH_EMAIL'), 'test@gmail.com') mock_get_id_token_user.assert_called_once_with( self._SAMPLE_TOKEN, users_id_token._DEFAULT_GOOGLE_ISSUER, self._SAMPLE_AUDIENCES, (constants.API_EXPLORER_CLIENT_ID,) + self._SAMPLE_ALLOWED_CLIENT_IDS, 1001, memcache) mock_get_id_token_user.reset_mock() # Test that it works using the api info from the API os.environ.pop('ENDPOINTS_AUTH_EMAIL') os.environ.pop('ENDPOINTS_AUTH_DOMAIN') users_id_token._maybe_set_current_user_vars(api_instance.method.im_func, api_info=api_instance.api_info) self.assertEqual(os.getenv('ENDPOINTS_AUTH_EMAIL'), 'test@gmail.com') mock_get_id_token_user.assert_called_once_with( self._SAMPLE_TOKEN, users_id_token._DEFAULT_GOOGLE_ISSUER, self._SAMPLE_AUDIENCES, (constants.API_EXPLORER_CLIENT_ID,) + self._SAMPLE_ALLOWED_CLIENT_IDS, 1001, memcache)
Example #28
Source File: clientsecrets.py From earthengine with MIT License | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: - get(key, namespace=ns) - set(key, value, namespace=ns) Usage: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return obj.iteritems().next()
Example #29
Source File: clientsecrets.py From splunk-ref-pas-code with Apache License 2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: - get(key, namespace=ns) - set(key, value, namespace=ns) Usage: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return obj.iteritems().next()
Example #30
Source File: clientsecrets.py From sndlatr with Apache License 2.0 | 4 votes |
def loadfile(filename, cache=None): """Loading of client_secrets JSON file, optionally backed by a cache. Typical cache storage would be App Engine memcache service, but you can pass in any other cache client that implements these methods: - get(key, namespace=ns) - set(key, value, namespace=ns) Usage: # without caching client_type, client_info = loadfile('secrets.json') # using App Engine memcache service from google.appengine.api import memcache client_type, client_info = loadfile('secrets.json', cache=memcache) Args: filename: string, Path to a client_secrets.json file on a filesystem. cache: An optional cache service client that implements get() and set() methods. If not specified, the file is always being loaded from a filesystem. Raises: InvalidClientSecretsError: In case of a validation error or some I/O failure. Can happen only on cache miss. Returns: (client_type, client_info) tuple, as _loadfile() normally would. JSON contents is validated only during first load. Cache hits are not validated. """ _SECRET_NAMESPACE = 'oauth2client:secrets#ns' if not cache: return _loadfile(filename) obj = cache.get(filename, namespace=_SECRET_NAMESPACE) if obj is None: client_type, client_info = _loadfile(filename) obj = {client_type: client_info} cache.set(filename, obj, namespace=_SECRET_NAMESPACE) return obj.iteritems().next()