home · contact · privacy
plomtask
6 months agoRe-write caching.
Christian Heller [Thu, 25 Apr 2024 03:38:31 +0000 (05:38 +0200)]
Re-write caching.

6 months agoCheck for database file's DB version (via user_version PRAGMA).
Christian Heller [Wed, 24 Apr 2024 23:52:46 +0000 (01:52 +0200)]
Check for database file's DB version (via user_version PRAGMA).

7 months agoMinor code style improvement re NamedTuple usage.
Christian Heller [Wed, 24 Apr 2024 17:47:49 +0000 (19:47 +0200)]
Minor code style improvement re NamedTuple usage.

7 months agoOn posting new Todo to Day, make missing Todo children not found through adoption.
Christian Heller [Mon, 22 Apr 2024 05:12:11 +0000 (07:12 +0200)]
On posting new Todo to Day, make missing Todo children not found through adoption.

7 months agoRefactor Todo adoption code.
Christian Heller [Mon, 22 Apr 2024 04:17:46 +0000 (06:17 +0200)]
Refactor Todo adoption code.

7 months agoOn posting a new Todo to a Day, auto-adopt existing ones per its Process' .explicit_s...
Christian Heller [Mon, 22 Apr 2024 03:56:14 +0000 (05:56 +0200)]
On posting a new Todo to a Day, auto-adopt existing ones per its Process' .explicit_steps.

7 months agoFix Process retrieval/display/saving bugs.
Christian Heller [Mon, 22 Apr 2024 03:32:47 +0000 (05:32 +0200)]
Fix Process retrieval/display/saving bugs.

7 months agoMinor fixes.
Christian Heller [Mon, 22 Apr 2024 02:38:49 +0000 (04:38 +0200)]
Minor fixes.

7 months agoSimplify code with namedtuples and dataclasses.
Christian Heller [Mon, 22 Apr 2024 01:52:44 +0000 (03:52 +0200)]
Simplify code with namedtuples and dataclasses.

7 months agoAllow Todo adoptions to be un-done in Todo view.
Christian Heller [Mon, 22 Apr 2024 00:13:39 +0000 (02:13 +0200)]
Allow Todo adoptions to be un-done in Todo view.

7 months agoImprove placement of Todos and Conditions in Day view.
Christian Heller [Sun, 21 Apr 2024 23:50:41 +0000 (01:50 +0200)]
Improve placement of Todos and Conditions in Day view.

7 months agoFurther refactor Conditions handling.
Christian Heller [Fri, 19 Apr 2024 06:08:06 +0000 (08:08 +0200)]
Further refactor Conditions handling.

7 months agoClean up enablers/disablers code and naming conventions.
Christian Heller [Fri, 19 Apr 2024 05:55:22 +0000 (07:55 +0200)]
Clean up enablers/disablers code and naming conventions.

7 months agoHide (almost all) remaining SQL code in DB module.
Christian Heller [Fri, 19 Apr 2024 05:26:01 +0000 (07:26 +0200)]
Hide (almost all) remaining SQL code in DB module.

7 months agoRefactor VersionedAttributes, ProcessSteps, and Conditions retrieval.
Christian Heller [Fri, 19 Apr 2024 04:46:11 +0000 (06:46 +0200)]
Refactor VersionedAttributes, ProcessSteps, and Conditions retrieval.

7 months agoRefactor updates of relations tables.
Christian Heller [Fri, 19 Apr 2024 04:14:25 +0000 (06:14 +0200)]
Refactor updates of relations tables.

7 months agoImprove consistency of DB column names.
Christian Heller [Fri, 19 Apr 2024 03:45:12 +0000 (05:45 +0200)]
Improve consistency of DB column names.

7 months agoRefactor models' .by_id().
Christian Heller [Fri, 19 Apr 2024 02:58:34 +0000 (04:58 +0200)]
Refactor models' .by_id().

7 months agoRefactor from_table_row methods of core DB models.
Christian Heller [Fri, 19 Apr 2024 00:20:33 +0000 (02:20 +0200)]
Refactor from_table_row methods of core DB models.

7 months agoBase core models on BaseModel providing sensible defaults.
Christian Heller [Thu, 18 Apr 2024 22:50:06 +0000 (00:50 +0200)]
Base core models on BaseModel providing sensible defaults.

