Skip to content

Commit 777145b

Browse files
committed
flux-resource: use a set type for args.queue
Problem: The `-q, --queue` option for all flux-resource(1) subcommands takes a comma separated list of queues and args.queue is a string which has to be split at the comma in place when used. This not only duplicates work, but is error prone since the string itself is also iterable and a forgotten args.queue.split() would cause the code to treat each character as a queue. Store args.queue as a set() using flux.util.FilterActionSetUpdate. Update sites where args.queue.split(",") is no longer necessary.
1 parent 72b2ab2 commit 777145b

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/cmd/flux-resource.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
resource_status,
2828
)
2929
from flux.rpc import RPC
30-
from flux.util import Deduplicator, UtilConfig
30+
from flux.util import Deduplicator, FilterActionSetUpdate, UtilConfig
3131

3232

3333
class FluxResourceConfig(UtilConfig):
@@ -198,7 +198,7 @@ def ranks_by_queue(resource_set, config, queues):
198198
"""
199199
queue_resources = QueueResources(resource_set, config)
200200
ranks = IDset()
201-
for queue in queues.split(","):
201+
for queue in queues:
202202
ranks.add(queue_resources.queue(queue).ranks)
203203
return ranks
204204

@@ -759,6 +759,8 @@ def main():
759759
drain_parser.add_argument(
760760
"-q",
761761
"--queue",
762+
action=FilterActionSetUpdate,
763+
default=set(),
762764
metavar="QUEUE,...",
763765
help="Include only specified queues in output",
764766
)
@@ -824,6 +826,8 @@ def main():
824826
status_parser.add_argument(
825827
"-q",
826828
"--queue",
829+
action=FilterActionSetUpdate,
830+
default=set(),
827831
metavar="QUEUE,...",
828832
help="Include only specified queues in output",
829833
)
@@ -879,6 +883,8 @@ def main():
879883
list_parser.add_argument(
880884
"-q",
881885
"--queue",
886+
action=FilterActionSetUpdate,
887+
default=set(),
882888
metavar="QUEUE,...",
883889
help="Include only specified queues in output",
884890
)
@@ -911,6 +917,8 @@ def main():
911917
info_parser.add_argument(
912918
"-q",
913919
"--queue",
920+
action=FilterActionSetUpdate,
921+
default=set(),
914922
metavar="QUEUE,...",
915923
help="Include only specified queues in output",
916924
)
@@ -959,6 +967,8 @@ def main():
959967
R_parser.add_argument(
960968
"-q",
961969
"--queue",
970+
action=FilterActionSetUpdate,
971+
default=set(),
962972
metavar="QUEUE,...",
963973
help="Include only specified queues in output",
964974
)

0 commit comments

Comments
 (0)