Timeline



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.