Timeline


and

Jun 16, 2014:

7:37 AM ftputil-3.1.tar.gz attached to Download by schwa
7:36 AM Changeset [1540:963488f28417] by Stefan Schwarzer <sschwarzer@…>
Use `python2 setup.py sdist upload` for makefile `upload` target. I had gotten an error "error: no dist file created in earlier command" without the `sdist` argument (see also http://jamie.curle.io/blog/my-first-experience-adding-package-pypi/ ). Notice that this creates another package file, but if nothing had changed before, this should be fine. Nonetheless it's maybe better to use the same package file on the ftputil website and for uploading to PyPI.
7:26 AM Milestone 3.1 completed
7:24 AM Changeset [1539:2ca4990ba940] by Stefan Schwarzer <sschwarzer@…>
Added tag release3_1 for changeset f7022523f2f0
7:22 AM Download edited by schwa
(diff)
7:16 AM Documentation edited by schwa
(diff)
7:11 AM Changeset [1538:f7022523f2f0] by Stefan Schwarzer <sschwarzer@…>
Patched for new version number and date.
7:10 AM Changeset [1537:abf013fcae1c] by Stefan Schwarzer <sschwarzer@…>
Don't capitalize "open source software".
7:08 AM Changeset [1536:696006f3351d] by Stefan Schwarzer <sschwarzer@…>
Updated version number. Link to "real" documentation.

Jun 10, 2014:

7:05 AM Ticket #79 (keep_alive() does not prevent 421 No transfer timeout) closed by schwa
wontfix: I wanted to mark this ticket as "invalid" since I can't do anything to …
7:00 AM Ticket #79 (keep_alive() does not prevent 421 No transfer timeout) reopened by schwa
6:58 AM Ticket #76 (Error message related to OS) closed by schwa
invalid: I change the resolution to "invalid" since in my opinion the "lacking" …
6:57 AM Ticket #76 (Error message related to OS) reopened by schwa
6:53 AM Download edited by schwa
Fixed followsymlinks -> followlinks. (diff)

Jun 9, 2014:

5:25 PM Changeset [1535:d6788e481bf2] by Stefan Schwarzer <sschwarzer@…>
Refer to page `PreReleaseDocumentation` instead of `Documentation`.
5:23 PM PreReleaseDocumentation edited by schwa
(diff)
5:21 PM Changeset [1534:65fa04ccd04d] by Stefan Schwarzer <sschwarzer@…>
Fixed URL references in announcement.
5:19 PM Changeset [1533:a540b8a9cccd] by Stefan Schwarzer <sschwarzer@…>
Added item release item "Update pre-release documentation".
5:12 PM Changeset [1532:f494d534e297] by Stefan Schwarzer <sschwarzer@…>
Added tag release3_1b for changeset 1f8037993f30
5:03 PM Ticket #82 (Fix "Internal Server Error"s) closed by schwa
fixed: Due to the entries in the traceback (see description) I instrumented …
4:48 PM Download edited by schwa
(diff)
10:50 AM Changeset [1531:1f8037993f30] by Stefan Schwarzer <sschwarzer@…>
Increased date with `make patch && make docs`.
12:18 AM Ticket #82 (Fix "Internal Server Error"s) created by schwa
Since a while, certain Trac operations cause an "Internal Server …

Jun 8, 2014:

11:58 PM Download edited by schwa
(diff)
11:55 PM Changeset [1530:d04d9045c9ad] by Stefan Schwarzer <sschwarzer@…>
Added tag release3_1b for changeset 46c35b1087c0
11:48 PM Ticket #80 (.makedirs() problem with unicode) closed by schwa
duplicate: This is a duplicate of #77.
11:39 PM Changeset [1529:46c35b1087c0] by Stefan Schwarzer <sschwarzer@…>
Ran `make patch && make docs`.
11:38 PM Changeset [1528:1f446103ade6] by Stefan Schwarzer <sschwarzer@…>
Increased version number to 3.1b.
11:38 PM Changeset [1527:7db0799716dc] by Stefan Schwarzer <sschwarzer@…>
Updated `README.txt` and `announcements.txt` for ftputil 3.1b.
11:33 PM Ticket #79 (keep_alive() does not prevent 421 No transfer timeout) closed by schwa
fixed: I decided not to change the keep_alive method, but I added a …
11:26 PM Changeset [1526:9218cbe591b0] by Stefan Schwarzer <sschwarzer@…>
Added a section on child sessions/connections. This should explain why calling `FTPHost.keep_alive` may not be enough if there are open remote files.
7:08 PM Changeset [1525:349506cfb444] by Stefan Schwarzer <sschwarzer@…>
Consistently use `server` and `ftp_host` in example code. `server` now always means the host name and `ftp_host` an `FTPHost` instance. Previously, some examples even accidentally used `host` for both the server name and the created `FTPHost` object. Also converted some old code snippets to create `FTPHost` objects in a `with` statement.
6:47 PM Changeset [1524:75f09a84fa26] by Stefan Schwarzer <sschwarzer@…>
Updated FAQ to refer to new `session.session_factory` function.
6:23 PM Changeset [1523:c2a6894ec18d] by Stefan Schwarzer <sschwarzer@…>
Merged "Support for the `with` statement" into "Basics" for `FTPFile` objects.
6:18 PM Changeset [1522:da2260917c85] by Stefan Schwarzer <sschwarzer@…>
Extended documentation on `FTPHost.close`.
6:15 PM Changeset [1521:8b20fe2ccb3a] by Stefan Schwarzer <sschwarzer@…>
Merged "Support for the `with` statement" into "Basics".
6:12 PM Changeset [1520:51b06db2c5f6] by Stefan Schwarzer <sschwarzer@…>
Moved "Support for the `with` statement" before "Session factories".
6:08 PM Changeset [1519:50e394499e78] by Stefan Schwarzer <sschwarzer@…>
Fixed markup in documentation.
6:08 PM Changeset [1518:141eca2069c4] by Stefan Schwarzer <sschwarzer@…>
Documented `ftputil.session.session_factory`.
10:56 AM Changeset [1517:4d880f3271b2] by Stefan Schwarzer <sschwarzer@…>
The _original_ `lrucache` was written by Evan Prodromou.
10:51 AM Changeset [1516:5af5890055a3] by Stefan Schwarzer <sschwarzer@…>
Comment on function name `session_factory`.
10:47 AM Changeset [1515:2e15dc8b58d5] by Stefan Schwarzer <sschwarzer@…>
Comment why to use `base_class.__init__`.
10:45 AM Changeset [1514:ac09b6d5a745] by Stefan Schwarzer <sschwarzer@…>
Fixed typo in docstring.
10:41 AM Changeset [1513:62b40a241d29] by Stefan Schwarzer <sschwarzer@…>
Fixed broken links in source code comments.
10:35 AM Changeset [1512:f77c94a10b7b] by Stefan Schwarzer <sschwarzer@…>
Fixed broken links in documentation.

Jun 7, 2014:

11:34 PM Ticket #81 (Round timezone differences to 15-minute units, not hours) closed by schwa
fixed: Fixed in [ce5c6ccebd47].
11:32 PM Changeset [1511:ce5c6ccebd47] by Stefan Schwarzer <sschwarzer@…>
Expect time shift in 15-minute units, not hour units (ticket #81).
4:46 PM Ticket #81 (Round timezone differences to 15-minute units, not hours) created by schwa
The method FTPHost.synchronize_times writes a file on the server, …
10:32 AM Changeset [1510:d0f1e9066ef9] by Stefan Schwarzer <sschwarzer@…>
Added docstring with file system tree to `TestWalk`. This way it's easier to understand whether the tests contain the correct expected results.
10:26 AM Changeset [1509:a31eac83a28a] by Stefan Schwarzer <sschwarzer@…>
Use comment characters to keep the code visually together.
10:14 AM Ticket #73 (Support `followlinks` argument in `FTPHost.walk`) closed by schwa
fixed: Support for followlinks was added in [f40b9f6738d0].
10:12 AM Changeset [1508:452a03a5b1ff] by Stefan Schwarzer <sschwarzer@…>
Updated documentation for `FTPHost.walk` (`followlinks` parameter).
10:11 AM Changeset [1507:fdb6f0b71ee1] by Stefan Schwarzer <sschwarzer@…>
Updated recipe with workaround for `M2Crypto.ftpslib.FTP_TLS`. It should get much easier with the new `session.py` though (see ticket #78).
10:06 AM Changeset [1506:f40b9f6738d0] by Stefan Schwarzer <sschwarzer@…>
Added support for `followlinks` in `FTPHost.walk` (ticket #73).
10:02 AM Changeset [1505:896e116fb447] by Stefan Schwarzer <sschwarzer@…>
Added `dir3/dir32` as a link to `../dir1/dir12/dir123`.
9:50 AM Changeset [1504:1e0a779febee] by Stefan Schwarzer <sschwarzer@…>
Renamed real dir `dir33` to `dir31`.
9:47 AM Changeset [1503:9d08fbe3c750] by Stefan Schwarzer <sschwarzer@…>
Refactored `walk` tests to avoid duplicated code.

May 28, 2014:

11:23 PM Ticket #80 (.makedirs() problem with unicode) reopened by schwa
6:13 PM Ticket #80 (.makedirs() problem with unicode) closed by ftputiluser
invalid
5:47 PM Ticket #80 (.makedirs() problem with unicode) created by ftputiluser
First, let me thank you for this excellent module. It saved me a lot …

May 20, 2014:

10:02 AM Ticket #79 (keep_alive() does not prevent 421 No transfer timeout) created by ftputiluser
[…]

Apr 23, 2014:

8:14 AM Changeset [1502:23f0bc574981] by Stefan Schwarzer <sschwarzer@…>
Raise `TypeError` instead of `PicklingError`. See also https://mail.python.org/pipermail/python-list/2014-April/671002.html

Apr 22, 2014:

5:02 AM Changeset [1501:cc42f6ab9d3e] by Stefan Schwarzer <sschwarzer@…>
Encrypt data channel by default if a method `prot_p` exists. I think most users will want to secure the data channel, so rather be safe than sorry and turn the encryption on by default. If needed, the data channel encryption can be suppressed by passing `encrypt_data_channel=False`.

Apr 21, 2014:

12:50 PM Changeset [1500:f430087c23c1] by Stefan Schwarzer <sschwarzer@…>
Ignore coverage report files.
12:48 PM Changeset [1499:f8ac6ddfcc1c] by Stefan Schwarzer <sschwarzer@…>
Added `coverage` target.
12:24 PM Changeset [1498:25a5b264907c] by Stefan Schwarzer <sschwarzer@…>
Added `from __future__ import unicode_literals`.
12:15 PM Changeset [1497:a3fac26bf149] by Stefan Schwarzer <sschwarzer@…>
Fixed/updated `.PHONY` targets.
12:13 PM Changeset [1496:93300e42354f] by Stefan Schwarzer <sschwarzer@…>
Added new target `find_missing_unicode_literals` to find files in `ftputil` and `test` that don't have `from __future__ import unicode_literals`. Renamed target `tox-test` to `tox_test`.
12:06 PM Changeset [1495:b2b2297fba51] by Stefan Schwarzer <sschwarzer@…>
For the `py27` environment, install M2Crypto as additional requirement. The installation of M2Crypto from PyPI required me to install `swig` and `openssl-devel` on Fedora.
12:04 PM Changeset [1494:30df847fea39] by Stefan Schwarzer <sschwarzer@…>
Added unit tests for `session_factory` helper. Most tests are done with a mock class, but there's also a test in `test_real_ftp.py` that will use `M2Crypto.ftpslib.FTP_TLS` to check if the workaround in the `Session` class in `ftputil.session.session_factory` works. Note that since M2Crypto isn't available for Python 3, the real FTP test is skipped for Python 3. (This requires the `unittest2` module or here the `unittest` in Python 2.7 and 3.3.)
12:01 PM Changeset [1493:c92c1acc42c2] by Stefan Schwarzer <sschwarzer@…>
Added `from __future__ import unicode_literals`.
11:59 AM Changeset [1492:c9a1598aba17] by Stefan Schwarzer <sschwarzer@…>
Added `__all__`.
10:30 AM Changeset [1491:1fa8877022e1] by Stefan Schwarzer <sschwarzer@…>
Upload package to PyPI, don't just register. Uploading has (at least) advantages: - People can get the package if the ftputil website has problems. - I get download statistics.
10:27 AM Changeset [1490:ca12f324b30b] by Stefan Schwarzer <sschwarzer@…>
Moved `session.py` from `sandbox` to `ftputil`. I plan to include this in the next release.
10:20 AM Changeset [1489:0500f24778e2] by Stefan Schwarzer <sschwarzer@…>
Added Makefile target `tox-test`.

Apr 20, 2014:

11:38 AM Changeset [1488:6feef85c45b2] by Stefan Schwarzer <sschwarzer@…>
Support debug level when creating session factories.
11:22 AM Changeset [1487:4a0098ea7ecb] by Stefan Schwarzer <sschwarzer@…>
Document the anticipated session base classes.
11:17 AM Changeset [1486:f70b18e91500] by Stefan Schwarzer <sschwarzer@…>
Added "universal" "session factory factory". The new module `session.py` defines a function `session_factory` to create a session factory (class) according to the keyword arguments passed to the function. Example: my_session_factory = session_factory( base_class=M2Crypto.ftpslib.FTP_TLS, use_passive_mode=True, encrypt_data_channel=True) with ftputil.FTPHost(host, user, password, session_factory=my_session_factory) as host:

Apr 19, 2014:

11:54 PM Ticket #78 (Error when using ftputil with M2Crypto) closed by schwa
fixed: The attached m2crypto_session.py contains a session factory class as …
11:47 PM Changeset [1485:20df4fdbedc9] by Stefan Schwarzer <sschwarzer@…>
M2Crypto session factory as workaround for ticket #78.
11:47 PM Changeset [1484:a675c0a0157a] by Stefan Schwarzer <sschwarzer@…>
Make it possible to import modules from the `sandbox` directory.
11:17 PM Ticket #77 (`UnicodeDecodeError` when server sends non-ASCII error messages) closed by schwa
fixed: Fixed in [0079a3a8be44].
11:16 PM Changeset [1483:0079a3a8be44] by Stefan Schwarzer <sschwarzer@…>
Avoid `UnicodeDecodeError` for non-ASCII server messages. See ticket #77. The test simulates the server error by raising an `ftplib.error_perm` directly.
7:38 PM Ticket #74 (Implement `StatResult` as a named tuple) closed by schwa
worksforme
7:20 PM Ticket #75 (Add support for Pickle) closed by schwa
wontfix: Resolution "wontfix" makes more sense than "fixed" because I won't add …
7:16 PM Ticket #75 (Add support for Pickle) reopened by schwa
7:15 PM Ticket #75 (Add support for Pickle) closed by schwa
fixed: Changeset [600fb1c435a9] now deliberately refuses to pickle FTPHost
7:13 PM Changeset [1482:600fb1c435a9] by Stefan Schwarzer <sschwarzer@…>
Deliberately don't support pickling for `FTPHost` and `FTPFile`. Problems with pickling (from ticket #75): - To re-connect from the pickle file, you'd need the username and password, and I would understand if someone was mad at me if I didn't just use their password in memory but also wrote it to a file. ;-) - The pickle file might be unpickled in a completely different environment. It might not be possible to connect to the host from there. - The state of the FTP server might have changed between pickling and unpickling. For example, your last current directory might no longer exist. Of course, this can also happen during a session, but the more time passes between two logins (before pickling and when unpickling), the more likely a change on the remote side is. - It gets much more complicated if there are open remote files when the FTPHost instance should be pickled.
6:38 PM Ticket #76 (Error message related to OS) closed by schwa
fixed
6:30 PM Changeset [1481:6e82349a3a14] by Stefan Schwarzer <sschwarzer@…>
Use original exception message in `FTPError` (ticket #76). If we create an `FTPError` instance based on a previously raised `ftplib` or `socket` exception, take the string representation of this original exception as the string representation of the new `FTPError` exception. The `*args` passed to `FTPError` aren't necessarily enough to guarantee this. At least for some socket exceptions, `args` is a tuple of an integer and a string and using only `args[0]` to form the exception message keeps only the integer.
3:09 PM Changeset [1480:9d44889174f4] by Stefan Schwarzer <sschwarzer@…>
Use `TestCase.fail()` instead of `TestCase.assertTrue(False)`.

Apr 18, 2014:

1:44 PM Ticket #78 (Error when using ftputil with M2Crypto) created by schwa
[http://lists.sschwarzer.net/pipermail/ftputil/2014q2/000390.html
1:31 PM Ticket #77 (`UnicodeDecodeError` when server sends non-ASCII error messages) created by schwa
[http://lists.sschwarzer.net/pipermail/ftputil/2014q2/000396.html

Apr 16, 2014:

1:39 AM Ticket #76 (Error message related to OS) created by ftputiluser
[…] The following code worked on a different version of ubuntu […]

Apr 9, 2014:

8:58 PM Ticket #75 (Add support for Pickle) created by ftputiluser
Attached to ticket find slight code revision to support pickling of …

Mar 30, 2014:

6:51 AM Download edited by schwa
Updated links to mailing list archive. (diff)
Note: See TracTimeline for information about the timeline view.