Timeline



Aug 3, 2013:

11:54 PM Changeset [1326:7751d4eedc79] by Stefan Schwarzer <sschwarzer@…>
Improved comment.
11:53 PM Changeset [1325:91b619d1161d] by Stefan Schwarzer <sschwarzer@…>
Use more explicit logic. Don't suggest the file object is wrapped when it actually isn't (under Python 3).
11:51 PM Changeset [1324:31e5c7822c7e] by Stefan Schwarzer <sschwarzer@…>
Removed no longer needed line ending conversion functions.
11:46 PM Changeset [1323:466bef64179c] by Stefan Schwarzer <sschwarzer@…>
For Python 3, return `socket.makefile` result unchanged.
11:41 PM Changeset [1322:6d9cf7b19a69] by Stefan Schwarzer <sschwarzer@…>
Wrap the file object returned from `socket.makefile` to satisfy the requirements of `BufferedReader` and `BufferedWriter` under Python 2.
10:12 PM Changeset [1321:d22cad74b9a8] by Stefan Schwarzer <sschwarzer@…>
Made several names local to `_open`. They're no longer needed at instance level since we "manual" line ending conversion, where we needed the mode flags, is gone.
9:36 PM Changeset [1320:080bb1258eaa] by Stefan Schwarzer <sschwarzer@…>
Make `encoding` available by forwarding to the internal file object.
9:32 PM Changeset [1319:01b85f6a1268] by Stefan Schwarzer <sschwarzer@…>
Changed calls of `FTPHost.file` to `FTPHost.open`. Since `file` is no longer in Python 3's global namespace, I also decided to drop it and make `open` the way to create a file object.
9:25 PM Changeset [1318:ebf96932d4aa] by Stefan Schwarzer <sschwarzer@…>
First go at revised I/O. `test_file.py` succeeds for Python 2 and 3. On the other hand, currently lots of tests fail, including for Python 2. These tests still expect the old I/O semantics.
9:22 PM Changeset [1317:4c716b8a4fb9] by Stefan Schwarzer <sschwarzer@…>
Added tag working_tests_before_io_change for changeset 1af9e71969a8
6:19 PM Changeset [1316:1af9e71969a8] by Stefan Schwarzer <sschwarzer@…>
Fixed import. The import from `test_ftputil` only worked because an old `test_ftputil.pyc` was lying around.
4:37 PM Changeset [1315:9bd4e7a16db1] by Stefan Schwarzer <sschwarzer@…>
Renamed `TestAcceptEitherBytesOrUnicode` to `TestAcceptEitherUnicodeOrBytes`. (Put the preferred type first.)
4:35 PM Changeset [1314:84ef913d3588] by Stefan Schwarzer <sschwarzer@…>
Added class docstring in `TestAcceptEitherBytesOrUnicode`.
4:34 PM Changeset [1313:24ed43ecb7a0] by Stefan Schwarzer <sschwarzer@…>
Changed comment slightly.
4:32 PM Changeset [1312:d92e65eca7a4] by Stefan Schwarzer <sschwarzer@…>
Reordered tests so those using `_test_method_with_single_path_argument` come at the end of the class.
4:30 PM Changeset [1311:82ff1e349236] by Stefan Schwarzer <sschwarzer@…>
Refactored unicode/bytes tests that use a single path argument.
4:20 PM Changeset [1310:fe74a6e8bd8e] by Stefan Schwarzer <sschwarzer@…>
Added tests for unicode/bytes paths for `upload`, `download`, `walk`.
3:57 PM Changeset [1309:cf70e2390a49] by Stefan Schwarzer <sschwarzer@…>
Added tests for unicode/bytes path for `lstat` and `stat`.
3:06 PM Changeset [1308:912fbf0e444d] by Stefan Schwarzer <sschwarzer@…>
Added test for unicode/bytes path in `chmod`.
1:26 PM Changeset [1307:7f318aa1500d] by Stefan Schwarzer <sschwarzer@…>
Added tests for unicode/bytes paths in `rmtree` and `rename`.
1:09 PM Changeset [1306:f56ba409991b] by Stefan Schwarzer <sschwarzer@…>
Use a single method for ignoring the path argument in `MockSession`.
1:07 PM Changeset [1305:ee4d997b3287] by Stefan Schwarzer <sschwarzer@…>
Added test for unicode/bytes path in `FTPHost.remove`.
12:57 PM Changeset [1304:544d87dd3133] by Stefan Schwarzer <sschwarzer@…>
Added tests for unicode/bytes paths for `mkdir`, `makedirs`, `rmdir`.

Aug 2, 2013:

