示例#1
0
    def load(self, warn=True):
        # capture all error messages
        oldErr = _system.err
        _system.setErr(_pstream(_NoOutputStream()))
        try:
            jdh = self._loadFile()
        finally:
            _system.setErr(oldErr)

        data = asDatasetList(jdh.getList())
        names = jdh.getNames()
        basenames = []
        from os import path as _path
        for n in names:  # remove bits of path so sanitising works
            if _path.exists(n):
                basenames.append(_path.basename(n))
            else:
                basenames.append(n)

        if len(data) != len(basenames):
            raise io_exception, "Number of names does not match number of datasets"

        metadata = None
        if self.load_metadata:
            meta = jdh.getMetadata()
            if meta:
                mnames = meta.metaNames
                if mnames:
                    metadata = [(k, meta.getMetaValue(k)) for k in mnames]

        return DataHolder(zip(basenames, data), metadata, warn)
    def test_faulty_callback(self):
        import java.lang.System as Sys
        import java.io.PrintStream as PrintStream
        import java.io.OutputStream as OutputStream

        class NullOutputStream(OutputStream):
            def write(self, b):
                pass

            def write(self, buf, offset, len):
                pass

        syserr = Sys.err
        Sys.setErr(PrintStream(NullOutputStream()))

        tools.register(self.faulty_callback)
        tools.register(self.assert_callback)
        tools.register(self.faulty_callback2)
        self.count = 0
        try:
            eval("42+1")
        finally:
            self.assertTrue(tools.unregister(self.faulty_callback))
            self.assertTrue(tools.unregister(self.faulty_callback2))
            self.assertTrue(tools.unregister(self.assert_callback))
            Sys.setErr(syserr)
        self.assertEqual(self.count, 1)
示例#3
0
    def load(self, warn=True):
        # capture all error messages
        oldErr = _system.err
        _system.setErr(_pstream(_NoOutputStream()))
        try:
            jdh = self._loadFile()
        finally:
            _system.setErr(oldErr)

        data = asDatasetList(jdh.getList())
        names = jdh.getNames()
        basenames = []
        from os import path as _path
        for n in names: # remove bits of path so sanitising works
            if _path.exists(n):
                basenames.append(_path.basename(n))
            else:
                basenames.append(n)

        if len(data) != len(basenames):
            raise io_exception("Number of names does not match number of datasets")

        metadata = None
        if self.load_metadata:
            meta = jdh.getMetadata()
            if meta:
                mnames = meta.metaNames
                if mnames:
                    metadata = [ (k, meta.getMetaValue(k)) for k in mnames ]

        return DataHolder(list(zip(basenames, data)), metadata, warn)
 def CommandEntered(self, event):
     if event.source.text == 'exit':
         # let's kill the frame
         System.setOut(self.__outOriginal)
         System.setErr(self.__errOriginal)
         self.dispose()
     else:
         # echo the input to the text area using the printstream
         s = 'in : ' + event.source.text
         self.printStream.println(s)
         
         # try the embedded interp (the getLocals was just to see if I could interact with it)
         # it's not returning anything
         a = self.interpreter.getLocals()
         self.printWriter.println(a)
         self.interpreter.exec(event.source.txt)
         
         # try the main interp (the getLocals was just to see if I could interact with it)
         # it's not returning anything
         a = getLocals()
         self.printWriter.println(a)
         exec(event.source.txt)
         
         # set the input text blank and give it focus back. we don't get here if we try to use 
         # the interpreter, though we do when we don't try to interact with the interpreter 
         self.inputField.setText('')
         self.inputField.requestFocus()
示例#5
0
def compile(wd,args):
    print "changing working directory to %s" % wd
    System.setProperty("user.dir",wd);
    print args
    outstream = ByteArrayOutputStream()
    errstream = ByteArrayOutputStream()
    System.setOut(PrintStream(outstream))
    System.setErr(PrintStream(errstream))
    try: Tom.exec(config + args)
    except: pass
    return str((outstream.toString(),errstream.toString()))
