On 04/06/2016 11:32 AM, Brett Cannon wrote:
On Wed, 6 Apr 2016 at 11:06 Ethan Furman wrote:
On 04/06/2016 10:26 AM, Brett Cannon wrote:

Now we need clear details. :) Some open questions are:

 1. Name: __path__, __fspath__, or something else?

__fspath__

+1 for __path__, +0 for __fspath__ (I don't know how widespread the
notion that "fs" means "file system" is).

Maybe __os_path__ then? I would rather be explicit about the type of path we are dealing with -- who knows if we won't have __url_path__ in the future (besides Guido, of course ;)


   def fspath(path):
       try:
           return path.__path__()
       except AttributeError:
           if isinstance(path, str):
               return path
       raise TypeError  # Or NotImplementedError?

Or you can drop the isinstance() check and [...]

If the purpose of fspath() is to return a usable path-as-string then we should raise if unable to do it.

If we add str.__fspath__ then the function becomes:

   def fspath(path):
       return path.__fspath__()

Which might be too simplistic for a built-in, but that also means adding
it on str would potentially negate the need for a built-in.

That is an attractive option.

--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to