def connect(api_key=None, api_secret=None, app_id=None, version='v1.0', timeout=3.0, location=None): ''' Returns a Client object :param api_key: your api key or heroku url :param api_secret: the api secret :param app_id: the app id (used for listening to feed changes) ''' from stream.client import StreamClient stream_url = os.environ.get('STREAM_URL') # support for the heroku STREAM_URL syntax if stream_url and not api_key: pattern = re.compile( 'https\:\/\/(\w+)\:(\w+)\@([\w-]*).*\?app_id=(\d+)', re.IGNORECASE) result = pattern.match(stream_url) if result and len(result.groups()) == 4: api_key, api_secret, location, app_id = result.groups() location = None if location == 'getstream' else location else: raise ValueError('Invalid api key or heroku url') return StreamClient(api_key, api_secret, app_id, version, timeout, location=location)
def connect( api_key=None, api_secret=None, app_id=None, version="v1.0", timeout=3.0, location=None, base_url=None, ): """ Returns a Client object :param api_key: your api key or heroku url :param api_secret: the api secret :param app_id: the app id (used for listening to feed changes) """ from stream.client import StreamClient stream_url = os.environ.get("STREAM_URL") # support for the heroku STREAM_URL syntax if stream_url and not api_key: pattern = re.compile( r"https\:\/\/(\w+)\:(\w+)\@([\w-]*).*\?app_id=(\d+)", re.IGNORECASE) result = pattern.match(stream_url) if result and len(result.groups()) == 4: api_key, api_secret, location, app_id = result.groups() location = None if location in ("getstream", "stream-io-api") else location else: raise ValueError("Invalid api key or heroku url") return StreamClient( api_key, api_secret, app_id, version, timeout, location=location, base_url=base_url, )