Skip to content

Commit f51b975

Browse files
committed
simplify __str__
1 parent 040ce2f commit f51b975

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

UPSmodules/UPSmodule.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -644,15 +644,18 @@ def __repr__(self) -> str:
644644

645645
def __str__(self) -> str:
646646
num_ups = self.num_upss()
647+
648+
def num_is_are(num: int) -> Tuple[int, str]:
649+
return num, 'are' if num != 1 else 'is'
650+
647651
out_str = '{} {} listed in {}.\n'.format(num_ups['total'], 'UPS' if num_ups['total'] == 1 else 'UPSs',
648652
env.UT_CONST.ups_json_file)
649653
out_str += ' {} {} compatible, {} {} accessible, {} {} responsive, '\
650-
'{} {} valid, and {} {} daemon.\n'.format(
651-
num_ups['compatible'], 'are' if num_ups['compatible'] != 1 else 'is',
652-
num_ups['accessible'], 'are' if num_ups['accessible'] != 1 else 'is',
653-
num_ups['responsive'], 'are' if num_ups['responsive'] != 1 else 'is',
654-
num_ups['valid'], 'are' if num_ups['valid'] != 1 else 'is',
655-
num_ups['daemon'], 'are' if num_ups['daemon'] != 1 else 'is')
654+
'{} {} valid, and {} {} daemon.\n'.format(*num_is_are(num_ups['compatible']),
655+
*num_is_are(num_ups['accessible']),
656+
*num_is_are(num_ups['responsive']),
657+
*num_is_are(num_ups['valid']),
658+
*num_is_are(num_ups['daemon']))
656659
return out_str
657660

658661
def __getitem__(self, uuid: str) -> UpsItem:

0 commit comments

Comments
 (0)