Exemple #1
0
        class ConnReader:
            def __init__(self, conn):
                self.conn = conn
                self.url = conn.getURL().toExternalForm()

                fields = self.conn.getHeaderFields()
                self.headers = Headers()
                for key in fields:
                    if key != None:
                        self.headers[key.lower()] = conn.getHeaderField(key)
                self.bs = BufferedInputStream(self.conn.getInputStream())

            def read(self, *args):
                if len(args) == 1:
                    size = args[0]
                    buf = zeros(size, 'b')
                    off = 0
                    while size > 0:
                        count = self.bs.read(buf, off, size)
                        if count == -1:
                            buf = buf[:off]
                            break
                        off += count
                        size -= count

                    return buf.tostring()
                else:
                    return self.read(int(self.headers['content-length']))

            def info(self):
                return Headers(self.headers)

            def close(self):
                self.bs.close()
Exemple #2
0
        class ConnReader:
            def __init__(self, conn):
                self.conn = conn
                self.url = conn.getURL().toExternalForm()

                fields = self.conn.getHeaderFields()
                self.headers = Headers()
                for key in fields:
                    if key != None:
                        self.headers[key.lower()] = conn.getHeaderField(key)
                self.bs = BufferedInputStream(self.conn.getInputStream())

            def read(self, *args):
                if len(args) == 1:
                    size = args[0]
                    buf = zeros(size, 'b')
                    off = 0
                    while size > 0:
                        count = self.bs.read(buf, off, size)
                        if count == -1:
                            buf = buf[:off]
                            break
                        off += count
                        size -= count

                    return buf.tostring()
                else:
                    return self.read(int(self.headers['content-length']))

            def info(self):
                return Headers(self.headers)

            def close(self):
                self.bs.close()
Exemple #3
0
    def write(self, archive, path, dest):
        archive.putArchiveEntry(ZipArchiveEntry(dest))

        input = BufferedInputStream(FileInputStream(path))

        IOUtils.copy(input, archive)
        input.close()
        archive.closeArchiveEntry()
def load_common_properties():
    """Loads common test properties into grinder properties."""

    current_dir = os.path.dirname(os.path.abspath(__file__))
    file_name = os.path.join(current_dir, PROPERTIES)
    source = BufferedInputStream(FileInputStream(file_name))
    props = Properties()
    props.load(source)
    source.close()

    for key in props.keySet().iterator():
        grinder.properties[key] = props.get(key)
Exemple #5
0
    def loadProperties(self, source):
        """ Load a Java properties file into a Dictionary. """
        result = {}

        # name provided, use file
        if type(source) == type(''):
            source = FileInputStream(source)

        bis = BufferedInputStream(source)
        props = jProperties()
        props.load(bis)
        bis.close()
        for key in props.keySet().iterator():
            result[key] = props.get(key)
        return result
Exemple #6
0
    def loadProperties(self, source):
        """ Load a Java properties file into a Dictionary. """
        result = {}

        # name provided, use file
        if type(source) == type(""):
            source = FileInputStream(source)

        bis = BufferedInputStream(source)
        props = jProperties()
        props.load(bis)
        bis.close()
        for key in props.keySet().iterator():
            result[key] = props.get(key)
        return result
 def read_entry():
     is_ = None
     try:
         is_ = BufferedInputStream(zip_file.getInputStream(entry))
         size = entry.getSize()
         data = jarray.zeros(size, 'b')
         nread_tot = 0
         while nread_tot < size:
             nread = is_.read(data, nread_tot, size-nread_tot)
             if nread <= 0:
                 raise java.io.IOException('Read ended prematurely')
             nread_tot += nread
         return data
     finally:
         if not is_ is None:
             is_.close()
Exemple #8
0
 def read_entry():
     is_ = None
     try:
         is_ = BufferedInputStream(zip_file.getInputStream(entry))
         size = entry.getSize()
         data = jarray.zeros(size, 'b')
         nread_tot = 0
         while nread_tot < size:
             nread = is_.read(data, nread_tot, size - nread_tot)
             if nread <= 0:
                 raise java.io.IOException('Read ended prematurely')
             nread_tot += nread
         return data
     finally:
         if not is_ is None:
             is_.close()