示例#6
0
 def __init__(self, *args, **kwargs):
     super(VTLKernel, self).__init__(*args, **kwargs)
     startJVM()
     from java.lang import System
     from java.io import ByteArrayOutputStream
     from java.io import PrintStream
     self.baos = ByteArrayOutputStream()
     ps = PrintStream(self.baos)
     System.setOut(ps)
     System.setErr(ps)
     it = JPackage('it')
     self.VTLSession = it.bancaditalia.oss.vtl.config.ConfigurationManager.getDefault().createSession()
 def __init__(self):
     JFrame.__init__(self, 'MagicDraw Jython Console')
     # grab the current out and err so we can set them back later (for the main java
     # System.out/err, not the PythonInterpreter
     self.__outOriginal = System.out
     self.__errOriginal = System.err
     # use the printStream as it updates the textarea
     System.setOut(self.printStream)
     System.setErr(self.printStream)
     self.CreateComponents()
     self.setVisible(True) 
     self.requestFocus()
     self.inputField.requestFocus()
示例#8
0
    def _load_tree(self):
        # capture all error messages
        from java.lang import System #@UnresolvedImport
        from java.io import PrintStream #@UnresolvedImport
        oldErr = System.err
        System.setErr(PrintStream(_NoOutputStream())) #@UndefinedVariable
        tree = None
        try:
            tree = self.ldr.loadTree()
        finally:
            System.setErr(oldErr) #@UndefinedVariable

        return tree
示例#9
0
def astral_tree(args):
    astral, input_file, output_file = args
    print('ASTRAL processing %s has begun' % input_file)
    jpype.startJVM(jpype.getDefaultJVMPath(),
                   '-Djava.class.path=%s' % astral,
                   convertStrings=False)
    from java.lang import System
    from java.io import PrintStream, File
    System.setOut(PrintStream(File('/dev/null')))
    System.setErr(PrintStream(File('/dev/null')))
    jpype.imports.registerDomain('phylonet')
    from phylonet.coalescent import CommandLine
    CommandLine.main(['-i', input_file, '-o', output_file])
    jpype.shutdownJVM()
示例#10
0
 def wrapper(*args):
     sysout = sys.stdout
     syserr = sys.stderr
     javaOut = System.out
     javaErr = System.err
     sys.stdout = DevNull()
     sys.stderr = DevNull()
     System.setOut(DevNull())
     System.setErr(DevNull())
     result = func(*args)
     sys.stdout = sysout
     sys.stderr = syserr
     System.setOut(javaOut)
     System.setErr(javaErr)
     return result
def _runCommand(cmd, runDir=None):
    if runDir is not None:
        currWorkingDir = os.getcwd()
        os.chdir(runDir)
    cmd = shlex.split(cmd)
    bosErr = ByteArrayOutputStream()
    origStdErr = System.err
    System.setErr(PrintStream(bosErr))
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
    System.setErr(origStdErr)
    if runDir is not None:
        os.chdir(currWorkingDir)
    if process.wait() != 0:
        errorStr = "Failed to call '%s'. Error: %s" % (
            cmd, String(bosErr.toByteArray()))
        _fail(errorStr)
    return process.communicate()[0]
    def load(self, warn=True):
        # capture all error messages
        from java.lang import System #@UnresolvedImport
        from java.io import PrintStream #@UnresolvedImport
        oldErr = System.err
        System.setErr(PrintStream(_NoOutputStream())) #@UndefinedVariable
        tree = None
        try:
            tree = self.ldr.loadTree()
        finally:
            System.setErr(oldErr) #@UndefinedVariable

        if tree is None:
            raise io_exception, "No tree found"

        # convert tree to own tree
        r = tree.getNodeLink()
        pool = dict()
        return self._copynode(pool, r)
