def send_file(self): self._transaction.set_status(TransactionStatus.SENDING) file_to_byte_array = QByteArray() data = QByteArray() stream = QDataStream(data, QIODevice.WriteOnly) QFile.open(self._file, QIODevice.ReadOnly) stream.writeUInt32(0) stream.writeString(self._file_name) print("size of name ", getsizeof(self._file_name)) file_to_byte_array = self._file.readAll() data.append(file_to_byte_array) self._file.close() stream.device().seek(0) stream.writeUInt32(data.size() - getsizeof(self._file_name)) print("total ", data.size() - getsizeof(self._file_name)) x = 0 while (x < data.size()): y = self._socket.write(data) print("poslato ", y) x += y print("x ", x) self._transaction.set_status(TransactionStatus.FINISHED)
class QDataStreamWrite(unittest.TestCase): '''Test case for QDatastream write* functions''' def setUp(self): self.ba = QByteArray() self.read = QDataStream(self.ba, QIODevice.ReadOnly) self.write = QDataStream(self.ba, QIODevice.WriteOnly) def testWriteUInt8(self): '''QDataStream.writeUInt8 (accepting str of size 1)''' x = 0xFF self.write.writeUInt8(x) y = self.read.readUInt8() self.assertEqual(x, y) self.assertRaises(TypeError, self.write.writeUInt8, 'aaaaa') def testWriteInt8(self): '''QDataStream.writeInt8 (accepting str of size 1)''' x = 65 self.write.writeInt8(chr(x)) y = self.read.readInt8() self.assertEqual(x, y) self.assertRaises(TypeError, self.write.writeInt8, 'aaaaa') def testWriteUInt8Int(self): '''QDataStream.writeUInt8 (accepting integer)''' x = 0xFF self.write.writeUInt8(x) y = self.read.readUInt8() self.assertEqual(x, y) def testWriteInt8Int(self): '''QDataStream.writeInt8 (accepting integer)''' x = 65 self.write.writeInt8(x) y = self.read.readInt8() self.assertEqual(x, y) def testWriteUInt16(self): '''QDataStream.writeUInt16''' x = 0x4423 self.write.writeUInt16(x) y = int(self.read.readUInt16()) self.assertEqual(x, y) def testWriteUInt32(self): '''QDataStream.writeUInt32''' x = 0xdeadbeef self.write.writeUInt32(x) y = int(self.read.readUInt32()) self.assertEqual(x, y)
class QDataStreamWrite(unittest.TestCase): '''Test case for QDatastream write* functions''' def setUp(self): self.ba = QByteArray() self.read = QDataStream(self.ba, QIODevice.ReadOnly) self.write = QDataStream(self.ba, QIODevice.WriteOnly) def testWriteUInt8(self): '''QDataStream.writeUInt8 (accepting str of size 1)''' x = 0xFF self.write.writeUInt8(x) y = self.read.readUInt8() self.assertEqual(x, y) self.assertRaises(TypeError, self.write.writeUInt8, 'aaaaa') def testWriteInt8(self): '''QDataStream.writeInt8 (accepting str of size 1)''' x = 65 self.write.writeInt8(chr(x)) y = self.read.readInt8() self.assertEqual(x, y) self.assertRaises(TypeError, self.write.writeInt8, 'aaaaa') def testWriteUInt8Int(self): '''QDataStream.writeUInt8 (accepting integer)''' x = 0xFF self.write.writeUInt8(x) y = self.read.readUInt8() self.assertEqual(x, y) def testWriteInt8Int(self): '''QDataStream.writeInt8 (accepting integer)''' x = 65 self.write.writeInt8(x) y = self.read.readInt8() self.assertEqual(x, y) def testWriteUInt16(self): '''QDataStream.writeUInt16''' x = 0x4423 self.write.writeUInt16(x) y = int(self.read.readUInt16()) self.assertEqual(x, y) def testWriteUInt32(self): '''QDataStream.writeUInt32''' x = 0xdeadbeef self.write.writeUInt32(x) y = int(self.read.readUInt32()) self.assertEqual(x, y)
def saveGeometry(self): """ Saves the geometry of this subwindow (see https://bugreports.qt.io/browse/QTBUG-18648) :return: a ByteArray instance """ array = QByteArray() stream = QDataStream(array, QIODevice.WriteOnly) stream.writeUInt32(0x1D9D0CB) stream.writeUInt16(1) stream.writeUInt16(0) frameGeom = self.frameGeometry() stream.writeInt64(frameGeom.x()) stream.writeInt64(frameGeom.y()) stream.writeInt64(frameGeom.width()) stream.writeInt64(frameGeom.height()) normalGeom = self.normalGeometry() stream.writeInt64(normalGeom.x()) stream.writeInt64(normalGeom.y()) stream.writeInt64(normalGeom.width()) stream.writeInt64(normalGeom.height()) stream.writeUInt32(self.windowState() & Qt.WindowMaximized) stream.writeUInt32(self.windowState() & Qt.WindowFullScreen) return array