Commit graph

41 commits

Author SHA1 Message Date
Ethan Dalool
0cff7b8734 Fix directories yielded twice, once as current and once as child. 2020-02-01 16:20:40 -08:00
Ethan Dalool
0cb646fda0 Appease some flake8 linting. 2020-01-31 20:53:29 -08:00
Ethan Dalool
3ff49e1a44 Improve spinal performance with os.walk, sacrificing breadth first.
Previously, os.path.isdir was one of the biggest time sinks in spinal.
Switching from my custom code to os.walk, thanks to its use of scandir,
saves a lot of time. For searching my 2TB drive with a hot cache, time
shrank from 70s to 35s.
However, os.walk doesn't support breadth first search, so that's gone
unless I reimplement os.walk myself to support it.
2020-01-31 20:25:47 -08:00
Ethan Dalool
0d6e5d4a13 Let subparser_betterhelp inspect parser for aliases. 2020-01-30 19:29:39 -08:00
Ethan Dalool
31048fc89a Add functools.wraps. 2020-01-30 19:01:31 -08:00
Ethan Dalool
22febf2ef7 Add docstring to add_previews. 2020-01-30 19:00:22 -08:00
Ethan Dalool
35e0527222 Improve these variable names for clarity. 2020-01-30 18:54:41 -08:00
Ethan Dalool
895a223359 Add docstring to docstring_preview. 2020-01-30 18:54:25 -08:00
Ethan Dalool
0ccd269cc2 Strip resultant preview, let the caller organize whitespace. 2020-01-30 18:51:43 -08:00
Ethan Dalool
73483838c9 Remove bespoke indent function. Honestly just use textwrap. 2020-01-30 18:48:10 -08:00
Ethan Dalool
dc64fc3c47 Move helpstrings to global constant. 2020-01-30 18:46:47 -08:00
Ethan Dalool
f599d7e394 Match Python glob's argument signature. 2020-01-28 17:40:30 -08:00
Ethan Dalool
2af2389b8d Add winglob.fnmatch. 2020-01-28 17:35:49 -08:00
Ethan Dalool
b88450b567 Add pathclass.Extension class to enrich extension operations.
I often found myself writing code like if a.extension == 'png' and
trying to remember if I'm supposed to compare against 'png' or '.png',
and then it would trip up on files like A.PNG because I forgot to
lower() it.

So this class handles all that for you. You can == against it and it
will use os.path.normcase to give you OS-appropriate case sens,
and == works whether you include the dot or not. Then you can use
ext.with_dot or ext.no_dot to get reliably dotted strings.
2020-01-27 21:33:09 -08:00
Ethan Dalool
b13f93c006 Rearrange and somewhat simplify passwordy main. 2020-01-21 17:46:25 -08:00
Ethan Dalool
e6350f05d0 Add function urandom_hex to passwordy. 2020-01-21 17:45:34 -08:00
Ethan Dalool
751ab5eaac Add method spawn that inherits force_sep.
I am considering some other instance attributes similar to force_sep.
And since these need to be carried over into newly spawned Paths,
I want to consolidate that into a single method so I don't have
to risk forgetting it on a new object.
2020-01-20 21:52:40 -08:00
Ethan Dalool
5e397b1928 Simplify normalize_sep. 2020-01-20 21:49:14 -08:00
Ethan Dalool
af1538a139 Tighten the regex for bare drives. 2020-01-20 21:29:33 -08:00
Ethan Dalool
b4d3ac87de Avoid winshell import error for linux. 2020-01-19 21:00:16 -08:00
Ethan Dalool
adaa65a9a7 Lowercase before checking .lnk extension. 2020-01-15 22:35:29 -08:00
Ethan Dalool
75b95f0259 Add winwhich.py. 2020-01-11 01:39:20 -08:00
Ethan Dalool
e3f080b74f Update winglob module docstring. 2020-01-11 01:37:33 -08:00
Ethan Dalool
efbc1c44bb Add hms.py. 2020-01-06 22:18:50 -08:00
Ethan Dalool
b0b0464fdc Add winglob.py. 2020-01-05 23:28:53 -08:00
Ethan Dalool
6faab40fb2 Let chunk_size be an argument to override global default. 2020-01-05 21:31:19 -08:00
Ethan Dalool
c33d16bff0 Replace calls to str_to_fp with pathclass.Path. 2020-01-05 21:29:27 -08:00
Ethan Dalool
76abee4607 Add newline to passwordy. 2020-01-05 21:24:43 -08:00
Ethan Dalool
07da8dd413 Add betterhelp.py 2019-08-06 23:42:04 -07:00
Ethan Dalool
b0ed32a1d5 Add Path.dot_extension property. 2019-08-05 17:34:17 -07:00
Ethan Dalool
452ad7f937 Add force_sep attribute. 2019-08-03 01:01:00 -07:00
Ethan Dalool
85572ba406 Add parameter simple to remove .\ from relative path. 2019-08-01 08:58:13 -07:00
Ethan Dalool
d9d10a843e Fix relative backsteps. 2019-08-01 08:57:18 -07:00
Ethan Dalool
6a34c8eae9 Add method Path.add_extension. 2019-08-01 08:47:27 -07:00
Ethan Dalool
b8aaecd15f Move case correction to after self==other check. 2019-08-01 08:47:04 -07:00
Ethan Dalool
e478aca497 Improve Path.__contains__ check. 2019-08-01 08:46:37 -07:00
Ethan Dalool
8ad50ca714 Add pipeable to voussoirkit. 2019-06-11 22:45:04 -07:00
Ethan Dalool
d71fc60862 Fix a bug in pathclass.Path.relative_path when cwd is root. 2019-02-17 23:43:33 -08:00
Ethan Dalool
2e5a71c765 Define listify seperately so you can call with any iterable.
The literal function will still be a bit more strict on the types
it accepts, but if you have something that you know is okay
to iterate you can call listify directly.
2019-01-01 18:01:37 -08:00
Ethan Dalool
fb2de5746c Add function sqlhelpers.literal. 2019-01-01 17:43:56 -08:00
Ethan Dalool
b4b51e3604 Initial migratory commit. 2018-12-17 22:10:00 -08:00