Exemple #9
0
        def processResponse(self, response):

            #threadContext = HTTPPluginControl.getThreadHTTPClientContext()
            #threadContext.resumeClock()

            # We just want to read data flow - so we can scale
            bodyLength = 0
            bin = BufferedInputStream(response.getInputStream())
            buf = jarray.zeros(8192, 'b')
            lenBuf = 0
            while lenBuf != -1:
                lenBuf = bin.read(buf)
                bodyLength += lenBuf
            bin.close()
            grinder.getLogger().output("INFO: Download of %d bytes finished" %
                                       (bodyLength))

            #threadContext.pauseClock();

            # Update statistics with body size
            testStatistics = grinder.getStatistics()
            if (testStatistics.isTestInProgress()):
                testStatistics.getForCurrentTest().addLong(
                    "httpplugin.responseLength", bodyLength)
from java.io import File as F
from java.io import FileInputStream as FI
from java.io import FileOutputStream as FO
from java.io import BufferedInputStream as BI
from java.io import BufferedOutputStream as BO
from java.util.zip import InflaterInputStream as II

file_read = F("file5.txt")
file_write = F("file6.txt")

bi = BI(II(FI(file_read)))
bo = BO(FO(file_write))

while True:
    val = bi.read()
    if val != -1:
        bo.write(val)
    else:
        break

bi.close()
bo.close()
Exemple #11
0
class IncrementalParser(object):
    def __init__(self, encoding=ENCODING):
        self._depth = 0
        self._buffer = ''
        self.handler = IncrementalHandler()

        self._encoding = encoding

        self._fed = PipedOutputStream()
        self._feeder = BufferedInputStream(PipedInputStream(self._fed))
        self._fed.write('<?xml version="1.0" encoding="%s"?>' % encoding)
            
        ipf = XMLInputFactory.newInstance()
        ipf.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, True)
        self._sr = ipf.createXMLStreamReader(self._feeder)
        self._er = ipf.createXMLEventReader(self._sr)

    def close(self):
        self._initialized = False
        self.handler.reset()
        self._depth = 0
        self._buffer = ''
        self._fed.close()
        self._feeder.close()
        self._er.close()
        self._sr.close()
        
    def reset(self):
        self.close()
        
        self._fed = PipedOutputStream()
        self._feeder = BufferedInputStream(PipedInputStream(self._fed))
        self._fed.write('<?xml version="1.0" encoding="%s"?>' % self._encoding)
            
        ipf = XMLInputFactory.newInstance()
        ipf.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, True)
        self._sr = ipf.createXMLStreamReader(self._feeder)
        self._er = ipf.createXMLEventReader(self._sr)
        
    def _parse(self, chunk, fragment=False):
        if chunk.startswith('<?xml '):
            chunk = chunk[chunk.find('?>')+2:]
            if not chunk:
                return
        self._fed.write(chunk)
        er = self._er
        consumed = False
        while er.hasNext():
            if not fragment and self._feeder.available() == 0 and consumed:
                break
            event = er.next()
            etype = event.getEventType()
            if etype == XMLEvent.START_ELEMENT:
                consumed = False
                if not chunk.endswith('/>'):
                    consumed = True
                self._depth += 1
                element = event.asStartElement()
                self.handler.startElementNS(None, element.getName(), element.getAttributes())
            elif etype == XMLEvent.END_ELEMENT:
                consumed = True
                self._depth -= 1
                element = event.asEndElement()
                self.handler.endElementNS(None, element.getName())
                if self._depth == 0:
                    break
            elif etype == XMLEvent.CHARACTERS:
                consumed = False
                self.handler.characters(event.asCharacters().getData())
            elif etype == XMLEvent.COMMENT:
                consumed = True
                self.handler.comment(event.getText())
            elif etype == XMLEvent.PROCESSING_INSTRUCTION:
                consumed = True
                self.handler.processingInstruction(event.getTarget(), event.getData())
            elif etype == XMLEvent.START_DOCUMENT:
                self.handler.startDocument()
            elif etype == XMLEvent.END_DOCUMENT:
                break

    def feed(self, chunk):
        if not chunk:
            return

        self._buffer = self._buffer + chunk
        pos = posa = 0
        posb = -1
        last_posb = 0
        new_buffer = ''
        buf_len = len(self._buffer)
        while 1:
            found = False
            posa = self._buffer.find('<', pos)
            if posa > -1:
                posb = self._buffer.find('>', posa)
                if posb > -1: 
                    found = True
                    pos = posb
                    self._parse(self._buffer[last_posb:posb+1])  
                    last_posb = posb+1
                
            if not found and posb != buf_len:
                break
                
        self._buffer = self._buffer[last_posb:]
