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