08:43 Changeset [1706:04919ae88997] by Stefan Schwarzer <sschwarzer@…>
defaultChange "register" to "upload" New packages should meanwhile be uploaded to PyPI, not just be registered.
08:42 Documentation edited by schwa
08:39 Milestone 3.4 completed
08:37 ftputil-3.4.tar.gz attached to Download by schwa
08:37 Download edited by schwa
Add table row for ftputil 3.4 (diff)
08:33 Changeset [1705:c8b54de02a4d] by Stefan Schwarzer <sschwarzer@…>
defaultAdded tag release3_4 for changeset 97e1e1d0456c
08:31 Changeset [1704:97e1e1d0456c] by Stefan Schwarzer <sschwarzer@…>
defaultAdd `locally-disabled` to checks to exclude These messages clutter the output.
08:28 Changeset [1703:dbb73e1fa806] by Stefan Schwarzer <sschwarzer@…>
defaultAdd `bad-continuation` to checks to exclude Pylint is far to picky here and rejects continuations that are allowed by PEP 8.
08:24 Changeset [1702:9d55cee384ec] by Stefan Schwarzer <sschwarzer@…>
defaultIncrease year in copyright note
08:18 Changeset [1701:b2458e829006] by Stefan Schwarzer <sschwarzer@…>
defaultChange dependency `register` to `upload` The target `register` no longer exists in the Makefile. Tarballs are no longer merely "registered", but also uploaded to PyPI.
08:16 Changeset [1700:c2d1df5941ab] by Stefan Schwarzer <sschwarzer@…>
defaultPoint out we make a distribution tarball (not just preparing it)
08:09 Changeset [1699:906d7eda1e0b] by Stefan Schwarzer <sschwarzer@…>
defaultAdd remark on "missing" ftp.microsoft.com
07:54 Changeset [1698:97f5bfb96c1a] by Stefan Schwarzer <sschwarzer@…>
defaultPatch version and release date
07:53 Changeset [1697:3fdafd40c78a] by Stefan Schwarzer <sschwarzer@…>
defaultBe explicit about the kind of users We're talking about the users of the library, not the end users that will use the library without knowing about it.


21:02 Ticket #116 (Deal with Pylint messages) created by schwa
At the moment, there are lots of messages from Pylint. I usually only read …
20:22 Changeset [1696:f6f15214652a] by Stefan Schwarzer <sschwarzer@…>
defaultMention explicit make command (`make tox_test`)
20:21 Changeset [1695:b73b38281645] by Stefan Schwarzer <sschwarzer@…>
defaultChange `py34` to `py35` The default Python on my current Linux machine is Python 3.5, not Python 3.4. Hence, `py35` avoids that I have to jump through hoops to run the tests on Python 3.4.
19:05 Changeset [1694:fbc3763b574f] by Stefan Schwarzer <sschwarzer@…>
defaultAdd email addresses to `README.release` Avoid unnecessary searches for the email addresses of the ftputil and the python-announce mailing lists.
18:59 Changeset [1693:3e8f94e0ba63] by Stefan Schwarzer <sschwarzer@…>
defaultUpdate README file Mention bug fixes in ftputil 3.4 as well as the upcoming incompatibilities in ftputil 4.0.0.
18:58 Changeset [1692:ef338e57de47] by Stefan Schwarzer <sschwarzer@…>
defaultRemove note on Python programming language By now everyone knows what Python is (unlike 15 years ago, when ftputil 1.0 was released). ;-)
18:52 Changeset [1691:0296a2f3d118] by Stefan Schwarzer <sschwarzer@…>
defaultIncrease version to 3.4
18:48 Changeset [1690:107aeb7e9ca4] by Stefan Schwarzer <sschwarzer@…>
defaultAdd announcement for ftputil 3.4
18:19 Changeset [1689:19c512e280ca] by Stefan Schwarzer <sschwarzer@…>
defaultChange "dropped" to "removed" Use a more explicit word for this important change in ftputil 4.x.x. Especially non-native speakers won't miss "removed" as easily "dropped".


13:13 Download edited by schwa
Describe how to install ftputil with pip (diff)
10:18 WikiStart edited by schwa
Remove comment part on binary mode (diff)
00:35 Changeset [1688:93401904f9bc] by Stefan Schwarzer <sschwarzer@…>
defaultAdd deprecation warning about `use_list_a_option` Tell other developers that the default of `use_list_a_option` will change in future ftputil versions. As this is a backward-incompatible change, it can only be changed in a new major version, i. e. ftputil 4.0.0. See ticket #110 for the reason of the change.
00:15 Ticket #115 (Use TLS on website) created by schwa
It's high time to move to TLS, i. e. turn http://ftputil.sschwarzer.net


