On 1 July 2014 08:38, Ethan Furman <ethan@stoneleaf.us> wrote:
On 06/30/2014 03:07 PM, Tim Delaney wrote:
I'm torn between whether I'd prefer the stat fields to be populated
on Windows if ensure_lstat=False or not. There are good arguments each
 way, but overall I'm inclining towards having it consistent with POSIX
- don't populate them unless ensure_lstat=True.

+0 for stat fields to be None on all platforms unless ensure_lstat=True.

If a Windows user just needs the free info, why should s/he have to pay the price of a full stat call?  I see no reason to hold the Windows side back and not take advantage of what it has available.  There are plenty of posix calls that Windows is not able to use, after all.

On Windows ensure_lstat would either be either a NOP (if the fields are always populated), or it simply determines if the fields get populated. No extra stat call.

On POSIX it's the difference between an extra stat call or not.

Tim Delaney