7 months agoRefactor Process/ProcessStep setting and saving.
Christian Heller [Thu, 18 Apr 2024 20:28:51 +0000 (22:28 +0200)]
Refactor Process/ProcessStep setting and saving.

7 months agoRefactor HTTP module.
Christian Heller [Wed, 17 Apr 2024 15:35:45 +0000 (17:35 +0200)]
Refactor HTTP module.

7 months agoUnify ParamsParser and PostvarsParser to InputsParser.
Christian Heller [Tue, 16 Apr 2024 03:29:15 +0000 (05:29 +0200)]
Unify ParamsParser and PostvarsParser to InputsParser.

7 months agoSome test refactoring.
Christian Heller [Tue, 16 Apr 2024 02:29:43 +0000 (04:29 +0200)]
Some test refactoring.

7 months agoAdd Conditions for Todos/Processes to be met or undone by other Todos.
Christian Heller [Tue, 16 Apr 2024 01:08:54 +0000 (03:08 +0200)]
Add Conditions for Todos/Processes to be met or undone by other Todos.

7 months agoMinor refactoring.
Christian Heller [Sat, 13 Apr 2024 02:43:07 +0000 (04:43 +0200)]
Minor refactoring.

7 months agoDisable Todo.is_done setting if children are not done yet.
Christian Heller [Sat, 13 Apr 2024 02:25:36 +0000 (04:25 +0200)]
Disable Todo.is_done setting if children are not done yet.

7 months agoEnable toggling of Todo.is_done.
Christian Heller [Sat, 13 Apr 2024 01:40:17 +0000 (03:40 +0200)]
Enable toggling of Todo.is_done.

7 months agoAdd Todo.parents.
Christian Heller [Sat, 13 Apr 2024 01:20:33 +0000 (03:20 +0200)]
Add Todo.parents.

7 months agoAdd most basic Todo family relations.
Christian Heller [Sat, 13 Apr 2024 00:25:23 +0000 (02:25 +0200)]
Add most basic Todo family relations.

7 months agoCache DB objects to ensure we do not accidentally edit clones.
Christian Heller [Fri, 12 Apr 2024 22:00:58 +0000 (00:00 +0200)]
Cache DB objects to ensure we do not accidentally edit clones.

7 months agoAdd GET /todo and Todo retrieval by ID.
Christian Heller [Fri, 12 Apr 2024 20:17:25 +0000 (22:17 +0200)]
Add GET /todo and Todo retrieval by ID.

7 months agoAdd most basic Todo infrastructure.
Christian Heller [Fri, 12 Apr 2024 19:50:19 +0000 (21:50 +0200)]
Add most basic Todo infrastructure.

7 months agoDisplay what Processes use focused Process as ProcessStep.
Christian Heller [Wed, 10 Apr 2024 05:10:05 +0000 (07:10 +0200)]
Display what Processes use focused Process as ProcessStep.

7 months agoHide already-seen descendants of implicit ProcessSteps.
Christian Heller [Wed, 10 Apr 2024 04:36:15 +0000 (06:36 +0200)]
Hide already-seen descendants of implicit ProcessSteps.

7 months agoFrom Process template remove now unneeded safeguard against endless step trees.
Christian Heller [Wed, 10 Apr 2024 03:59:56 +0000 (05:59 +0200)]
From Process template remove now unneeded safeguard against endless step trees.

7 months agoFrom Process view, remove step addition field in illegal position.
Christian Heller [Wed, 10 Apr 2024 03:59:19 +0000 (05:59 +0200)]
From Process view, remove step addition field in illegal position.

7 months agoReplace ProcessChildren with more flexible ProcessStep infrastructure.
Christian Heller [Wed, 10 Apr 2024 01:24:03 +0000 (03:24 +0200)]
Replace ProcessChildren with more flexible ProcessStep infrastructure.

7 months agoFix Process.get_descendants eliminating sibling references to same Process.id_.
Christian Heller [Tue, 2 Apr 2024 01:17:31 +0000 (03:17 +0200)]
Fix Process.get_descendants eliminating sibling references to same Process.id_.

