Server IP : 66.29.132.122 / Your IP : 3.12.34.148 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/opt/cloudlinux/venv/lib64/python3.11/site-packages/clflags/ |
Upload File : |
# # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT import glob import os.path from dataclasses import dataclass from typing import List import yaml from clflags.config import DEFAULT_FLAGS_STORAGE_PATH, DEFAULT_META_STORAGE_PATH, DEFAULT_FLAG_GLOB @dataclass class FlagInfo: name: str description: str path: str @property def enabled(self): return os.path.isfile(self.path) def __hash__(self): return hash(self.name) def list_flags_info() -> List[FlagInfo]: """ Gathers information about flags from DEFAULT_META_STORAGE_PATH and returns them in python-frienly sturcture. """ meta_files = [] storage_glob = os.path.join(DEFAULT_META_STORAGE_PATH, DEFAULT_FLAG_GLOB) for meta_file in glob.glob(storage_glob): with open(meta_file, encoding='utf-8') as f: metadata = yaml.load(f.read(), Loader=yaml.SafeLoader) flag_name = os.path.basename(meta_file) default_flag_path = os.path.join(DEFAULT_FLAGS_STORAGE_PATH, flag_name) meta_files.append(FlagInfo( name=flag_name.rsplit('.')[-2], description=metadata['description'], path=metadata.get('path', default_flag_path) )) return meta_files