(original) (raw)
On 06/14/2012 01:53 PM, Antoine Pitrou wrote:
\* is\_implemented : bool True if the parameter is implemented for use. Some platforms implement functions but can't support specific parameters (e.g. "mode" for \`\`os.mkdir\`\`). Passing in an unimplemented parameter may result in the parameter being ignored, or in NotImplementedError being raised. It is intended that all conditions where \`\`is\_implemented\`\` may be False be thoroughly documented.I don't understand what the purpose of is\_implemented is, or how it is supposed to be computed.
It's computed based on locally available functionality. Its purpose is to allow LBYL when using functionality that may not be available on all platforms. See issue 14626 for a specific use-case--which is why I pushed for this.
When all the chips fall into place, I expect to have some code that looks like this:
os.chown.\_\_signature\_\_.parameters\['fd'\].is\_implemented \= sysconfig.get\_config\_var('HAVE\_FCHOWN')That's oversimplified (and almost certainly not spelled correctly) but you get the general idea. os.chown will soon sprout an "fd" parameter, but it will only work on platforms where we have fchown(). Using it will result in a NotImplementedError. But some folks want to LBYL.
/arry