7 months agoEnsure DB connections are closed even on erroneous/failing HTTP requests.
Christian Heller [Tue, 2 Apr 2024 00:36:26 +0000 (02:36 +0200)]
Ensure DB connections are closed even on erroneous/failing HTTP requests.

7 months agoDraw Process descendant trees, and guard against recursion within them.
Christian Heller [Tue, 2 Apr 2024 00:35:20 +0000 (02:35 +0200)]
Draw Process descendant trees, and guard against recursion within them.

7 months agoAdd Process.children and improve Params/Postvars parsing and testing.
Christian Heller [Sat, 30 Mar 2024 06:14:40 +0000 (07:14 +0100)]
Add Process.children and improve Params/Postvars parsing and testing.

7 months agoCatch POSTs to undefined targets, expand and refactor tests.
Christian Heller [Wed, 27 Mar 2024 04:34:30 +0000 (05:34 +0100)]
Catch POSTs to undefined targets, expand and refactor tests.

7 months agoMinor code documentation changes.
Christian Heller [Wed, 27 Mar 2024 03:54:34 +0000 (04:54 +0100)]
Minor code documentation changes.

7 months agoIn HTTP module, wrap params parsing into ParamsParser.
Christian Heller [Wed, 27 Mar 2024 03:49:01 +0000 (04:49 +0100)]
In HTTP module, wrap params parsing into ParamsParser.

7 months agoFix module description.
Christian Heller [Wed, 27 Mar 2024 03:18:14 +0000 (04:18 +0100)]
Fix module description.

7 months agoAdd PostvarsParser to isolate postvars parsing/checking.
Christian Heller [Wed, 27 Mar 2024 02:29:03 +0000 (03:29 +0100)]
Add PostvarsParser to isolate postvars parsing/checking.

7 months agoExtend POST tests, and handling of missing form data.
Christian Heller [Wed, 27 Mar 2024 01:33:28 +0000 (02:33 +0100)]
Extend POST tests, and handling of missing form data.

7 months agoAdd test for nonsensical pages triggering 404.
Christian Heller [Wed, 27 Mar 2024 01:07:53 +0000 (02:07 +0100)]
Add test for nonsensical pages triggering 404.

7 months agoRemove unnecessary DB commit.
Christian Heller [Wed, 27 Mar 2024 01:06:06 +0000 (02:06 +0100)]
Remove unnecessary DB commit.

7 months agoRedirect / to /day, throw informative Exception on other unknown paths.
Christian Heller [Wed, 27 Mar 2024 01:04:52 +0000 (02:04 +0100)]
Redirect / to /day, throw informative Exception on other unknown paths.

7 months agoIn template views, add links to Day and Process creation.
Christian Heller [Wed, 27 Mar 2024 00:49:57 +0000 (01:49 +0100)]
In template views, add links to Day and Process creation.

7 months agoExplicitly disallow Process(id_=0).
Christian Heller [Wed, 27 Mar 2024 00:45:10 +0000 (01:45 +0100)]
Explicitly disallow Process(id_=0).

7 months agoFix HTTP exception codes.
Christian Heller [Wed, 27 Mar 2024 00:39:44 +0000 (01:39 +0100)]
Fix HTTP exception codes.

7 months agoUse different exceptions throwing different HTTP codes for different cases.
Christian Heller [Wed, 27 Mar 2024 00:34:22 +0000 (01:34 +0100)]
Use different exceptions throwing different HTTP codes for different cases.

7 months agoPut mypy into strict mode, adapt code to still pass.
Christian Heller [Tue, 26 Mar 2024 22:58:03 +0000 (23:58 +0100)]
Put mypy into strict mode, adapt code to still pass.

7 months agoAdd Processes module tests, re-organize/re-factor unit tests.
Christian Heller [Tue, 26 Mar 2024 00:25:27 +0000 (01:25 +0100)]
Add Processes module tests, re-organize/re-factor unit tests.

7 months agoAdd rump Processes, and to those VersionedAttributes.
Christian Heller [Tue, 26 Mar 2024 00:09:01 +0000 (01:09 +0100)]
Add rump Processes, and to those VersionedAttributes.

8 months agoExplicitly use DATE_FORMAT in todays_date().
Christian Heller [Wed, 20 Mar 2024 03:03:55 +0000 (04:03 +0100)]
Explicitly use DATE_FORMAT in todays_date().