11:34 PM Changeset [1303:1c3ce765195c] by Stefan Schwarzer <sschwarzer@…>
Removed Russion documentation because it's obsolete. The Russian documentation was added around ftputil 2.0/2.1. It's already quite obsolete and will be so even more once ftputil 3.0 comes out. In this light, I think it would do more harm than good to keep this around. If someone sees this message and would like to translate/update the Russian documentation, please contact me. That said, I can imagine that it's more efficient overall to rely on (even imperfect) automatic translation than keeping the Russian documentation (or any other translation) updated.

Jul 29, 2013:

10:06 AM Changeset [1302:ad040098c3f6] by Stefan Schwarzer <sschwarzer@…>
Indented continuation lines, especially in `raise` statements.
7:05 AM Changeset [1301:caa398845bd0] by Stefan Schwarzer <sschwarzer@…>
Implemented `unlink` as an alias of `remove`. I've no idea why this used to be an extra method. Still, after making the change, all unit tests keep working (as expected).
7:03 AM Changeset [1300:858550fef897] by Stefan Schwarzer <sschwarzer@…>
Turned question comment into answer.
6:56 AM Changeset [1299:f03652cab159] by Stefan Schwarzer <sschwarzer@…>
Cleaned up docstring of `FTPHost.unlink`.
6:54 AM Changeset [1298:62c040e5772f] by Stefan Schwarzer <sschwarzer@…>
Added XXX comment on mixed argument types for `rename`.
6:50 AM Changeset [1297:b5354cad4770] by Stefan Schwarzer <sschwarzer@…>
Added docstrings for string type tests.
6:44 AM Changeset [1296:1b7fd6431f01] by Stefan Schwarzer <sschwarzer@…>
Added stubs for string type tests.

Jul 28, 2013:

8:14 PM Changeset [1295:4f651581662c] by Stefan Schwarzer <sschwarzer@…>
Backed out changeset 2193bd99bfe8 (path conversions in `stat_cache.py`). We no longer need the conversions because all the code which uses the stat cache internally already does the necessary conversion to unicode strings. So supposedly only unicode strings arrive at the `StatCache` API.
8:00 PM Changeset [1294:9949b7fa038e] by Stefan Schwarzer <sschwarzer@…>
Renamed helper variables `orig_path` to `original_path`.
7:55 PM Changeset [1293:845deb1380ad] by Stefan Schwarzer <sschwarzer@…>
Re-activated test of `listdir` on byte string argument.
7:51 PM Changeset [1292:ab8fabd0ca65] by Stefan Schwarzer <sschwarzer@…>
Renamed `test_ftputil.py` to `test_host.py`, corresponding to name of tested file which is now `host.py`.
7:48 PM Changeset [1291:c2c1be1206c1] by Stefan Schwarzer <sschwarzer@…>
Added comment on `TypeError` for `os.path.join` in Python 3.
7:48 PM Changeset [1290:a2cb7858c20c] by Stefan Schwarzer <sschwarzer@…>
Sort method names in string alphabetically.
7:45 PM Changeset [1289:4776bda3e5db] by Stefan Schwarzer <sschwarzer@…>
Removed tests that check whether ftputil refuses unicode strings with non-ASCII characters. It does no longer work that way. TODO: Write unit tests that check whether methods in `FTPHost` accept both unicode and byte string paths.
7:42 PM Changeset [1288:21db0d42c3e6] by Stefan Schwarzer <sschwarzer@…>
Convert paths to unicode on entry in public methods. This fixes many of the failed tests (see previous commit 13b3ce5d06a4).
7:40 PM Changeset [1287:13b3ce5d06a4] by Stefan Schwarzer <sschwarzer@…>
Implemented `join` like in Python 3: Accept only all unicode strings or all byte strings, no mixture. Unfortunately, this restriction causes lots of other tests to fail.
7:37 PM Changeset [1286:a5d848de7040] by Stefan Schwarzer <sschwarzer@…>
Import `print_function` so that we don't see tuples under Python 2.
4:10 PM Changeset [1285:6062277d8c30] by Stefan Schwarzer <sschwarzer@…>
Removed `string_types_for_` from method names because this usage is implied by the test class name.
4:06 PM Changeset [1284:25228b207849] by Stefan Schwarzer <sschwarzer@…>
Added tests for string type handling for `chdir` and `listdir`. TODO: A bytes argument for `listdir` doesn't work yet. TODO: String type tests for `path.join` and `path.split*`.
4:04 PM Changeset [1283:8201e537b170] by Stefan Schwarzer <sschwarzer@…>
Improved docstring.
1:40 PM Changeset [1282:8bc75b91d1ee] by Stefan Schwarzer <sschwarzer@…>
Format `posixpath.py` as code.
1:33 PM Changeset [1281:b3b2bc8e5e44] by Stefan Schwarzer <sschwarzer@…>
Small comment formatting fix.
1:31 PM Changeset [1280:36ae2e9c65fe] by Stefan Schwarzer <sschwarzer@…>
Split tests for `getmtime` and `getsize`. Use more specific names.
1:27 PM Changeset [1279:95ee31f53fd0] by Stefan Schwarzer <sschwarzer@…>
Use nicer indentation for continued expressions.
1:26 PM Changeset [1278:831382d92a2d] by Stefan Schwarzer <sschwarzer@…>
Accept bytes or unicode strings for the path in `FTPHost.path.walk`.
1:09 PM Changeset [1277:330e3c36aa0c] by Stefan Schwarzer <sschwarzer@…>
Assign mock `FTPHost` instance in `setUp`.
1:00 PM Changeset [1276:162a67d7da89] by Stefan Schwarzer <sschwarzer@…>
Ensure that `getmtime` and `getsize` accept bytes or unicode paths.
12:32 PM Changeset [1275:902a6b7c281e] by Stefan Schwarzer <sschwarzer@…>
Moved tests that check for allowed string types to their own class.
12:21 PM Changeset [1274:ec941369fe8d] by Stefan Schwarzer <sschwarzer@…>
Ensure `isdir`, `isfile`, `islink` take either bytes or unicode strings.
12:09 PM Changeset [1273:ceaf2aecbeb6] by Stefan Schwarzer <sschwarzer@…>
Ensure `FTPHost.path.exists` accepts both bytes and unicode strings. Note that this new requirement is conflicting with the approach introduced with ticket #53 ( http://ftputil.sschwarzer.net/trac/ticket/53 ). That ticket was about FTP commands failing because of "non-encodable" unicode strings. The new approach is to allow both bytes and unicode strings as arguments because this is the behavior of Python 2 and 3 for the corresponding `os` functions. Accordingly, all test cases in `test_real_ftp.TestUnicodePaths` will become obsolete and will eventually be removed. (On the other hand, new tests are added to make sure that methods take bytes and unicode strings.)
11:55 AM Changeset [1272:5da7dcc51882] by Stefan Schwarzer <sschwarzer@…>
Put tests of implicit path decoding in their own class.
11:39 AM Changeset [1271:0b990d69fc65] by Stefan Schwarzer <sschwarzer@…>
In the tests that check if a method returns the same string type it was given, don't test `commonprefix`. `commonprefix` takes a list of strings, not several string arguments. What seems to happen is that the underlying Python library code iterates over the characters of the accidental single string argument. Although this still does the type comparison, it's misleading in the test code. `commonprefix` needs its own test method.
11:28 AM Changeset [1270:5bb4009de02d] by Stefan Schwarzer <sschwarzer@…>
When running test on Python 3, avoid "ResourceWarning: unclosed file".
11:22 AM Changeset [1269:79b53355202b] by Stefan Schwarzer <sschwarzer@…>
Renamed helper method from `random_string` to `_random_string`.
11:21 AM Changeset [1268:37b53fae3dac] by Stefan Schwarzer <sschwarzer@…>
Make helper method run on Python 3.
11:15 AM Changeset [1267:71461cd66b44] by Stefan Schwarzer <sschwarzer@…>
Make implementation of `StatCache.__contains__` a bit clearer.
11:09 AM Changeset [1266:2193bd99bfe8] by Stefan Schwarzer <sschwarzer@…>
Let public stat cache methods implicitly convert bytes paths to unicode. Idea: A bytes path and a unicode path corresponding to the same file system entry on the remote host should consequently correspond to the same entry in the cache.
10:03 AM Changeset [1265:ee4cae69f0b3] by Stefan Schwarzer <sschwarzer@…>
Renamed some test methods. Started `test_types_for_methods_that_take_a_string_and_return_a_bool` to test if some `FTPHost.path` methods accept both bytes and unicode strings. So far only `isabs` is tested.
9:54 AM Changeset [1264:67f70218bf10] by Stefan Schwarzer <sschwarzer@…>
Added umlaut directory/file/link entries for en/decoding tests. For example, `FTPHost.path.exists` should accept both bytes and unicode string types.
9:11 AM Changeset [1263:f0f99d08ca4a] by Stefan Schwarzer <sschwarzer@…>
Test return value of path methods that take and return one string. These methods should return the same string time they get. This is the expected behavior for the `os.path` methods in both Python 2 and 3.

Jul 27, 2013:

8:55 PM Changeset [1262:f52a4595bb28] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_with_statement.py`.
8:33 PM Changeset [1261:268a1b38d5d6] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_sync.py`.
8:18 PM Changeset [1260:573e91b7a76c] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_stat_cache.py`.
8:13 PM Changeset [1259:474bef8aec9d] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_stat.py`.
6:40 PM Changeset [1258:3194e86fdd5c] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_real_ftp.py`.
5:37 PM Changeset [1257:27fda472d8bb] by Stefan Schwarzer <sschwarzer@…>
Use `ftputil.compat.input` instead of `raw_input`. This does the same under Python 2 and 3 (non-evaluating input from the terminal).
5:33 PM Changeset [1256:25af8d9b921e] by Stefan Schwarzer <sschwarzer@…>
Formatting clean-up in `test_public_servers.py`.
5:26 PM Changeset [1255:2424b5cd7838] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_path.py`.
5:10 PM Changeset [1254:882dbeef3ce7] by Stefan Schwarzer <sschwarzer@…>
Refactored types test for `FTPHost.path.abspath`.
4:30 PM Changeset [1253:ddafaa19d396] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_ftputil.py`.
4:05 PM Changeset [1252:02bb387ba132] by Stefan Schwarzer <sschwarzer@…>
The method to check for the `LIST -a` option is no longer used. So remove the test code that was only added to make the test work with the automatically executed method.
4:01 PM Changeset [1251:00ec8110ab34] by Stefan Schwarzer <sschwarzer@…>
Minimal comment change.
3:39 PM Changeset [1250:d548db8e69f8] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_file_transfer.py`.
3:33 PM Changeset [1249:4b44f3aaf220] by Stefan Schwarzer <sschwarzer@…>
Give a better explanation of why the source-is-newer-than-target relationship is calculated in the way it is.
2:56 PM Changeset [1248:bd62ca902ed6] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_file.py`.
2:36 PM Changeset [1247:df6edc8c9bf6] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `test_error.py`.
2:32 PM Changeset [1246:dc0733466e9a] by Stefan Schwarzer <sschwarzer@…>
Cleaned up `mock_ftplib.py`.

Jul 7, 2013:

9:44 PM Changeset [1245:995030100b10] by Stefan Schwarzer <sschwarzer@…>
Renamed `main.py` to `host.py` since the main content is `FTPHost`.
9:29 PM Changeset [1244:79f1bcc7c83a] by Stefan Schwarzer <sschwarzer@…>
Removed aliases `ftp_error` and `ftp_stat`. Since we're breaking backwards compatibility in so many places anyway, don't keep these rather unnecessary aliases.
9:21 PM Changeset [1243:abf6d2e720ee] by Stefan Schwarzer <sschwarzer@…>
Modernized `find_deprecated_code.py`. - Use a class `DeprecatedFeature` instead of a three-element tuple. - Use `locations` instead of `positions`. - Use `with` statement for reading files. - Use `start` argument in `enumerate`.
8:55 PM Changeset [1242:8962440d80ca] by Stefan Schwarzer <sschwarzer@…>
Adapt `__init__.py` so that `ftputil.FTPHost` works again.
8:37 PM Changeset [1241:82997771f284] by Stefan Schwarzer <sschwarzer@…>
Moved `__init__.py` to `main.py`. I'm going to refactor the modules so that `__init__.py` contains only a minimal amount of code. My main motivation is the subtle module name aliasing problem for `stat` vs. `ftputil.stat`.
6:33 PM Changeset [1240:e33a12515600] by Stefan Schwarzer <sschwarzer@…>
Improved comments.

Jun 11, 2013:

7:45 PM WikiStart edited by schwa
(diff)

May 20, 2013:

7:21 PM Changeset [1239:1f6cd420d245] by Stefan Schwarzer <sschwarzer@…>
Small comment changes.
7:20 PM Changeset [1238:94068225a817] by Stefan Schwarzer <sschwarzer@…>
Added comments: What does "abnormal" mean?
7:19 PM Changeset [1237:4f4822ace8bc] by Stefan Schwarzer <sschwarzer@…>
Added comment about `_check_list_a_option`.
7:19 PM Changeset [1236:76febcae6034] by Stefan Schwarzer <sschwarzer@…>
Be explicit; use a bytestring as the method name says.
7:07 PM Changeset [1235:8e783c16aabe] by Stefan Schwarzer <sschwarzer@…>
Be more concrete about newline convention.
7:06 PM Changeset [1234:1e6f78ec2ec3] by Stefan Schwarzer <sschwarzer@…>
Added remark on newline handling for NFS and CIFS. With this in mind it should be ok to also use the newline convention of the client computer for remote files.
7:03 PM Changeset [1233:270e96649e03] by Stefan Schwarzer <sschwarzer@…>
Outline of what to consider for ftputil 3.0 API.
6:59 PM Changeset [1232:74645670366d] by Stefan Schwarzer <sschwarzer@…>
Document future ftputil incompatibilities anticipated so far.

May 11, 2013:

11:08 PM Changeset [1231:550d9aa72860] by Stefan Schwarzer <sschwarzer@…>
Draft of a text on Python 3 support, to be sent to the mailing list.
10:14 PM Changeset [1230:2b25b09f7575] by Stefan Schwarzer <sschwarzer@…>
Mindmap on future ftputil API.
Note: See TracTimeline for information about the timeline view.