Exemple #12
0
class IncrementalParser(object):
    def __init__(self, encoding=ENCODING):
        self._depth = 0
        self._buffer = ''
        self.handler = IncrementalHandler()

        self._encoding = encoding

        self._fed = PipedOutputStream()
        self._feeder = BufferedInputStream(PipedInputStream(self._fed))
        self._fed.write('<?xml version="1.0" encoding="%s"?>' % encoding)

        ipf = XMLInputFactory.newInstance()
        ipf.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, True)
        self._sr = ipf.createXMLStreamReader(self._feeder)
        self._er = ipf.createXMLEventReader(self._sr)

    def close(self):
        self._initialized = False
        self.handler.reset()
        self._depth = 0
        self._buffer = ''
        self._fed.close()
        self._feeder.close()
        self._er.close()
        self._sr.close()

    def reset(self):
        self.close()

        self._fed = PipedOutputStream()
        self._feeder = BufferedInputStream(PipedInputStream(self._fed))
        self._fed.write('<?xml version="1.0" encoding="%s"?>' % self._encoding)

        ipf = XMLInputFactory.newInstance()
        ipf.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, True)
        self._sr = ipf.createXMLStreamReader(self._feeder)
        self._er = ipf.createXMLEventReader(self._sr)

    def _parse(self, chunk, fragment=False):
        if chunk.startswith('<?xml '):
            chunk = chunk[chunk.find('?>') + 2:]
            if not chunk:
                return
        self._fed.write(chunk)
        er = self._er
        consumed = False
        while er.hasNext():
            if not fragment and self._feeder.available() == 0 and consumed:
                break
            event = er.next()
            etype = event.getEventType()
            if etype == XMLEvent.START_ELEMENT:
                consumed = False
                if not chunk.endswith('/>'):
                    consumed = True
                self._depth += 1
                element = event.asStartElement()
                self.handler.startElementNS(None, element.getName(),
                                            element.getAttributes())
            elif etype == XMLEvent.END_ELEMENT:
                consumed = True
                self._depth -= 1
                element = event.asEndElement()
                self.handler.endElementNS(None, element.getName())
                if self._depth == 0:
                    break
            elif etype == XMLEvent.CHARACTERS:
                consumed = False
                self.handler.characters(event.asCharacters().getData())
            elif etype == XMLEvent.COMMENT:
                consumed = True
                self.handler.comment(event.getText())
            elif etype == XMLEvent.PROCESSING_INSTRUCTION:
                consumed = True
                self.handler.processingInstruction(event.getTarget(),
                                                   event.getData())
            elif etype == XMLEvent.START_DOCUMENT:
                self.handler.startDocument()
            elif etype == XMLEvent.END_DOCUMENT:
                break

    def feed(self, chunk):
        if not chunk:
            return

        self._buffer = self._buffer + chunk
        pos = posa = 0
        posb = -1
        last_posb = 0
        new_buffer = ''
        buf_len = len(self._buffer)
        while 1:
            found = False
            posa = self._buffer.find('<', pos)
            if posa > -1:
                posb = self._buffer.find('>', posa)
                if posb > -1:
                    found = True
                    pos = posb
                    self._parse(self._buffer[last_posb:posb + 1])
                    last_posb = posb + 1

            if not found and posb != buf_len:
                break

        self._buffer = self._buffer[last_posb:]
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from java.io import BufferedOutputStream as BO
from java.io import BufferedInputStream as BI
from java.io import FileInputStream as FI
from java.io import FileOutputStream as FO

f_read = FI("file1.txt")
b_read = BI(f_read)

f_write = FO("file2.txt")
b_write = BO(f_write)

while True:
    ch = b_read.read()
    if ch != -1:
        b_write.write(ch)
    else:
        break

b_read.close()
f_read.close()
b_write.close()
f_write.close()