8 months agoIn calendar view, fill gaps between non-subsequent dates.
Christian Heller [Wed, 20 Mar 2024 03:01:14 +0000 (04:01 +0100)]
In calendar view, fill gaps between non-subsequent dates.

8 months agoRemove some redundant code.
Christian Heller [Wed, 20 Mar 2024 02:52:49 +0000 (03:52 +0100)]
Remove some redundant code.

8 months agoAdd Day.prev_date/Day.next_date and use them for navigation in Day page.
Christian Heller [Wed, 20 Mar 2024 02:50:28 +0000 (03:50 +0100)]
Add Day.prev_date/Day.next_date and use them for navigation in Day page.

8 months agoAdd date range input form to /calendar view.
Christian Heller [Wed, 20 Mar 2024 02:37:25 +0000 (03:37 +0100)]
Add date range input form to /calendar view.

8 months agoCollect GET /calendar range from "?start=" and "?end=".
Christian Heller [Wed, 20 Mar 2024 02:33:17 +0000 (03:33 +0100)]
Collect GET /calendar range from "?start=" and "?end=".

8 months agoAllow 'today' as calendar range limit, and default to today in GET /day of empty...
Christian Heller [Wed, 20 Mar 2024 02:25:08 +0000 (03:25 +0100)]
Allow 'today' as calendar range limit, and default to today in GET /day of empty "?date=".

8 months agoFix miswritten test.
Christian Heller [Wed, 20 Mar 2024 02:19:47 +0000 (03:19 +0100)]
Fix miswritten test.

8 months agoChange variable name to avoid confusion between DB and HTTP connections.
Christian Heller [Wed, 20 Mar 2024 02:02:37 +0000 (03:02 +0100)]
Change variable name to avoid confusion between DB and HTTP connections.

8 months agoFor POST /day, do not default to a valid date if none provided.
Christian Heller [Wed, 20 Mar 2024 02:00:50 +0000 (03:00 +0100)]
For POST /day, do not default to a valid date if none provided.

8 months agoAdd POST /day tests.
Christian Heller [Wed, 20 Mar 2024 01:59:14 +0000 (02:59 +0100)]
Add POST /day tests.

8 months agoAdd basic GET /calendar test.
Christian Heller [Wed, 20 Mar 2024 01:47:51 +0000 (02:47 +0100)]
Add basic GET /calendar test.

8 months agoExtend GET /day?date= test.
Christian Heller [Wed, 20 Mar 2024 01:39:02 +0000 (02:39 +0100)]
Extend GET /day?date= test.

8 months agoOn GET /day with unknown (but valid) "?date=", create new Day.
Christian Heller [Wed, 20 Mar 2024 01:37:20 +0000 (02:37 +0100)]
On GET /day with unknown (but valid) "?date=", create new Day.

8 months agoAdd rump HTTP server/handler testing.
Christian Heller [Wed, 20 Mar 2024 01:32:07 +0000 (02:32 +0100)]
Add rump HTTP server/handler testing.

8 months agoMove TEMPLATES_DIR constant into web server module.
Christian Heller [Wed, 20 Mar 2024 01:22:08 +0000 (02:22 +0100)]
Move TEMPLATES_DIR constant into web server module.

8 months agoSlightly extend Day.by_date tests.
Christian Heller [Wed, 20 Mar 2024 00:31:33 +0000 (01:31 +0100)]
Slightly extend Day.by_date tests.

8 months agoMinor refactorings.
Christian Heller [Wed, 20 Mar 2024 00:29:58 +0000 (01:29 +0100)]
Minor refactorings.

8 months agoAdd Day POSTing.
Christian Heller [Wed, 20 Mar 2024 00:20:25 +0000 (01:20 +0100)]
Add Day POSTing.

8 months agoAdd Day.comment field.
Christian Heller [Wed, 20 Mar 2024 00:02:03 +0000 (01:02 +0100)]
Add Day.comment field.

8 months agoRename DB path environment variable to something more unique.
Christian Heller [Tue, 19 Mar 2024 23:48:16 +0000 (00:48 +0100)]
Rename DB path environment variable to something more unique.

