summaryrefslogtreecommitdiff
path: root/src/op_mode/cpu_summary.py
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2022-02-21 14:03:22 -0600
committerGitHub <noreply@github.com>2022-02-21 14:03:22 -0600
commitd59fac9148ccbe677716baebac813c45b84de712 (patch)
tree5fd228cf341163e689692d26effa0885090d86fb /src/op_mode/cpu_summary.py
parent36a8c636d6d91550237bfa19b12de949319bc692 (diff)
parenta3b7e985911eeaccac4fa229563b78c5a64e7e90 (diff)
downloadvyos-1x-d59fac9148ccbe677716baebac813c45b84de712.tar.gz
vyos-1x-d59fac9148ccbe677716baebac813c45b84de712.zip
Merge pull request #1233 from dmbaturin/structured-op-mode
T2719: initial batch of standardized structure op mode scripts
Diffstat (limited to 'src/op_mode/cpu_summary.py')
-rwxr-xr-xsrc/op_mode/cpu_summary.py36
1 files changed, 24 insertions, 12 deletions
diff --git a/src/op_mode/cpu_summary.py b/src/op_mode/cpu_summary.py
index cfd321522..3bdf5a718 100755
--- a/src/op_mode/cpu_summary.py
+++ b/src/op_mode/cpu_summary.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
-# Copyright (C) 2018 VyOS maintainers and contributors
+# Copyright (C) 2018-2022 VyOS maintainers and contributors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 or later as
@@ -19,18 +19,30 @@ from vyos.util import colon_separated_to_dict
FILE_NAME = '/proc/cpuinfo'
-with open(FILE_NAME, 'r') as f:
- data_raw = f.read()
+def get_raw_data():
+ with open(FILE_NAME, 'r') as f:
+ data_raw = f.read()
-data = colon_separated_to_dict(data_raw)
+ data = colon_separated_to_dict(data_raw)
-# Accumulate all data in a dict for future support for machine-readable output
-cpu_data = {}
-cpu_data['cpu_number'] = len(data['processor'])
-cpu_data['models'] = list(set(data['model name']))
+ # Accumulate all data in a dict for future support for machine-readable output
+ cpu_data = {}
+ cpu_data['cpu_number'] = len(data['processor'])
+ cpu_data['models'] = list(set(data['model name']))
-# Strip extra whitespace from CPU model names, /proc/cpuinfo is prone to that
-cpu_data['models'] = map(lambda s: re.sub(r'\s+', ' ', s), cpu_data['models'])
+ # Strip extra whitespace from CPU model names, /proc/cpuinfo is prone to that
+ cpu_data['models'] = list(map(lambda s: re.sub(r'\s+', ' ', s), cpu_data['models']))
+
+ return cpu_data
+
+def get_formatted_output():
+ cpu_data = get_raw_data()
+
+ out = "CPU(s): {0}\n".format(cpu_data['cpu_number'])
+ out += "CPU model(s): {0}".format(",".join(cpu_data['models']))
+
+ return out
+
+if __name__ == '__main__':
+ print(get_formatted_output())
-print("CPU(s): {0}".format(cpu_data['cpu_number']))
-print("CPU model(s): {0}".format(",".join(cpu_data['models'])))