SilentGhost <[email protected]> added the comment:
Here is a patch incorporating some of the changes proposed by Eric:
* drop callback, return generator of (filename, fact-dict)
> Aren't you modifying the state on the server (via "OPTS MLST"), and then if
> you make a subsequent call without specifying "facts" you'll be using the
> value of "facts" from the previous call to MLSD? I don't think that's
> desirable, but short of calling "OPTS MLST" every time (possibly with the
> results of an initial FEAT) there's no way around it.
This is the behaviour according to RFC. MLSD will return the set of facts,
until a new OPTS MLST issued.
> I don't like the "isdigit" test. Shouldn't this decision be left to the
> caller? What if a fact happens to look like an integer some of the time, but
> not always? Maybe "unique" is a hex string. I don't think you'd want it
> converted to an int on the occasions where it was all decimal digits, but a
> string otherwise. Also look at your "modify" facts. Those are not very useful
> as ints.
Drop the isdigit test: some value such as timestamps ('modify') might be
"digits" for one files and would remain strings for the others.
> If a fact=value string does not have an '=', you silently ignore it. I'd
> rather this raise an exception and not pass silently. It's not compliant. You
> should have a test for this.
I don't think it should raise an error, i'd rather just pass it to the caller.
There is a wide variety of possible non-compliant responses. For example there
is a rigid format for time stamps, do we have to check for that?
One thing, that my patch doesn't do at the moment, but I think would be useful
is to normalise all fact names to lower case. What do you think?
I hope that MLSD_DATA now covers wider range of cases (it's from
http://tools.ietf.org/html/rfc3659#section-7.7.4). Note that server MUST NOT
return facts that weren't requested.
What would be the return values check here?
----------
Added file: http://bugs.python.org/file21047/issue11072.diff
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue11072>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com