8 months agoMinor class method reorganizations.
Christian Heller [Tue, 19 Mar 2024 23:46:13 +0000 (00:46 +0100)]
Minor class method reorganizations.

8 months agoRefactor Days tests into those with and without DB setup need.
Christian Heller [Sun, 17 Mar 2024 05:08:45 +0000 (06:08 +0100)]
Refactor Days tests into those with and without DB setup need.

8 months agoAdd single-day view / retrieval.
Christian Heller [Sun, 17 Mar 2024 05:04:29 +0000 (06:04 +0100)]
Add single-day view / retrieval.

8 months agoAdd Day.all() date ranging test.
Christian Heller [Sun, 17 Mar 2024 04:05:49 +0000 (05:05 +0100)]
Add Day.all() date ranging test.

8 months agoAdd basic date ranging to Day.all().
Christian Heller [Sun, 17 Mar 2024 04:03:05 +0000 (05:03 +0100)]
Add basic date ranging to Day.all().

8 months agoRequire explicit call to Day.save to have any Day committed to DB.
Christian Heller [Sun, 17 Mar 2024 03:03:34 +0000 (04:03 +0100)]
Require explicit call to Day.save to have any Day committed to DB.

8 months agoAdd database connection, read and write Days through them.
Christian Heller [Sun, 17 Mar 2024 02:47:56 +0000 (03:47 +0100)]
Add database connection, read and write Days through them.

8 months agoTo DB schema validation error message add diff of offending lines.
Christian Heller [Sun, 17 Mar 2024 02:21:22 +0000 (03:21 +0100)]
To DB schema validation error message add diff of offending lines.

8 months agoAdd creation, validation, setting of rump database file.
Christian Heller [Sun, 17 Mar 2024 02:15:55 +0000 (03:15 +0100)]
Add creation, validation, setting of rump database file.

8 months agoAdd testing of Day sorting.
Christian Heller [Sun, 17 Mar 2024 01:05:26 +0000 (02:05 +0100)]
Add testing of Day sorting.

8 months agoFix and extend Day date testing.
Christian Heller [Sun, 17 Mar 2024 01:03:33 +0000 (02:03 +0100)]
Fix and extend Day date testing.

8 months agoAdd date validation for Days.
Christian Heller [Sun, 17 Mar 2024 01:00:33 +0000 (02:00 +0100)]
Add date validation for Days.

8 months agoMove TEMPLATES_DIR setting into run.py.
Christian Heller [Sun, 17 Mar 2024 00:54:01 +0000 (01:54 +0100)]
Move TEMPLATES_DIR setting into run.py.

8 months agoFix broken server __init__.
Christian Heller [Sun, 17 Mar 2024 00:51:46 +0000 (01:51 +0100)]
Fix broken server __init__.

8 months agoRe-structure whole code into more package-typical file modularity.
Christian Heller [Sun, 17 Mar 2024 00:43:45 +0000 (01:43 +0100)]
Re-structure whole code into more package-typical file modularity.

8 months agoRe-structure for unittest usage.
Christian Heller [Sun, 17 Mar 2024 00:24:00 +0000 (01:24 +0100)]
Re-structure for unittest usage.

8 months agoImprove type hints sufficiently for mypy not to complain, and for Day.__eq__ check...
Christian Heller [Sat, 16 Mar 2024 23:56:26 +0000 (00:56 +0100)]
Improve type hints sufficiently for mypy not to complain, and for Day.__eq__ check comparand's type.

8 months agoAdd type hints.
Christian Heller [Sat, 16 Mar 2024 23:44:33 +0000 (00:44 +0100)]
Add type hints.

8 months agoDisplay HandledException as HTML message with appropriate status code.
Christian Heller [Sat, 16 Mar 2024 23:36:22 +0000 (00:36 +0100)]
Display HandledException as HTML message with appropriate status code.

8 months agoAdd previously forgotten days module file, oops.
Christian Heller [Sat, 16 Mar 2024 23:24:38 +0000 (00:24 +0100)]
Add previously forgotten days module file, oops.

8 months agoUse different do_GET handlers for different paths.
Christian Heller [Sat, 16 Mar 2024 23:24:01 +0000 (00:24 +0100)]
Use different do_GET handlers for different paths.