/opt/cloudlinux/venv/lib/python3.11/site-packages/clselect
# -*- 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 import csv import simplejson import sys from xml.sax.saxutils import escape as _escape from past.builtins import basestring # noqa from future.utils import iteritems HTML_ESCAPE_TABLE = { '"': """, "'": "'" } def escape_string(data): if isinstance(data, basestring): return _escape(data, HTML_ESCAPE_TABLE) elif isinstance(data, (tuple, list)): new_data = [] for value in data: new_data.append(escape_string(value)) return new_data elif isinstance(data, dict): new_dict = {} for k, v in iteritems(data): new_dict[k] = escape_string(v) return new_dict return data def validate_json_message(data): # copies message from 'details' to 'message' # in case there is no 'message' in json if not 'message' in data: data['message'] = data['details'] class clprint(object): def print_data(cls, fmt, data, escape=None): """ Dispatches data to corresponing routine for printing @param fmt: string @param data: dict """ dispatcher = { 'json': cls.print_json, 'perl': cls.print_perl, 'csv': cls.print_csv, 'text': cls.print_text } try: dispatcher[fmt](data, escape=escape) except KeyError: dispatcher['text'](data) print_data = classmethod(print_data) def print_diag(cls, fmt, data): """ Dispatches data to corresponing routine for printing @param fmt: string @param data: dict """ dispatcher = { 'json': cls.print_diag_json, 'perl': cls.print_diag_perl, 'csv': cls.print_diag_csv, 'text': cls.print_diag_text } try: dispatcher[fmt](data) except KeyError: dispatcher['text'](data) print_diag = classmethod(print_diag) def print_csv(data, escape=None): """ Prints data as comma separated values @param data: dict """ csv_out = csv.writer(sys.stdout, quoting=csv.QUOTE_ALL) for opt in sorted(data.keys()): flat_array = [opt] for key, value in iteritems(data[opt]): if escape: value = escape_string(value) flat_array.extend([key, value]) csv_out.writerow(flat_array) print_csv = staticmethod(print_csv) def print_diag_csv(data): """ Prints diagnostic messages as comma separated values @param data: dict """ validate_json_message(data) csv_out = csv.writer(sys.stdout, quoting=csv.QUOTE_ALL) csv_out.writerow([data['status'], data['message']]) print_diag_csv = staticmethod(print_diag_csv) def print_json(data, escape=None): """ Prints data as JSON @param data: dict """ if data: if escape: data = escape_string(data) print(simplejson.dumps({ 'status': 'OK', 'data': data})) else: print(simplejson.dumps({'status': 'OK'})) print_json = staticmethod(print_json) def print_diag_json(data): """ Prints diagnostic messages as JSON @param data: dict """ print(simplejson.dumps(data)) print_diag_json = staticmethod(print_diag_json) def print_text(data, escape=None): """ Prints data as plain text @param data: dict """ for opt in sorted(data.keys()): print("TITLE:%s" % (opt,)) for key, v in iteritems(data[opt]): if escape: v = escape_string(v) print('%s:%s' % (key.upper(), v)) print('') print_text = staticmethod(print_text) @staticmethod def print_diag_text(data): """ Prints diagnostic messages as plain text @param data: dict """ validate_json_message(data) print("%s:%s" % (data['status'], data['message']), file=sys.stderr) if data.get('details'): print("Details:", file=sys.stderr) print(data.get('details', '') % data.get('context', {}), file=sys.stderr) def print_diag_perl(data): """ Prints diagnostic messages as perl data structure @param data: dict """ validate_json_message(data) print("{status=>%s,message=>%s}" % (data['status'], data['message'])) print_diag_perl = staticmethod(print_diag_perl) def print_perl(data, escape=None): """ Prints data as perl data structure @param data: dict """ out = [] for opt in sorted(data.keys()): structure = [] structure.append("title=>'%s'" % (opt, )) for k, v in iteritems(data[opt]): if escape: v = escape_string(v) structure.append("%s=>'%s'" % (k, v)) out.append("{%s}" % (','.join(structure))) print('[%s]' % (','.join(out),)) print_perl = staticmethod(print_perl)
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
baseclselect
Edit
clextselect.py
Edit
clpassenger.py
Edit
clselect.py
Edit
clselectctl.py
Edit
clselectctlnodejsuser.py
Edit
clselectctlphp.py
Edit
clselectctlpython.py
Edit
clselectctlruby.py
Edit
clselectexcept.py
Edit
clselectnodejs
Edit
clselectnodejsuser
Edit
clselectphp
Edit
clselectphpuser
Edit
clselectprint.py
Edit
clselectpython
Edit
clselectpythonuser
Edit
clselectruby
Edit
clselectstatistics.py
Edit
cluserextselect.py
Edit
cluseroptselect.py
Edit
cluserselect.py
Edit
locked_extensions.ini
Edit
utils.py
Edit