From 6cc064b8f20ccdbb098dd8bfbfe9cd9e1fef2594 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Thu, 29 Aug 2019 10:17:23 +0200 Subject: add license header and improve code quality --- src/facter.py | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/src/facter.py b/src/facter.py index 8dea288..8e01142 100644 --- a/src/facter.py +++ b/src/facter.py @@ -1,3 +1,22 @@ +# Copyright 2018-2019 Florian Fischer +# +# This file is part of allocbench. +# +# allocbench is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# allocbench is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with allocbench. If not, see . + +"""Collect facts about the benchmark environment""" + import ctypes import datetime import multiprocessing @@ -9,6 +28,7 @@ import src.globalvars as gv def collect_facts(): + """Collect facts ad store them in src.globalvars.facts""" # Populate src.globalvars.facts on import _uname = platform.uname() gv.facts["hostname"] = _uname.node @@ -34,7 +54,7 @@ def collect_facts(): # Copied from pip. # https://github.com/pypa/pip/blob/master/src/pip/_internal/utils/glibc.py # Licensed under MIT. -def glibc_version_string(bin=None): +def glibc_version_string(executable=None): "Returns glibc version string, or None if not using glibc." # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen @@ -42,7 +62,7 @@ def glibc_version_string(bin=None): # main program". This way we can let the linker do the work to figure out # which libc our process is actually using. try: - process_namespace = ctypes.CDLL(bin) + process_namespace = ctypes.CDLL(executable) except OSError: return None @@ -80,10 +100,11 @@ def glibc_version_string(bin=None): # versions that was generated by pip 8.1.2 and earlier is useless and # misleading. Solution: instead of using platform, use our code that actually # works. -def libc_ver(bin=None): - glibc_version = glibc_version_string(bin) +def libc_ver(executable=None): + """Return glibc version or platform.libc_ver as fallback""" + glibc_version = glibc_version_string(executable) if glibc_version is None: # For non-glibc platforms, fall back on platform.libc_ver - return platform.libc_ver() - else: - return ("glibc", glibc_version) + return platform.libc_ver(executable) + + return ("glibc", glibc_version) -- cgit v1.2.3