code: def parse(cls, uri):
  		
  		uri_components = urlsplit(uri)
  		adapter_fn = lambda x: x if x is not None and (isinstance(x, str) is False or len(x)) > 0 else None
  
  		return cls(
  			scheme=adapter_fn(uri_components.scheme),
  			username=adapter_fn(uri_components.username),
  			password=adapter_fn(uri_components.password),
  			hostname=adapter_fn(uri_components.hostname),
  			port=adapter_fn(uri_components.port),
  			path=adapter_fn(uri_components.path),
  			query=adapter_fn(uri_components.query),
  			fragment=adapter_fn(uri_components.fragment),
  		)
docs: Parse URI-string and return WURI object
  
  		:param uri: string to parse
  		:return: WURI