code: def resolve(self, uri=None, **parts):
  		
  		
  		if uri:
  			result = self.__class__(urljoin(str(self), str(uri)))
  		else:
  			result = self.__class__(self)
  		
  		for part, value in parts.items():
  			if part not in self.__all_parts__:
  				raise TypeError("Unknown URI component: " + part)
  			
  			setattr(result, part, value)
  		
  		return result
docs: Attempt to resolve a new URI given an updated URI, partial or complete.