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
Ethan Dalool
8e7eeb9c3f
Use code from cmd's sdate.py which is better.
2020-08-26 10:07:06 -07:00