10.1.2. URL Parser for HTTP Client

class pytan3.http_client.UrlParser(url, default_scheme='')[source]

Bases: object

Parse a URL and ensure it has the neccessary bits.

__init__(url, default_scheme='')[source]

Constructor.

Parameters:
  • url (str) – URL to parse
  • default_scheme (str, optional) –

    If no scheme in URL, use this.

    Defaults to: “”

Raises:

exceptions.ModuleError – If parsed URL winds up without a hostname, port, or scheme.

_init_url = None

str – Initial URL provided.

_init_scheme = None

str – Default scheme provided.

_init_parsed = None

urllib.parse.ParseResult – First pass of parsing URL.

parsed = None

urllib.parse.ParseResult – Second pass of parsing URL.

__str__()[source]

Show object info.

Returns:str
__repr__()[source]

Show object info.

Returns:str
hostname

Hostname part from UrlParser.parsed.

Returns:str
port

Port part from UrlParser.parsed.

Returns:int
scheme

Scheme part from UrlParser.parsed.

Returns:str
url

Get scheme, hostname, and port from UrlParser.parsed.

Returns:str
url_full

Get full URL from UrlParser.parsed.

Returns:str
parsed_str

Create string of UrlParser.parsed.

Returns:str
make_netloc(host, port)[source]

Create netloc from host and port.

Parameters:
  • host (str) – Host part to use in netloc.
  • port (str) – Port part to use in netloc.
Returns:

str

reparse(parsed, default_scheme='')[source]

Reparse a parsed URL into a parsed URL with values fixed.

Parameters:
  • parsed (urllib.parse.ParseResult) – Parsed URL to reparse.
  • default_scheme (str, optional) –

    If no scheme in URL, use this.

    Defaults to: “”

Returns:

urllib.parse.ParseResult

unparse_base(p)[source]

Unparse a parsed URL into just the scheme, hostname, and port parts.

Parameters:p (urllib.parse.ParseResult) – Parsed URL to unparse.
Returns:str
unparse_all(p)[source]

Unparse a parsed URL with all the parts.

Parameters:p (urllib.parse.ParseResult) – Parsed URL to unparse.
Returns:str