Commit Graph

586 Commits (1a19d608c63b0211457f99834fd077cad7379ff1)

Author SHA1 Message Date
voussoir 1a19d608c6 Use portalocker to lock files that are being copied by spinal. 2022-11-20 13:31:02 -08:00
voussoir e275cbaef1 Use min-height:100vh instead of height. 2022-11-20 13:31:02 -08:00
voussoir 1b2117089d Add timetools.fromtimestamp, fromtimestamp_local. 2022-11-20 13:31:02 -08:00
voussoir 8185da9add Fix typo mibibyte -> mebibyte.
You guys were supposed to let me know!! How did I not notice this?
2022-11-20 13:30:57 -08:00
voussoir 3ddaa83edd Add --count option. 2022-11-12 12:42:01 -08:00
voussoir 355c02cf7e Add argument transaction_mode to begin. 2022-11-12 12:38:50 -08:00
voussoir 953ebe4951 Add imagetools.save_to_bytes. 2022-11-12 12:38:08 -08:00
voussoir 5695450289
Add a little obvious defense against filepaths in theme request. 2022-11-11 16:20:34 -08:00
voussoir c6873fdcab
Reduce long line. 2022-11-11 15:56:49 -08:00
voussoir ea7f7d5843
Use voussoirkit.progressbars in spinal. 2022-11-11 15:56:49 -08:00
voussoir 30a0b49097
Add common.css. 2022-11-11 15:56:49 -08:00
voussoir b10c5d698d
Make the helper tostring functions private. Alias Bar1_comma. 2022-11-11 11:44:21 -08:00
voussoir 1b7b506e20
Add flasktools.atom_response. 2022-11-11 11:38:29 -08:00
voussoir a06f51c49c
Add timetools.py.
I realize this is kind of stupid, but it means I never have to think
about the correct incantation again, and all my projects will
be on the same page with regards to correct utc timestamp.
2022-11-07 18:00:41 -08:00
voussoir 73e8b48003
Add dotdict._to_dict. 2022-11-07 17:57:40 -08:00
voussoir 7618c46226
Add dotdict delattr. 2022-11-07 17:57:19 -08:00
voussoir c838a9758a
Improve hms code reuse. 2022-11-07 17:56:08 -08:00
voussoir a5f982300e
Add example of traceback.format_exception. 2022-11-07 17:55:40 -08:00
voussoir 628f18e0db
Log when closing sql connections. 2022-11-07 17:55:25 -08:00
voussoir 7657ab79f1
Add example of enable_on_pageload. 2022-11-07 17:55:15 -08:00
voussoir 405900cbf4
In progressbars.normalize, return DoNothing instead of None.
So caller doesn't need to do none checks as much.
2022-11-07 17:54:55 -08:00
voussoir f522ffd54b
Add voussoirkitjs folder.
All of the javascript that I use on my three main web projects.
This can now be the canonical edition of the files.
2022-10-12 18:39:11 -07:00
voussoir b4ec72fb53
Use execute_read for explain query plan. 2022-09-07 18:05:01 -07:00
voussoir dcb051bcc7
Add dateutil, exifread to list of setup dependencies. 2022-09-07 18:04:42 -07:00
voussoir 6c49d46bc7
Bump to version 0.0.74. 2022-09-03 17:20:27 -07:00
voussoir 7374ffe283
Add pathclass.natural_sorter. 2022-08-21 13:58:44 -07:00
voussoir 2996283344
If given glob pattern is an existing path, just return that. 2022-08-21 13:57:19 -07:00
voussoir 6b26a4bd93
Add method explain which shows explain query plan. 2022-08-21 13:54:44 -07:00
voussoir 1fe6de793c
Update worms to match sqlhelpers. 2022-08-13 07:24:31 -07:00
voussoir 54fa46c4f9
Use named column inserts, but remove require_all parameter.
I am yet again bumping into the limits of extract_table_column_map
as it does not use a real parser and does not recognize generated
columns, which causes issues when I use that column list to enforce
an insert.

It probably would be better to move even farther away from extracting
columns and just asking the database instead.

Anyway we get slightly improved ergonomics of insert_filler at the cost
of not being able to enforce all columns within this function.
2022-08-13 07:23:53 -07:00
voussoir 353cba7dfd
Use exifread for paths, pil for existing image objects.
Instead of using pil all the time.
2022-08-03 18:43:17 -07:00
voussoir 720a2bebcf
Officially prefer int for IDs.
For a while I was attracted to string IDs because of the notion
that "if you're not going to perform arithmetic, it shouldn't be
an int". But ints make way better use of the allotted bits and
I'm loving getrandbits for urandom ID generation.
2022-07-17 19:48:17 -07:00
voussoir cbef38ba7f
Add new transaction locking and cleaner atomicity in worms.
This change has really made it easier to reason about database
transactions in my projects. When you use 'with db.transaction'
you know for sure that either the db will commit or rollback at
the end and you won't leave in a dirty state. And it will lock
out all other writers so nothing gets messed up.

Previously I was conflating atomicity of each function with
committing of the entire transaction, and that was causing me
grief. I think this is closer to correct.
2022-07-17 19:48:17 -07:00
voussoir abfaf27cee
Add exifread function. 2022-07-17 19:48:17 -07:00
voussoir 3dd270bb4a
Add method exists. 2022-07-17 19:48:16 -07:00
voussoir 18de52ecb7
Bandaid fix for no content-length header.
This worked fine before and then I messed it up but I'm
not in the mood to go back and look at the old code.
2022-07-17 19:48:16 -07:00
voussoir c32f89da7d
Use dateutil.parser instead of specific strptime. 2022-07-17 19:48:16 -07:00
voussoir 7a60f23ebf
Add function get_exif_datetime. 2022-06-23 11:26:40 -07:00
voussoir aeb6b89f58
Add parameter fallback to select_one_value. 2022-06-03 19:42:20 -07:00
voussoir 2c8081505a
Buffer the exif in a bytesio to save from fp being closed. 2022-05-07 10:31:31 -07:00
voussoir 7f2360d1c0
Distinguish between symlinks and ntfs junctions. 2022-04-30 07:23:51 -07:00
voussoir cb84774231
Rearrange some asserts. 2022-04-30 07:23:02 -07:00
voussoir fa78fa3b9d
Add global ARGV_LEVEL for runtime use. 2022-04-30 07:22:18 -07:00
voussoir 19f69473c8
Add AppendAction to store_types. 2022-04-30 07:21:57 -07:00
voussoir 306ddf489c
Change variable name for clarity, strip out comment lines. 2022-03-28 14:18:43 -07:00
voussoir e487188617
Bump to version 0.0.73. 2022-03-26 13:19:20 -07:00
voussoir 6204572195
Update copyright year. 2022-03-26 13:18:27 -07:00
voussoir 59b0916f88
Add more information when logging at DEBUG, LOUD. 2022-03-24 15:35:40 -07:00
voussoir 36e4a44bfb
Filter out comment lines beginning with --. 2022-03-23 23:08:43 -07:00
voussoir 956b3c6053
Handle the case in which colorama is not installed. 2022-03-23 14:38:15 -07:00