[libvirt] [test-API][PATCH 2/2] Add and update functions in streamAPI

Alex Jia ajia at redhat.com
Tue Jan 31 10:14:18 UTC 2012


On 01/31/2012 06:07 PM, Alex Jia wrote:
> On 01/31/2012 04:46 PM, Wayne Sun wrote:
>>    * only accpet stream object as parameter in __init__
>>
>>    * remove newStream() from each function
>>      stream object should be pass in as parameter, not create new at
>>      each function.
>>      function also need flags parameter.
>>
>>    * Add 5 new functions
>>      screenshot(self, domain, screen, flags = 0)
>>      download(self, vol, offset, length, flags = 0)
>>      upload(self, vol, offset, length, flags = 0)
>>      recvAll(self, handler, opaque)
>>      sendAll(self, handler, opaque)
>>
>>      for recvAll and sendAll, handler is a user defined function which
>>      write/read data to/from file.
>> ---
>>   lib/streamAPI.py |   84 
>> +++++++++++++++++++++++++++++++++++++----------------
>>   1 files changed, 58 insertions(+), 26 deletions(-)
>>
>> diff --git a/lib/streamAPI.py b/lib/streamAPI.py
>> index bc7d217..a1b2d0d 100644
>> --- a/lib/streamAPI.py
>> +++ b/lib/streamAPI.py
>> @@ -38,76 +38,108 @@ append_path(result.group(0))
>>   import exception
>>
>>   class StreamAPI(object):
>> -    def __init__(self, connection):
>> -        self.conn = connection
>> +    def __init__(self, stream):
>> +        self.stream_obj = stream
> Need a 'stream' instance to initialize class StreamAPI? how to do this?
> users must to do 'stream = con.newStream(0)' then StreamAPI(stream),
> right? maybe, we may do this like this:
>
> class StreamAPI(object):
>     def __init__(self, connection, flag = 0):
>         self.conn = connection
>         self.stream_obj = newStream(flag)
>
It should be 'self.stream_obj = self.conn.newStream(flag)'
>
> Alex
>>
>> -    def abort(self, flag = 0):
>> +    def abort(self):
>>           try:
>> -            stream_obj = newStream(flag)
>> -            return stream_obj.abort()
>> +            return self.stream_obj.abort()
>>           except libvirt.libvirtError, e:
>>               message = e.get_error_message()
>>               code = e.get_error_code()
>>               raise exception.LibvirtAPI(message, code)
>>
>> -    def connect(self, flag = 0):
>> +    def connect(self):
>>           try:
>> -            stream_obj = newStream(flag)
>> -            return stream_obj.connect()
>> +            return self.stream_obj.connect()
>>           except libvirt.libvirtError, e:
>>               message = e.get_error_message()
>>               code = e.get_error_code()
>>               raise exception.LibvirtAPI(message, code)
>>
>> -    def finish(self, flag = 0):
>> +    def finish(self):
>>           try:
>> -            stream_obj = newStream(flag)
>> -            return stream_obj.finish()
>> +            return self.stream_obj.finish()
>>           except libvirt.libvirtError, e:
>>               message = e.get_error_message()
>>               code = e.get_error_code()
>>               raise exception.LibvirtAPI(message, code)
>>
>> -    def recv(self, flag = 0, data, nbytes):
>> +    def recv(self, nbytes):
>>           try:
>> -            stream_obj = newStream(flag)
>> -            return stream_obj.recv(data, nbytes)
>> +            return self.stream_obj.recv(nbytes)
>>           except libvirt.libvirtError, e:
>>               message = e.get_error_message()
>>               code = e.get_error_code()
>>               raise exception.LibvirtAPI(message, code)
>>
>> -    def send(self, flag = 0, data, nbytes):
>> +    def send(self, data):
>>           try:
>> -            stream_obj = newStream(flag)
>> -            return stream_obj.send(data, nbytes)
>> +            return self.stream_obj.send(data)
>>           except libvirt.libvirtError, e:
>>               message = e.get_error_message()
>>               code = e.get_error_code()
>>               raise exception.LibvirtAPI(message, code)
>>
>> -    def eventAddCallback(self, flag = 0, cb, opaque):
>> +    def eventAddCallback(self, cb, opaque):
>>           try:
>> -            stream_obj = newStream(flag)
>> -            return stream_obj.eventAddCallback(cb, opaque)
>> +            return self.stream_obj.eventAddCallback(cb, opaque)
>>           except libvirt.libvirtError, e:
>>               message = e.get_error_message()
>>               code = e.get_error_code()
>>               raise exception.LibvirtAPI(message, code)
>>
>> -    def eventRemoveCallback(self, flag = 0):
>> +    def eventRemoveCallback(self):
>>           try:
>> -            stream_obj = newStream(flag)
>> -            return stream_obj.eventRemoveCallback()
>> +            return self.stream_obj.eventRemoveCallback()
>>           except libvirt.libvirtError, e:
>>               message = e.get_error_message()
>>               code = e.get_error_code()
>>               raise exception.LibvirtAPI(message, code)
>>
>> -    def eventUpdateCallback(self, flag = 0, events)
>> +    def eventUpdateCallback(self, events):
>>           try:
>> -            stream_obj = newStream(flag)
>> -            return stream_obj.eventUpdateCallback(events)
>> +            return self.stream_obj.eventUpdateCallback(events)
>> +        except libvirt.libvirtError, e:
>> +            message = e.get_error_message()
>> +            code = e.get_error_code()
>> +            raise exception.LibvirtAPI(message, code)
>> +
>> +    def screenshot(self, domain, screen, flags = 0):
>> +        try:
>> +            return self.stream_obj.screenshot(domain, screen, flags)
>> +        except libvirt.libvirtError, e:
>> +            message = e.get_error_message()
>> +            code = e.get_error_code()
>> +            raise exception.LibvirtAPI(message, code)
>> +
>> +    def download(self, vol, offset, length, flags = 0):
>> +        try:
>> +            return self.stream_obj.download(vol, offset, length, flags)
>> +        except libvirt.libvirtError, e:
>> +            message = e.get_error_message()
>> +            code = e.get_error_code()
>> +            raise exception.LibvirtAPI(message, code)
>> +
>> +    def upload(self, vol, offset, length, flags = 0):
>> +        try:
>> +            return self.stream_obj.upload(vol, offset, length, flags)
>> +        except libvirt.libvirtError, e:
>> +            message = e.get_error_message()
>> +            code = e.get_error_code()
>> +            raise exception.LibvirtAPI(message, code)
>> +
>> +    def recvAll(self, handler, opaque):
>> +        try:
>> +            return self.stream_obj.recvAll(handler, opaque)
>> +        except libvirt.libvirtError, e:
>> +            message = e.get_error_message()
>> +            code = e.get_error_code()
>> +            raise exception.LibvirtAPI(message, code)
>> +
>> +    def sendAll(self, handler, opaque):
>> +        try:
>> +            return self.stream_obj.sendAll(handler, opaque)
>>           except libvirt.libvirtError, e:
>>               message = e.get_error_message()
>>               code = e.get_error_code()
>
> -- 
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list