08045442e2
StringTree: Fix exception in child_list()
...
child_list() throws an exception saying that <str> has no to_list() method. No, it hasn't. No idea how this has even worked at all, ever.
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-10-06 17:04:25 +02:00
f6cdd395da
Release 1.0.0-17@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2024-07-16 12:55:18 +00:00
9e185fafe8
Start version: 1.0.0-17
...
Signed-off-by: janware DevOps <devops@janware.com>
2024-07-16 12:54:58 +00:00
4e53e37c7c
Cmds.py: Emit usage message by default
...
Running an application derived from Cmds throws an error if invoked without arguments, fix that.
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-07-11 20:38:07 +02:00
047ce7227c
Release 1.0.0-16@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2024-06-04 12:55:04 +00:00
e51676fae9
Start version: 1.0.0-16
...
Signed-off-by: janware DevOps <devops@janware.com>
2024-06-04 12:54:43 +00:00
748247f1ed
Add jwutils.StopWatch
...
Add StopWatch class, intended to be useful for benchmarking.
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-06-03 12:33:36 +02:00
27813efc04
Fix bogus type errors dug up by mypy
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-06-02 12:05:44 +02:00
7888b2cff4
Release 1.0.0-15@suse-tumbleweed/x86_64
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-05-28 18:16:22 +00:00
3885ee2c51
Start version: 1.0.0-15
...
Signed-off-by: janware DevOps <devops@janware.com>
2024-05-28 18:16:02 +00:00
bab0cfd680
Release 1.0.0-14@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2023-03-17 13:28:45 +00:00
97d528746d
Start version: 1.0.0-14
...
Signed-off-by: janware DevOps <devops@janware.com>
2023-03-17 13:28:24 +00:00
319d97e8bc
log.py: Fix mypy warning (Incompatible types in assignment)
...
Fix mypy warning
jwutils/log.py:209: error: Incompatible types in assignment (expression has type int, variable has type Literal[5])
Signed-off-by: Jan Lindemann <jan@janware.com>
2022-10-04 13:11:44 +02:00
a46a0eb02a
Release 1.0.0-13@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2020-11-22 13:15:35 +00:00
1a6260ea5e
Start version: 1.0.0-13
...
Signed-off-by: janware DevOps <devops@janware.com>
2020-11-22 12:49:54 +00:00
8029b672bf
slog(): Add only_printable keyword argument
...
Add only_printable keyword argument to slog(). It defaults to False. If it's true, non-printable characters are not logged but replaced with a printable character.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-05-16 15:33:13 +00:00
be4389a1f0
project.conf: Fix syntax
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-05-15 20:44:44 +00:00
c63d1a729e
misc: Add dump()
...
Add misc.dump(), which takes an iterable, assumes all elements have a dump() method, and calls it on all of them.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-23 10:34:28 +02:00
4a047ca260
log.remove_from_prefix(): Add support for str argument
...
In addition to an integer, a string can now be passed, which allows
prefix = ' | '
append_to_prefix(prefix)
slog(INFO, "something")
remove_from_prefix(prefx)
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-23 10:32:05 +02:00
86e25a2dfb
misc: Add load_(classes|class_names|object)()
...
Add some functions to aid in dynamically loading objects.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-22 14:02:35 +02:00
85672d6cf3
StringTree.value(): Add optional path argument
...
As opposed to the C++ variant, StringTree.value() doesn't take a path argument, but only returns the value of the node it's called on. Change this. Returns None if the path is not found.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-18 08:38:34 +02:00
ee3d49a23c
Add multi_key_dict.py
...
Add multi_key_dict.py from https://github.com/formiaczek/multi_key_dict
It uses an MIT license, the Copyright notice should be added to this project's documentation.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-13 15:14:52 +02:00
5924ec9769
log.get_caller_pos(): Add kwargs argument
...
Add a kwargs keyword argument. This should allow a kwargs containing a "caller=" argument to be passed to the function and just do the right thing. Badly tested.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-11 10:56:30 +02:00
77d43aebad
Add type annotations from monkeytype + jw-devops/test
...
Add type annotations as generated by monkeytype and jw-devops/test, plus some hand editing to satisfy both monkeytype and mypy.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-10 17:55:36 +02:00
952bf4a4e1
Fix Python errors reported by mypy
...
This commit fixes Python errors and warnings reported by static type checking with mypy.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-10 14:17:15 +02:00
a9dd9c7d0d
jwutils.Cmds: Remove some useless code
...
This commit removes some useless code from the Cmds class.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-10 14:13:59 +02:00
47f4de938f
jwutils.misc: Add commit_tmpfile()
...
commit_tmpfile() is a better os.rename which doesn't do anything if source and target files are equal, and logs if does something.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-08 08:50:54 +02:00
33d3b7a7b3
jwutils.Cmds: Cmd.add_subcommands() fails for multiple commands
...
jwutils.Cmd.add_subcommands() had two issues. First, it failed for more than one command, and with that fixed, it only added the first command of a list of commands passed as an argument. This commit fixes both issues and leaves some logging and cleanup in place, which was used during debugging.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-07 09:23:13 +02:00
6d6c48e6b8
jwutils.misc: Add get_derived_classes()
...
get_derived_classes(mod, baseclass) returns a list of class definitions from a module which are subclasses of baseclass.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-05 16:53:12 +02:00
fb6b205440
StringTree.__getitem__(): Return value child
...
StringTree.__getitem__() returned the node, now return its value child instead. That's nicer and closer to the expected behaviour, as it supports StringTree usage as a key-value store for configuration or so. It breaks the existing API, but I think I have fixed the only pace where it was used: jw-grammar/grammar.py.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-05 14:23:59 +02:00
edf861c985
jwutils.Cmds: Fix empty to cmds member variable
...
Cmds.cmds was sometimes empty, so fix that and make sure it points to the Cmds instance it was crated by. Actually the name of the Cmds class is a bad pick, should have been App or something, so to add .app, too, as a path for future compatibility.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-05 14:17:54 +02:00
c5b964a5bb
jwutils.Cmd: Add method add_subcommands()
...
Add method jwutils.Cmd.add_subcommands(). cmd.add_subcommands(C) will parse and invoke C as a subcommand of cmd, if C is of type jwutils.cmd.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-04 16:32:39 +02:00
ad67dd3832
jwutils.Cmds: Beautify log invocations
...
Add from jwutils import log to avoid unnecessary jwutils.log module path.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-04 13:43:08 +02:00
c0b31bb968
Release 1.0.0-12@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2020-05-10 09:55:50 +00:00
0d1634a3ed
Start version: 1.0.0-12
...
Signed-off-by: janware DevOps <devops@janware.com>
2020-05-10 09:55:29 +00:00
e48fa1b00a
Cmds.py: Add early evaluation of --log-xxx
...
jwutils.log.set_flags() and .set_level() is not set until after all commands are loaded. This can make debugging complicated. OTOH, command-line parsing is also not done until all commands are loaded, because they define the command line options. This commit adds some poor man's command line parsing for fetching --log-level and --log-flags only, and applying them before the commands are all loaded.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-04 11:39:01 +02:00
dc532704d0
StringTree: Add support for adding StringTree children
...
Add support for adding children of type StringTree. If a StringTree argument is passed to .add(), this should do the right thing. It makes use of the newly added .__add_children() method and involves quite a bit of hairy case distinctions.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-04 11:35:26 +02:00
dead9d9561
StringTree: add child_list()
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-04 11:31:25 +02:00
160667b6a9
StringTree: Re-implement __str__()
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-04 11:29:14 +02:00
020bb970bd
stree/serdes.py: Add support for kwarg "root_content"
...
parse() and read() up to present automatically set the root content of a StringTree object to "root". This can now be optionally defined by the "root_content" keyword argument.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-04 11:14:33 +02:00
79ebb798c7
slog_m(): Support kwarg "caller"
...
Treat slog_m() to a caller keyword argument, up to now only supported by slog().
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-04 11:12:11 +02:00
70bfb51948
Release 1.0.0-11@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2020-02-10 19:00:10 +00:00
948d46311f
Start version: 1.0.0-11
...
Signed-off-by: janware DevOps <devops@janware.com>
2020-02-10 18:59:50 +00:00
a5bf929f14
Add missing async keywords to jwutils.Cmd.run() reimplementations
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-02-10 19:49:46 +01:00
f04a9c4fb2
Release 1.0.0-10@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2020-02-10 13:58:57 +00:00
ad9eee07d4
Change dependencies python-magic|termcolor -> python3
...
This breaks on both openSUSE Tumbleweed and Ubuntu 18.04.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-02-10 13:54:42 +00:00
7dfe9cf91f
Start version: 1.0.0-10
...
Signed-off-by: janware DevOps <devops@janware.com>
2020-02-10 13:49:50 +00:00
08f9aae61a
log.get_caller_pos(): Implement frames > 1
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-30 17:46:20 +01:00
c2f229c95c
Release 1.0.0-9@suse-tumbleweed/x86_64
...
Signed-off-by: janware DevOps <devops@janware.com>
2019-12-27 16:22:01 +01:00
a8f8c7d6ce
Start version: 1.0.0-9
...
Signed-off-by: janware DevOps <devops@janware.com>
2019-12-27 16:14:11 +01:00