so are we worried that __fspath__ will exist and be callable, but might raise an AttributeError somewhere inside itself? if so isn't it broken anyway, so should it be ignored?
and I know it's asking poermission rather than forgiveness, but what's wrong with: if hasattr(path, "__fspath__"): path = path.__fspath__() if you really want to check for the existence of the attribute first? or even: path = path.__fspath__ if hasattr(path, "__fspath__") else path (OK, really a Pythonic style question now....) -CHB On Wed, Apr 13, 2016 at 12:54 PM, Brett Cannon <br...@python.org> wrote: > > > On Wed, 13 Apr 2016 at 12:39 Fred Drake <f...@fdrake.net> wrote: > >> On Wed, Apr 13, 2016 at 3:24 PM, Chris Angelico <ros...@gmail.com> wrote: >> > Is that the intention, or should the exception catching be narrower? I >> > know it's clunky to write it in Python, but AIUI it's less so in C: >> > >> > try: >> > callme = path.__fspath__ >> > except AttributeError: >> > pass >> > else: >> > path = callme() >> >> +1 for this variant; I really don't like masking errors inside the >> __fspath__ implementation. >> > > Don't read too much into the code in that gist. I just did them quickly to > get the point across of the proposals in terms of str/bytes, not what will > be proposed in any final patch. > > _______________________________________________ > 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/chris.barker%40noaa.gov > > -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov
_______________________________________________ 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