23:54 Ticket #111 (Add deprecation warnings on dropping Python 2 support) closed by schwa
fixed: Fixed in [c48d3e1a3e8a]. This change issues a deprecation warning under …
23:53 Changeset [1687:c48d3e1a3e8a] by Stefan Schwarzer <sschwarzer@…>
defaultEmit deprecation warning when used under Python 2 If Python is run with deprecation warnings enabled (say, with the `-Wd` option), an import of `ftputil` will show a deprecation warning under Python 2. ftputil 4.0.0 (to be released this or next year) will drop Python 2 support. See also http://lists.sschwarzer.net/pipermail/ftputil/2017q3/000465.html ticket: 111
23:28 Ticket #109 (LICENSE missing from sdist) closed by schwa
23:27 Changeset [1686:c0463bfcfccb] by Stefan Schwarzer <sschwarzer@…>
defaultAdd `LICENSE` file ticket: 109
23:26 Changeset [1685:966520910602] by Stefan Schwarzer <sschwarzer@…>
defaultUse `-exec` instead of `xargs` Instead of piping the `find` output into `xargs`, use the `-exec` option of `find` to remove files and directories. Using `xargs` causes problems if nothing is found; in this case we get a message like rm: missing operand and the make target (`clean`) fails.
23:15 Changeset [1684:a0a8365cdb12] by Stefan Schwarzer <sschwarzer@…>
defaultExtract method `_is_file_system_entity` Extract `_is_file_system_entity` as the common code of `ftputil.path._Path.isdir` and `ftputil.path._Path.isfile`. For this change, I'm a bit torn between increasing the complexity by another indirection vs. removing almost all redundancy between the two methods. For now, favor the redundancy removal.
22:55 Changeset [1683:6f9cfd296288] by Stefan Schwarzer <sschwarzer@…>
defaultPut `isdir` before `isfile` Sort `isdir`, `isfile` and `islink` alphabetically. This is the same order in that they're tested in the unit tests.
22:51 Ticket #107 (untrapped exception) closed by schwa
fixed: Fixed in [ec059f9d9dc8]. FTPHost.path.isdir and FTPHost.path.isfile
22:49 Changeset [1682:ec059f9d9dc8] by Stefan Schwarzer <sschwarzer@…>
defaultHandle infinite link chains in `isdir` and `isfile` If `FTPHost.path.isdir` and `FTPHost.path.isfile` run into an infinite link chain, return `False`, as the corresponding functions in `os.path` do. Before, `isdir` and `isfile` would raise a `PermanentError` with the information that a recursive link chain was detected. This behavior, in turn, led to a failure in `FTPHost.walk` (see ticket #107). ticket: 107
20:47 Changeset [1681:7cfac974784c] by Stefan Schwarzer <sschwarzer@…>
defaultAdd comment on `set_pasv` call When I looked at the code, I thought for a moment it was buggy because `set_pasv` was called even if `use_passive_mode` was `False`. As it turns out, according to the documentation `set_pasv` can either be called with `True` (=use passive mode) or `False` (=use active mode).
19:41 Changeset [1680:65a09765b238] by Stefan Schwarzer <sschwarzer@…>
defaultAdd comment on `getcwd` call Mention that `normpath` has already been applied to the `getcwd` result, so the reader doesn't have to wonder whether there should also be calls to `normpath` on the `getcwd` results. ticket: 113
19:38 Ticket #113 (isdir fails because of trailing forward slash) closed by schwa
fixed: Fixed in commits [b4c9b089b6b8] and [4027740cdd2d].
19:33 Changeset [1679:80aa676d81b5] by Stefan Schwarzer <sschwarzer@…>
defaultAdd TODO comment We can't add the comment in [4027740cdd2d] because this would change the hash. It's impossible to refer to a commit hash in the same commit's commit message. ticket: 113
19:23 Changeset [1678:4027740cdd2d] by Stefan Schwarzer <sschwarzer@…>
defaultApply `normpath` before comparing paths In both `isfile` and `isdir` of `ftputil.path._Path`, there's a workaround in case we can't go to a parent directory of the current directory. Call `normpath` on the `isfile`/`isdir` path argument before comparing with `self._host.getcwd()`. This makes sure that we compare correctly if the paths aren't strictly equal but only semantically equal, i. e. referring to the same actual file system path. Don't use `samefile` here because this implicitly tries to call `stat`. This is exactly what we try to _avoid_ when applying the workaround. For now, don't create unit tests because these would be probably rather awkward. ticket: 113
19:17 Changeset [1677:b4c9b089b6b8] by Stefan Schwarzer <sschwarzer@…>
defaultApply `normpath` when getting the working directory When getting the current working directory of the FTP session, apply `normpath`. This makes sure that an initial `FTPHost.getcwd` call returns the current working without a trailing slash (with the exception of the current directory being `/`). ticket: 113
18:38 Changeset [1676:441d337b2878] by Stefan Schwarzer <sschwarzer@…>
defaultReorder caught exceptions in `_available_child` Change the order of caught exceptions in `FTPHost._available_child`. Put the errors in the `ftplib` namespace first, but otherwise order the exception classes alphabetically by their names. In general, when reordering exceptions you have to watch out for inheritance relationships (catch subclasses before their base classes). However, there doesn't seem to be any inheritance issue with the given exceptions.
18:35 Changeset [1675:1ce0dd183c17] by Stefan Schwarzer <sschwarzer@…>
defaultFix wording
18:26 Ticket #114 (Uncaught EOF error in host._avaliable_child) closed by schwa
fixed: Fixed in [b2e19844d663].
18:25 Changeset [1674:b2e19844d663] by Stefan Schwarzer <sschwarzer@…>
defaultCatch `EOFError` in `_available_child` If `host._session.pwd` raises an `EOFError`, catch it and don't consider the affected child host for a new file-like object.
17:51 Changeset [1673:2cb5fa8e9206] by Stefan Schwarzer <sschwarzer@…>
defaultAdd tests for the `_available_child` call Make the `pwd` method of child sessions raise an exception to test if it's caught and a new child session created.
17:18 Changeset [1672:108c4eb98c66] by Stefan Schwarzer <sschwarzer@…>
defaultAdd another comment on socket timeout Emphasize that a socket timeout (TCP/IP protocol level) is different from an FTP timeout (FTP level).


21:12 Ticket #114 (Uncaught EOF error in host._avaliable_child) created by ftputiluser
There is an uncaught ftplib EOF exception in _avaliable_child that does …
Note: See TracTimeline for information about the timeline view.