linkahead.connection.utils module
Utility functions for the connection module.
- linkahead.connection.utils.auth_token_to_cookie(auth_token: str) str
auth_token_to_cookie.
Urlencode an auth token string and format it as a cookie.
- linkahead.connection.utils.make_uri_path(segments: list[str] | None = None, query: dict[str, str | None] | None = None) str
Url-encode all segments, concat them with slashes and append the query.
Examples
>>> make_uri_path(['a','b']) 'a/b' >>> make_uri_path(['a','ö']) 'a/%C3%B6' >>> make_uri_path(['a','b'], {'key': 'val'}) 'a/b?key=val'
- linkahead.connection.utils.parse_auth_token(cookie: str | None) str | None
parse_auth_token.
Parse an auth token from a cookie.
- linkahead.connection.utils.urlencode(query: dict[str, str | None]) str
Convert a dict of into a url-encoded (unicode) string.
This is basically a python2/python3 compatibility wrapper for the respective functions in the urllib module with some slight modifications.
1) A None is translated to an empty string. >>> urlencode({‘key’: None}) ‘key=’
2) Unicode strings are allowed for python2. >>> urlencode({‘kèy’: ‘välüe’}) ‘k%C3%A8y=v%C3%A4l%C3%BCe’
3) All other parameters which can be passed to the respective functions are not implemented here and the default parameters will be used.
>>> urlencode({'key': ['val1', 'val2']}, doseq=True) Traceback (most recent call last): ... TypeError: urlencode() got an unexpected keyword argument 'doseq'
Otherwise, this functions works exactly as its counterparts in the urllib modules when they are called with only the query parameter.
- querydict
A dict of str or unicode keys with None, unicode or str values.
- str
A series of key=value pairs separated by &.
- AttributeError
If a key or a value does not have a ‘encode’ method.