ACIL FM
Dark
Refresh
Current DIR:
/usr/lib/python3.9/site-packages/cockpit
/
usr
lib
python3.9
site-packages
cockpit
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
channels
-
chmod
Open
Rename
Delete
data
-
chmod
Open
Rename
Delete
_vendor
-
chmod
Open
Rename
Delete
__pycache__
-
chmod
Open
Rename
Delete
beiboot.py
22.15 MB
chmod
View
DL
Edit
Rename
Delete
beipack.py
2.99 MB
chmod
View
DL
Edit
Rename
Delete
bridge.py
12 MB
chmod
View
DL
Edit
Rename
Delete
channel.py
22.32 MB
chmod
View
DL
Edit
Rename
Delete
config.py
3.37 MB
chmod
View
DL
Edit
Rename
Delete
internal_endpoints.py
5.95 MB
chmod
View
DL
Edit
Rename
Delete
jsonutil.py
7.42 MB
chmod
View
DL
Edit
Rename
Delete
osinfo.py
929 B
chmod
View
DL
Edit
Rename
Delete
packages.py
21.25 MB
chmod
View
DL
Edit
Rename
Delete
peer.py
12.45 MB
chmod
View
DL
Edit
Rename
Delete
polkit.py
7.4 MB
chmod
View
DL
Edit
Rename
Delete
polyfills.py
2.27 MB
chmod
View
DL
Edit
Rename
Delete
protocol.py
9.52 MB
chmod
View
DL
Edit
Rename
Delete
remote.py
8.93 MB
chmod
View
DL
Edit
Rename
Delete
router.py
10.08 MB
chmod
View
DL
Edit
Rename
Delete
samples.py
17.02 MB
chmod
View
DL
Edit
Rename
Delete
superuser.py
9.74 MB
chmod
View
DL
Edit
Rename
Delete
transports.py
17.92 MB
chmod
View
DL
Edit
Rename
Delete
_version.py
20 B
chmod
View
DL
Edit
Rename
Delete
__init__.py
68 B
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/lib/python3.9/site-packages/cockpit/config.py
# This file is part of Cockpit. # # Copyright (C) 2023 Red Hat, Inc. # # 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 3 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, see <https://www.gnu.org/licenses/>. import configparser import logging import os from pathlib import Path from cockpit._vendor.systemd_ctypes import bus logger = logging.getLogger(__name__) XDG_CONFIG_HOME = Path(os.getenv('XDG_CONFIG_HOME') or os.path.expanduser('~/.config')) DOT_CONFIG_COCKPIT = XDG_CONFIG_HOME / 'cockpit' def lookup_config(filename: str) -> Path: config_dirs = os.environ.get('XDG_CONFIG_DIRS', '/etc').split(':') fallback = None for config_dir in config_dirs: config_path = Path(config_dir, 'cockpit', filename) if not fallback: fallback = config_path if config_path.exists(): logger.debug('lookup_config(%s): found %s', filename, config_path) return config_path # default to the first entry in XDG_CONFIG_DIRS; that's not according to the spec, # but what Cockpit has done for years logger.debug('lookup_config(%s): defaulting to %s', filename, fallback) assert fallback # mypy; config_dirs always has at least one string return fallback class Config(bus.Object, interface='cockpit.Config'): def __init__(self) -> None: self.reload() @bus.Interface.Method(out_types='s', in_types='ss') def get_string(self, section: str, key: str) -> str: try: return self.config[section][key] except KeyError as exc: raise bus.BusError('cockpit.Config.KeyError', f'key {key} in section {section} does not exist') from exc @bus.Interface.Method(out_types='u', in_types='ssuuu') def get_u_int(self, section: str, key: str, default: int, maximum: int, minimum: int) -> int: try: value = self.config[section][key] except KeyError: return default try: int_val = int(value) except ValueError: logger.warning('cockpit.conf: [%s] %s is not an integer', section, key) return default return min(max(int_val, minimum), maximum) @bus.Interface.Method() def reload(self) -> None: self.config = configparser.ConfigParser(interpolation=None) cockpit_conf = lookup_config('cockpit.conf') logger.debug("cockpit.Config: loading %s", cockpit_conf) # this may not exist, but it's ok to not have a config file and thus leave self.config empty try: self.config.read(cockpit_conf) except configparser.Error as exc: logger.warning("cockpit.conf is invalid: %s", exc) self.config.clear() return class Environment(bus.Object, interface='cockpit.Environment'): variables = bus.Interface.Property('a{ss}') @variables.getter def get_variables(self) -> 'dict[str, str]': return os.environ.copy()
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply