Commit Graph

253 Commits (8a0ed3d1310ba0d8c217d5f5717f666fd8da1e8b)

Author SHA1 Message Date
Ethan Dalool 98f42ad87b Bump to version 0.0.57. 2020-11-04 18:10:51 -08:00
Ethan Dalool 2ec77f287b Add vlogging.py. 2020-11-02 23:18:53 -08:00
Ethan Dalool d29501bae7 Having removed self.spawn(other), add back Path(other). 2020-11-02 23:18:19 -08:00
Ethan Dalool 426da9b52b Let listdir spawn children with _correct_case already set. 2020-10-28 14:56:52 -07:00
Ethan Dalool adf7353ae6 Cache _case_correct property to cut down on fs calls. 2020-10-28 14:55:49 -07:00
Ethan Dalool 1364d66264 Let kbps return all three values always.
Instead of just the missing value.
2020-10-23 07:47:10 -07:00
Ethan Dalool 3347962438 Fix normalization of paths during blacklist check. 2020-10-23 07:46:29 -07:00
Ethan Dalool 5232ca81fc Fix dotdict being subscripted instead of dot. 2020-10-23 07:46:06 -07:00
Ethan Dalool e3cc64c19c Remove useless const from argparse arg. 2020-10-23 07:45:31 -07:00
Ethan Dalool c0e9870b91 Rewrite threadpool with persistent threads that pick up jobs. 2020-10-12 16:34:26 -07:00
Ethan Dalool 4e9b43be8b Big threadpool update. 2020-10-09 13:10:24 -07:00
Ethan Dalool 12175c23a7 Add lazychain.py. 2020-10-09 13:09:51 -07:00
Ethan Dalool 3989353579 Bump to version 0.0.56. 2020-10-08 09:40:13 -07:00
Ethan Dalool d56eea85e6 Fix punctuation of these statements. 2020-10-08 09:39:41 -07:00
Ethan Dalool 5147d7b988 Move nested function do_it out to _run. 2020-10-06 23:09:06 -07:00
Ethan Dalool 0202aeaca0 Add backoff.py. 2020-10-06 11:18:25 -07:00
Ethan Dalool 1a0b71673f Bump to version 0.0.55. 2020-09-30 19:34:28 -07:00
Ethan Dalool d37dbe40f8 Add base exception class DownloadyException. 2020-09-25 16:09:42 -07:00
Ethan Dalool 0613fd10e4 Use DotDict for the download plans. 2020-09-25 15:56:24 -07:00
Ethan Dalool 0948139883 Rename variable localname -> temp_localname within download_plan. 2020-09-25 15:50:59 -07:00
Ethan Dalool 3deb6270ba Add support for more special filenames like Windows's "con". 2020-09-25 15:43:36 -07:00
Ethan Dalool 677d8a251f Don't worry with .seek if we're doing a fulldownload plan. 2020-09-25 15:42:39 -07:00
Ethan Dalool ade7d63231 Use voussoirkit safeprint instead of duplicate function. 2020-09-25 15:30:49 -07:00
Ethan Dalool 6b546b39df Split safeprint into separate functions to remove deep indents. 2020-09-25 15:30:00 -07:00
Ethan Dalool 025c8d51a3 Use pathclass.Path.makedirs. 2020-09-24 14:17:14 -07:00
Ethan Dalool a05d34ea9e Add Path.makedirs. 2020-09-24 14:16:51 -07:00
Ethan Dalool 96a6e62c14 Bump to version 0.0.54. 2020-09-22 01:55:56 -07:00
Ethan Dalool ba88731ae2 Fix cwd. 2020-09-22 01:55:30 -07:00
Ethan Dalool e6efa2adcf Bump to version 0.0.53. 2020-09-20 21:28:43 -07:00
Ethan Dalool 342062dd99 Use pathclass.Path.open. 2020-09-20 18:25:12 -07:00
Ethan Dalool c6d7450028 Add Path.open. 2020-09-20 17:31:28 -07:00
Ethan Dalool 3abd141d5d Bump to version 0.0.52. 2020-09-15 15:05:29 -07:00
Ethan Dalool dcf84dedf8 Escape single quotes by doubling them up. 2020-09-15 14:03:41 -07:00
Ethan Dalool a2337346fb Add helpful pathclass.cwd function. 2020-09-12 10:15:14 -07:00
Ethan Dalool 5510d94054 Add docstrings to all functions. 2020-09-09 14:40:37 -07:00
Ethan Dalool 331de6eaec Replace chunk_size=None with CHUNK_SIZE.
The idea was that you could overwrite the module-level CHUNK_SIZE so
that all future quickids would use it as the default, but I don't like
the code clutter and anybody who wants to change the default should
write their own partial function if it's that important.
2020-09-09 14:39:30 -07:00
Ethan Dalool d95d1c9533 Add matches_handle, matches_file. 2020-09-09 14:34:50 -07:00
Ethan Dalool d924e273b9 Let quickid functions take pathclass paths as arguments. 2020-09-09 14:34:08 -07:00
Ethan Dalool 52afa2489a Let quickid use any of hashlib.algorithms_guaranteed. 2020-09-09 14:33:45 -07:00
Ethan Dalool 7052b2c432 Fix __str__ in case self.token is not a string. 2020-09-09 12:55:09 -07:00
Ethan Dalool bab1c2bffc Add callback_pre_directory, callback_pre_file.
These callbacks lets you inspect the anticipated copy operation before
it actually occurs. My particular motivation for adding this was to
search for source files which have been renamed, so I can rename the
matching destination file before it attempts to make a duplicate.
With the addition of the BAIL sentinel, you could also use this to
dynamically decide which dirs to skip, if the exclude_ sets are not
good enough for you.
2020-09-06 11:23:49 -07:00
Ethan Dalool 9ef8254191 Let walk_generator follow links, add skip_symlinks to copy_dir. 2020-09-06 11:17:30 -07:00
Ethan Dalool 5e5f55cf1f Remove "Default" from docstrings.
These are already visible with help(), and are cluttering the page.
2020-09-06 11:13:44 -07:00
Ethan Dalool 7840d53212 Move source.correct_case out of conditional.
The reasoning was that in the non-new_root case, the destination supplied
by the user would either be the exact path of the new file, or the parent
of the new file. Either way, the casing of source shouldn't matter since
only the file itself is being created with the given casing.

But, I realized, since we are doing makedirs in the event that the whole
path leading up to destination doesn't exist, we should create it with
the correct case according to the source. And that can occur regardless
of new_root.
2020-09-06 09:54:28 -07:00
Ethan Dalool 26eaac7119 Simplify this call to makedirs with destination.parent. 2020-09-06 09:32:12 -07:00
Ethan Dalool b34f6fafed Rename callback_file -> callback_file_progress. 2020-09-05 21:21:56 -07:00
Ethan Dalool 36c7b5447f Rename callback_directory -> callback_directory_progress. 2020-09-05 21:21:38 -07:00
Ethan Dalool 9874f12a2a Return self from correct_case instead of self.absolute_path. 2020-09-02 09:11:49 -07:00
Ethan Dalool 27291df9ad Sort Pathclass by normcase instead of absolute path. 2020-09-02 08:52:13 -07:00
Ethan Dalool 53528741b2 Assert exists before trying to calculate size; explicit elif.
If you have a path that you expect to expect to be a file, it is
confusing to see the traceback where it attempts to listdir because
self.is_file failed and the else was to treat it as a dir.
I prefer this explicit exists check, and explicit dir check.
Yeah, potential for race conditions exists.
2020-08-28 17:31:31 -07:00