b464f20e6c
stree.StringTree.find(): Add method
...
StringTree.find(key, val) (and Config.find(), for that matter) returns a list of paths with sections containing children matching key / val pairs. One of them can be None, which acts as a wildcard.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-29 12:05:10 +02:00
a9fa274bb1
stree.StringTree: Add property path
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-29 12:04:52 +02:00
9c13381e7a
cast.cast_str_to_timedelta(): Add conversion method
...
Make cast.from_str() accept time strings.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-28 11:12:49 +02:00
296dde387c
cast.from_str(): Add as alias to cast_str()
...
Using cast.from_str('blah') seems more logical than cast.cast_str(), so add that alias and see how it fares.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-28 11:11:11 +02:00
8f464fe278
Config: Add method __setitem__()
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-20 13:11:14 +02:00
7cd94fa3db
Config: Add .root
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-20 13:10:53 +02:00
18117e4590
stree.StringTree: Add .parent and .root
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-20 13:09:58 +02:00
51f08d3dce
ArgsContainer: Add class
...
ArgsContainer provides an interface similar to argparse.ArgumentParser and can be used as a drop-in replacement when fishing for arguments.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-16 06:52:45 +02:00
2bad14a891
stree.StringTree: Fix logging typo
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-16 06:52:22 +02:00
17e5972120
Release 1.0.0-24@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-05-12 18:07:08 +00:00
32803b4cdb
Start version: 1.0.0-24
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-05-12 18:06:37 +00:00
d30c41b03d
stree.StringTree.py.__set(): Disable assert self.content != str(content)
...
There's an assertion in StringTree.py.__set(), assert self.content != str(content), which often triggers. Not sure what the idea behind the assertion was, disable it.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-12 18:57:16 +02:00
4b4d8ebdb0
Config: Add property name
...
There's currently no way to access the root node content, add the property name for that.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-05-12 18:53:04 +02:00
976178f5bf
Release 1.0.0-23@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-05-12 06:53:53 +00:00
a503353925
Start version: 1.0.0-23
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-05-12 06:53:21 +00:00
20f713e6f7
Fix errors reported by mypy
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-04-29 11:54:56 +02:00
6835a569a5
query.Queries: Remove references to app
...
App is not a standardized interface, remove references to it.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-03-16 15:22:34 +01:00
dfdbf68886
Release 1.0.0-22@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-03-30 10:53:58 +00:00
81166e5cea
Start version: 1.0.0-22
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-03-30 10:53:23 +00:00
34de9114c5
Config: Support glob_paths_env_key
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-03-12 13:37:32 +01:00
495cebd769
db.Session: Add
...
Add database session API to db. This is a breaking change, because from this commit on, a session object has to be passed to every query.
This commit also removes any reference to Cmds / App objects. An instantiated database object can be worked with outside of an App.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-03-10 18:44:39 +01:00
841b5a3391
Fix errors reported by mypy
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-03-01 07:58:19 +01:00
babd3ef933
Release 1.0.0-21@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-02-20 19:19:19 +00:00
7454acdd34
Start version: 1.0.0-21
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-02-20 19:18:51 +00:00
2811d99c30
project.conf: Build devel subpackage
...
-devel subpackge is needed to build a couple of other packages, so build it.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-20 19:14:31 +00:00
c785df8d4d
Release 1.0.0-20@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-02-20 19:00:44 +00:00
721949e94b
Start version: 1.0.0-20
...
Signed-off-by: janware DevOps <devops@janware.com>
2025-02-20 19:00:17 +00:00
5b71c081f4
schema.Table: Support property edit_columns
...
Support property edit_columns, intended to populate forms where rows are created or edited, defaulting to log_columns.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-19 17:29:09 +01:00
7f2e0e3916
schema.Table: Add property default_sort_columns
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-17 12:22:26 +01:00
b33d9af302
schema.Table: Add add_child_row_location() and friends
...
Add the following methods:
add_child_row_location(self, parent_table: Union[Self, str], **kwargs) -> Optional[str] add_child_row_location_rules(self) -> Iterable[str] add_child_row_location_rule(self, child_table: Union[Self, str]) -> Optional[str]
These are meant to be called from different pieces of code:
- add_child_row_location() is meant to be used where the parent is rendered, to display a link to adding another child
- add_child_row_location_rules() and add_child_row_location_rule() are meant to be invoked where processing is going to be done, i.e. likely code rendering child row content
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-15 16:30:14 +01:00
5ca775eb82
schema.Table: Add property add_row_location_rule and friends
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-15 11:43:00 +01:00
9b1650b58f
jwutils: Add Auth
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-14 14:29:30 +01:00
74902349b6
Config: Add method entries()
...
Config has no way to tell if a given path has children, so add the entries() method.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-15 08:20:53 +01:00
79a3696eaa
Config: Make branch() throw exception on inexistent path
...
Config.branch(path) just silently returns the entire tree if path doesn't exist in the config. Fix that.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-15 08:19:25 +01:00
91d7517054
schema.Column: Add property translate
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-14 08:12:02 +01:00
ba1b7eda19
schema.Table: Add property relationships
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-13 08:35:40 +01:00
9685f07eb8
query.Queries: Add method keys()
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-12 18:36:37 +01:00
173ff0ef5a
schema: Continue
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-04 10:27:38 +01:00
4cc9906055
db.query: Add Query, QueryResult, Queries
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-02 14:02:21 +01:00
2b061a6dc4
db: Add DataBase.py
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-02 15:58:52 +01:00
859bb8000f
Cmds / Cmd: Add comments and debug logging
...
Add some comments and a little debug logging to clarify operation.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-02 14:01:21 +01:00
fb907b0493
schema: Add utils
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-01 09:58:25 +01:00
c50c614f13
schema: Continue
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-01-30 20:34:44 +01:00
9cfcc1bd68
db.schema: Add location definition to API
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-01-30 14:26:43 +01:00
e688cd2364
Config: Support refuse_mode_mask
...
refuse_mode_mask can be passed to the constructor and determines which permission bits need to be absent from config file modes if they smell like they contain secrets.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-01-30 09:54:03 +01:00
17ab47e96a
Add db.schema framework
...
jw.db.schema is a set of classes meant as an interface to describe a database schema.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-01-28 10:18:57 +01:00
cc7aeeac31
misc: Add load_function()
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-01-29 16:54:10 +01:00
e004f8ade7
db: Add TableIoHandler
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-01-28 14:27:27 +01:00
7399388f60
Fix errors reported by mypy
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-01-29 16:51:07 +01:00
bee3e28ff5
Config: Accept strings as value for glob_paths
...
Make Config's ctor accept strings as values for glob_paths, as opposed to lists. This covers the canonical case of one configuration file being passed.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-01-29 12:56:32 +01:00