示例#13
0
    def load(self, warn=True):
        # capture all error messages
        from java.lang import System  #@UnresolvedImport
        from java.io import PrintStream  #@UnresolvedImport
        oldErr = System.err
        System.setErr(PrintStream(_NoOutputStream()))  #@UndefinedVariable
        tree = None
        try:
            tree = self.ldr.loadTree()
        finally:
            System.setErr(oldErr)  #@UndefinedVariable

        if tree is None:
            raise io_exception, "No tree found"

        # convert tree to own tree
        r = tree.getNodeLink()
        pool = dict()
        return self._copynode(pool, r)
示例#14
0
文件: start.py 项目: Yaqiang/editorjy
def main():
    sw = StackWindow("Show Exception Stack", 600, 400)
    handler = sw
    Thread.setDefaultUncaughtExceptionHandler(handler)
    System.setOut(sw.printStream)
    System.setErr(sw.printStream)

    swing.UIManager.setLookAndFeel(
        swing.UIManager.getSystemLookAndFeelClassName())

    frm = FrmMain(current_folder)
    frm.visible = True

    editor_app = frm
    plotjy.jyplot.figure_parent = editor_app.getFigureDock()
    #print plotjy.jyplot.figure_parent

    interp = frm.getConsoleDockable().getInterpreter()
    interp.getSystemState().path = sys.path
    interp.exec('import plotjy')
示例#15
0
    def _set_interactive(self, interactive):
        # deactivate all handlers
        if not interactive:
            debug("disable default JVM output streams")
            if self.silent_streams is None:
                self.silent_streams = streams(SyslogOutputStream(), SyslogOutputStream(SyslogOutputStream.ERR))
            System.out.flush()
            System.err.flush()
            System.setOut(PrintStream(self.silent_streams.out, True))
            System.setErr(PrintStream(self.silent_streams.err, True))
        else:
            debug("enable default JVM output streams")
            System.out.flush()
            System.err.flush()
            System.setOut(self.original_streams.out)
            System.setErr(self.original_streams.err)

        # FIXME boadcast configuration change to connection managers

        if self.connection is not None and self.connection.jcli is not None:
            self.connection.jcli.set_silent(not interactive)
示例#16
0
    def __init__(self, max_iterations=2, grammar='grammar.yaml'):
        super().__init__()

        # noinspection PyUnresolvedReferences
        # startJVM is the right function
        jpype.startJVM(classpath=[
            str(
                Path(__file__).parent /
                "test_starlib_mcts-1.0-SNAPSHOT-all.jar")
        ])
        jpype.imports.registerDomain("isml.aidev")

        # noinspection PyUnresolvedReferences
        from java.lang import System
        # noinspection PyUnresolvedReferences
        from java.io import PrintStream, File
        # noinspection PyUnresolvedReferences
        System.setErr(PrintStream(File("ailibs.log")))  #
        # noinspection PyUnresolvedReferences
        from isml.aidev import Algorithm

        self.algo = Algorithm(max_iterations, grammar)

        self._initialized = True
示例#17
0
    def test_faulty_callback(self):
        import java.lang.System as Sys
        import java.io.PrintStream as PrintStream
        import java.io.OutputStream as OutputStream

        class NullOutputStream(OutputStream):
            def write(self, b): pass
            def write(self, buf, offset, len): pass

        syserr = Sys.err
        Sys.setErr(PrintStream(NullOutputStream()))

        tools.register(self.faulty_callback)
        tools.register(self.assert_callback)
        tools.register(self.faulty_callback2)
        self.count=0
        try:
            eval("42+1")
        finally:
            self.assertTrue(tools.unregister(self.faulty_callback))
            self.assertTrue(tools.unregister(self.faulty_callback2))
            self.assertTrue(tools.unregister(self.assert_callback))
            Sys.setErr(syserr)
        self.assertEqual(self.count, 1)
