<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#330033">
    <div class="moz-cite-prefix">On 6/30/2014 4:25 PM, Devin Jeanpierre
      wrote:<br>
    </div>
    <blockquote
cite="mid:CABicbJJRgzwUC8UvK4=+GbmQ3VHwVOjx9qCm8qYZ1RmERGrn1Q@mail.gmail.com"
      type="cite">
      <pre wrap="">On Mon, Jun 30, 2014 at 3:07 PM, Tim Delaney
<a class="moz-txt-link-rfc2396E" href="mailto:timothy.c.delaney@gmail.com"><timothy.c.delaney@gmail.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On 1 July 2014 03:05, Ben Hoyt <a class="moz-txt-link-rfc2396E" href="mailto:benhoyt@gmail.com"><benhoyt@gmail.com></a> wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">
</pre>
          <blockquote type="cite">
            <pre wrap="">So, here's my alternative proposal: add an "ensure_lstat" flag to
scandir() itself, and don't have *any* methods on DirEntry, only
attributes.
</pre>
          </blockquote>
          <pre wrap="">...

</pre>
          <blockquote type="cite">
            <pre wrap="">Most importantly, *regardless of platform*, the cached stat result (if
not None) would reflect the state of the entry at the time the
directory was scanned, rather than at some arbitrary later point in
time when lstat() was first called on the DirEntry object.
</pre>
          </blockquote>
        </blockquote>
        <pre wrap="">

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.
</pre>
      </blockquote>
      <pre wrap="">
This won't work well if lstat info is only needed for some entries. Is
that a common use-case? It was mentioned earlier in the thread.
</pre>
    </blockquote>
    <br>
    If it is, use ensure_lstat=False, and use the proposed (by me)
    .refresh() API to update the data for those that need it.<br>
  </body>
</html>