Server IP : 92.204.138.22 / Your IP : 18.191.103.181 Web Server : Apache System : Linux ns1009439.ip-92-204-138.us 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64 User : internationaljou ( 1019) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/usr/lib/panopta-agent/dependencies/linux2/python2.7/jpype/ |
Upload File : |
#***************************************************************************** # Copyright 2004-2008 Steve Menard # # 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. # #***************************************************************************** import _jpype from . import _jclass _CLASSES = {} def JException(t): return t.PYEXC class JavaException(Exception): def __init__(self, *data): if isinstance(data[0], tuple) \ and data[0][0] is _jclass._SPECIAL_CONSTRUCTOR_KEY: # this is wrapped: self.__javaobject__ = data[0][1] self.__javaclass__ = self.__javaobject__.__class__ else: self.__javaclass__ = _jclass.JClass(self.__class__.JAVACLASSNAME) self.__javaobject__ = self.__javaclass__(*data) Exception.__init__(self, self.__javaobject__) def javaClass(self): return self.__javaclass__ def message(self): return self.__javaobject__.getMessage() def stacktrace(self): StringWriter = _jclass.JClass("java.io.StringWriter") PrintWriter = _jclass.JClass("java.io.PrintWriter") sw = StringWriter() pw = PrintWriter(sw) self.__javaobject__.printStackTrace(pw) pw.flush() r = sw.toString() sw.close() return r def __str__(self): return self.__javaobject__.toString() def _initialize(): _jpype.setJavaExceptionClass(JavaException) def _makePythonException(name, bc): if name in _CLASSES: return _CLASSES[name] if name == 'java.lang.Throwable': bases = (JavaException,) else: bases = (_makePythonException(bc.getName(), bc.getBaseClass()) ,) ec = type(name+"PyRaisable", bases, {'JAVACLASSNAME': name}) _CLASSES[name] = ec return ec