Page 1 of 2
lufah - Little Utility for FAH v8
Posted: Thu Mar 09, 2023 12:58 am
by calxalot
https://github.com/kbernhagen/lufah
This is a python command line utility script that should
work on macOS, Linux, and Windows.
Requirements
- python 3.8+
Install
- pip3 install lufah
There are so many ways to install python, that I will not attempt to tell how.
Please use Google or your favorite search engine.
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 2:01 am
by Marcos FRM
Cannot get/set some configs:
Code: Select all
$ lufah . info
Host: alma
Client: 8.4.2
OS: linux 4.18
CPU: 4 cores, amd64, "Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz"
$ lufah . config on-idle
null
$ lufah . config keep-awake
null
$ lufah . config cpus
null
$ lufah . config cpus 4
ERROR: cannot set "cpus" on group None
User, team, passkey, and cause work.
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 2:09 am
by calxalot
Some config items are only valid for groups on v8.3+
I think everything but user, team, passkey, cause
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 2:10 am
by calxalot
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 2:12 am
by calxalot
I didn’t think it was wise to allow some keys to be set on all groups. Nor to allow some and not others.
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 2:14 am
by calxalot
If you need to use lufah with v8.4, I can push another release that supports progress and eta. Only matters for the units command.
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 2:18 am
by Marcos FRM
Thanks, using "/" works. It would be nice a hint about this in "lufah . config -h" output.
calxalot wrote: ↑Wed Jul 24, 2024 2:14 am
If you need to use lufah with v8.4, I can push another release that supports progress and eta.
No hurry.
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 12:50 pm
by Marcos FRM
Noob question: can I dump a WU?
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 4:46 pm
by calxalot
No, because the api requires the uuid of the unit. I was lazy and didn’t think making folks type the uuid was cool.
Suggestions are welcome.
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 6:07 pm
by Marcos FRM
Perhaps a "dump-all" command.
Re: lufah - Little Utility for FAH v8
Posted: Wed Jul 24, 2024 7:22 pm
by calxalot
Ok. Sounds dangerous. Maybe make it interactive or require a —force flag.
Re: lufah - Little Utility for FAH v8
Posted: Fri Jul 26, 2024 11:34 pm
by Marcos FRM
It would be helpful to have 'timeout' and 'deadline' information in the output of the 'units' command. Or only 'deadline', to know when the WU will be automatically dumped if not completed in time.
Re: lufah - Little Utility for FAH v8
Posted: Fri Jul 26, 2024 11:48 pm
by calxalot
Ok. It will be > 80 columns. I added Core type, which made it 79.
Maybe I should use python os.get_terminal_size()
Re: lufah - Little Utility for FAH v8
Posted: Fri Feb 28, 2025 6:53 am
by arisu
It would be nice if it could display the total estimated PPD for a group. I didn't test this in many configurations and I'm not the best Python programmer but this patch works for me:
Code: Select all
diff --git a/src/lufah/commands/core/units.py b/src/lufah/commands/core/units.py
index 6de1415..a01743f 100644
--- a/src/lufah/commands/core/units.py
+++ b/src/lufah/commands/core/units.py
@@ -210,8 +210,15 @@ def units_table_lines(clients: list[FahClient]) -> list[str]:
else:
for group in groups:
name_group = f"{name}/{group}"
- lines.append(f"{name_group:<25} " + _group_status(client, group))
units = units_for_group(client, group)
+ status = _group_status(client, group)
+ if units:
+ ppd_total = 0
+ for unit in units:
+ ppd_total += unit.get("ppd", 0)
+ else:
+ ppd_total = ""
+ lines.append(f"{name_group:<25} " + f"{status:<26}" + f"{ppd_total}")
if not units:
continue
for unit in units:
Re: lufah - Little Utility for FAH v8
Posted: Fri Feb 28, 2025 7:21 am
by calxalot
Sure.
My groups have one or zero units.
Would you only want a total when >1 unit in a group?
Would it be interesting to have an all groups total when there are multiple units?