KFilterDev Class Reference
from PyKDE4.kdecore import *
Detailed Description
A class for reading and writing compressed data onto a device (e.g. file, but other usages are possible, like a buffer or a socket).
To simply read/write compressed files, see deviceForFile.
Methods | |
| __init__ (self, KFilterBase filter, bool autoDeleteFilterBase=0) | |
| bool | atEnd (self) |
| close (self) | |
| QIODevice | device (self, QIODevice inDevice, QString mimetype, bool autoDeleteInDevice=1) |
| QIODevice | deviceForFile (self, QString fileName, QString mimetype=QString(), bool forceFilter=0) |
| bool | open (self, QIODevice.OpenMode mode) |
| long | readData (self, QString data, long maxlen) |
| bool | seek (self, long a0) |
| setOrigFileName (self, QByteArray fileName) | |
| setSkipHeaders (self) | |
| long | writeData (self, QString data, long len) |
Method Documentation
| __init__ | ( | self, | ||
| KFilterBase | filter, | |||
| bool | autoDeleteFilterBase=0 | |||
| ) |
Constructs a KFilterDev for a given filter (e.g. gzip, bzip2 etc.).
- Parameters:
-
filter the KFilterBase to use autoDeleteFilterBase when true this object will become the owner of filter.
| bool atEnd | ( | self ) |
| close | ( | self ) |
Close after reading or writing. If the KFilterBase's device was opened by open(), it will be closed.
Creates an i/o device that is able to read from the QIODevice inDevice, whether the data is compressed or not. Available compression filters (gzip/bzip2 etc.) will automatically be used.
The compression filter to be used is determined mimetype . Pass "application/x-gzip" or "application/x-bzip" to use the corresponding decompression filter.
Warning: application/x-bzip may not be available. In that case 0 will be returned !
The returned QIODevice has to be deleted after using.
- Parameters:
-
inDevice input device. Won't be deleted if autoDeleteInDevice = false mimetype the mime type for the filter autoDeleteInDevice if true, inDevice will be deleted automatically
- Returns:
- a KFilterDev that filters the original stream. Must be deleted after using
Creates an i/o device that is able to read from fileName, whether it's compressed or not. Available compression filters (gzip/bzip2 etc.) will automatically be used.
The compression filter to be used is determined from the fileName if mimetype is empty. Pass "application/x-gzip" or "application/x-bzip" to force the corresponding decompression filter, if available.
Warning: application/x-bzip may not be available. In that case a QFile opened on the compressed data will be returned ! Use KFilterBase.findFilterByMimeType and code similar to what deviceForFile is doing, to better control what's happening.
The returned QIODevice has to be deleted after using.
- Parameters:
-
fileName the name of the file to filter mimetype the mime type of the file to filter, or QString() if unknown forceFilter if true, the function will either find a compression filter, or return 0. If false, it will always return a QIODevice. If no filter is available it will return a simple QFile. This can be useful if the file is usable without a filter.
- Returns:
- if a filter has been found, the QIODevice for the filter. If the filter does not exist, the return value depends on forceFilter. The returned QIODevice has to be deleted after using.
| bool open | ( | self, | ||
| QIODevice.OpenMode | mode | |||
| ) |
Open for reading or writing. If the KFilterBase's device is not opened, it will be opened.
| long readData | ( | self, | ||
| QString | data, | |||
| long | maxlen | |||
| ) |
| bool seek | ( | self, | ||
| long | a0 | |||
| ) |
That one can be quite slow, when going back. Use with care.
| setOrigFileName | ( | self, | ||
| QByteArray | fileName | |||
| ) |
For writing gzip compressed files only: set the name of the original file, to be used in the gzip header.
- Parameters:
-
fileName the name of the original file
| setSkipHeaders | ( | self ) |
Call this let this device skip the gzip headers when reading/writing. This way KFilterDev (with gzip filter) can be used as a direct wrapper around zlib - this is used by KZip.
| long writeData | ( | self, | ||
| QString | data, | |||
| long | len | |||
| ) |
KDE 4.4 PyKDE API Reference