示例#18
0
文件: androidlib.py 项目: eing/moet
def connectMonkey():

    id = getId()
    device = getDevice()
    from java.io import File, PrintStream, ByteArrayOutputStream
    from java.lang import System
    outFile = ByteArrayOutputStream(100)
    errFile = ByteArrayOutputStream(100)
    System.setOut(PrintStream(outFile))
    System.setErr(PrintStream(errFile))

    # Helps start adb if not started
    # pid of monkeyrunner only exists starting sdk 2.3
    pid = getpid()
    if id is None:
        device = MonkeyRunner.waitForConnection()
    else:
        device = MonkeyRunner.waitForConnection(20, id)

    if pid is None:
        if outFile.size() > 0:
            # call connect again
            if id is None:
                device = MonkeyRunner.waitForConnection()
            else:
                device = MonkeyRunner.waitForConnection(20, id)
    print device
    # Need 2nd connection calls to get the device 
    # see defect http://code.google.com/p/android/issues/detail?id=16722 
    #if id is None:
    #    device = MonkeyRunner.waitForConnection()
    #else:
    #    device = MonkeyRunner.waitForConnection(20, id)

    setDevice(device)
    return device
 def __del__(self):
     System.setOut(self.__outOriginal)
     System.setErr(self.__errOriginal)
     print 'Goodbye'
示例#20
0
    __file__ = inspect.getframeinfo(inspect.currentframe())[0]

config = ConfigParser.ConfigParser()
config.read( "{0}/asbmansnmp.cfg".format(os.path.dirname(os.path.abspath(__file__))))

# set up logging
logging.basicConfig( filename = config.get("settings","logfile"), level=logging.INFO,format='%(asctime)s:' + logging.BASIC_FORMAT)

servers = config.sections()
timeout = config.getint("settings","timeout")
debug  = config.getboolean("settings","debug")

#discard all java output, it would mess up pass_persist communication 
if not debug:
    nulloutput = PrintStream(NullOutputStream())
    javasystem.setErr(nulloutput)
    javasystem.setOut(nulloutput)

# list of information we want to write to files / snmp
properties = [ ['ActiveServers', 1], 
               ['RqDuration', ["Max","Avg"]], 
               ['RqWait', ["Max","Avg"]],
               ['ActiveClients', ['Now','Peak']],
               ['TotalRequests', 1],
               ['BusyServers', 1],
               ['AvailableServers', 1],
               ['ClientQueueDepth', ['Cur','Max']],
               ['LockedServers', 1],
               ['Status', 1],
               ['MaxAgents', 1],
               ['MaxClients', 1]               
示例#21
0
config.read("{0}/asbmansnmp.cfg".format(
    os.path.dirname(os.path.abspath(__file__))))

# set up logging
logging.basicConfig(filename=config.get("settings", "logfile"),
                    level=logging.INFO,
                    format='%(asctime)s:' + logging.BASIC_FORMAT)

servers = config.sections()
timeout = config.getint("settings", "timeout")
debug = config.getboolean("settings", "debug")

#discard all java output, it would mess up pass_persist communication
if not debug:
    nulloutput = PrintStream(NullOutputStream())
    javasystem.setErr(nulloutput)
    javasystem.setOut(nulloutput)

# list of information we want to write to files / snmp
properties = [['ActiveServers', 1], ['RqDuration', ["Max", "Avg"]],
              ['RqWait', ["Max", "Avg"]], ['ActiveClients', ['Now', 'Peak']],
              ['TotalRequests', 1], ['BusyServers', 1],
              ['AvailableServers', 1], ['ClientQueueDepth', ['Cur', 'Max']],
              ['LockedServers', 1], ['Status', 1], ['MaxAgents', 1],
              ['MaxClients', 1]]
statusses = {"ACTIVE": 3, "STARTING": 2, "STOPPING": 1, "STOPPED": 0}


class Unbuffered:
    def __init__(self, stream):
        self.stream = stream