MimeTypeChecker Class Reference
from PyKDE4.akonadi import *
Namespace: Akonadi
Detailed Description
Helper for checking MIME types of Collections and Items.
When it is necessary to decide whether an item has a certain MIME type or whether a collection can contain a certain MIME type, direct string comparison might not render the desired result because MIME types can have aliases and be a node in an "inheritance" hierachy.
For example a check like this
if ( item.mimeType() == QLatin1String( "text/directory" ) )would fail to detect "text/x-vcard" as being the same MIME type.
- Note:
- KDE deals with this inside the KMimeType framework, this class is just a convenience helper for common Akonadi related checks.
Example: Checking whether an Akonadi.Item is contact MIME type
Akonadi.MimeTypeChecker checker; checker.addWantedMimeType( KABC.Addressee.mimeType() ); if ( checker.isWantedItem( item ) ){ // item.mimeType() is equal KABC.Addressee.mimeType(), an aliases // or a sub type. }
Example: Checking whether an Akonadi.Collection could contain calendar items
Akonadi.MimeTypeChecker checker; checker.addWantedMimeType( QLatin1String( "text/calendar" ) ); if ( checker.isWantedCollection( collection ) ) { // collection.contentMimeTypes() contains @c "text/calendar" // or a sub type. }
Example: Checking whether an Akonadi.Collection could contain Calendar Event items (i.e. KCal.Event), making use of the respective MIME type "subclassing" provided by Akonadi's MIME type extensions.
Akonadi.MimeTypeChecker checker; checker.addWantedMimeType( QLatin1String( "application/x-vnd.akonadi.calendar.event" ) ); if ( checker.isWantedCollection( collection ) ) { // collection.contentMimeTypes() contains @c "application/x-vnd.akonadi.calendar.event" // or a sub type, but just containing @c "text/calendar" would not // get here }
Example: Checking for items of more than one MIME type and treat one of them specially.
Akonadi.MimeTypeChecker mimeFilter; mimeFilter.setWantedMimeTypes( QStringList() << KABC.Addressee.mimeType() << KABC.ContactGroup.mimeType() ); if ( mimeFilter.isWantedItem( item ) ) { if ( Akonadi.MimeTypeChecker.isWantedItem( item, KABC.ContactGroup.mimeType() ) { // treat contact group's differently } }
This class is implicitly shared.
- Since:
- 4.3
Methods | |
__init__ (self) | |
__init__ (self, Akonadi.MimeTypeChecker other) | |
addWantedMimeType (self, QString mimeType) | |
bool | containsWantedMimeType (self, QStringList mimeTypes) |
bool | isWantedCollection (self, Akonadi.Collection collection) |
bool | isWantedItem (self, Akonadi.Item item) |
bool | isWantedMimeType (self, QString mimeType) |
removeWantedMimeType (self, QString mimeType) | |
setWantedMimeTypes (self, QStringList mimeTypes) | |
QStringList | wantedMimeTypes (self) |
Static Methods | |
bool | isWantedCollection (Akonadi.Collection collection, QString wantedMimeType) |
bool | isWantedItem (Akonadi.Item item, QString wantedMimeType) |
Method Documentation
__init__ | ( | self ) |
Creates an empty MIME type checker.
An empty checker will not report any items or collections as wanted.
__init__ | ( | self, | ||
Akonadi.MimeTypeChecker | other | |||
) |
Creates a new MIME type checker from an other.
addWantedMimeType | ( | self, | ||
QString | mimeType | |||
) |
Adds another MIME type to the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeType The MIME types to add to the checklist.
- See also:
- setWantedMimeTypes()
bool containsWantedMimeType | ( | self, | ||
QStringList | mimeTypes | |||
) |
Checks whether any of the given MIME types is covered by one of the wanted MIME types.
- Parameters:
-
mimeTypes The MIME types to check.
- Returns:
- true if any of the MIME types in mimeTypes is coverd by one of the wanted MIME types, false otherwise.
- Since:
- 4.6
bool isWantedCollection | ( | self, | ||
Akonadi.Collection | collection | |||
) |
Checks whether a given collection has the given MIME type
- Parameters:
-
item The collection to check the content MIME types of. wantedMimeType The MIME type to check against.
- Returns:
- true if one of the collection content MIME types is the given wanted one, false if it isn't, the collection is invalid or has an empty content MIME type list.
- See also:
- setWantedMimeTypes()
- See also:
- Collection.contentMimeTypes()
bool isWantedItem | ( | self, | ||
Akonadi.Item | item | |||
) |
Checks whether a given item has the given wanted MIME type
- Parameters:
-
item The item to check the MIME type of. wantedMimeType The MIME type to check against.
- Returns:
- true if the item MIME type is the given one,
- See also:
- setWantedMimeTypes()
- See also:
- Item.mimeType()
bool isWantedMimeType | ( | self, | ||
QString | mimeType | |||
) |
Checks whether a given mime type is covered by one of the wanted MIME types.
- Parameters:
-
mimeType The mime type to check.
- Returns:
- true if the mime type mimeType is coverd by one of the wanted MIME types, false otherwise.
- Since:
- 4.6
removeWantedMimeType | ( | self, | ||
QString | mimeType | |||
) |
Removes a MIME type from the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeType The MIME type to remove from the checklist.
- See also:
- addWantedMimeType()
setWantedMimeTypes | ( | self, | ||
QStringList | mimeTypes | |||
) |
Sets the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeTypes The list of MIME types to check against.
- See also:
- wantedMimeTypes()
QStringList wantedMimeTypes | ( | self ) |
Returns the list of wanted MIME types this instance checks against.
- See also:
- setWantedMimeTypes()
Static Method Documentation
bool isWantedCollection | ( | Akonadi.Collection | collection, | |
QString | wantedMimeType | |||
) |
Checks whether a given collection has the given MIME type
- Parameters:
-
item The collection to check the content MIME types of. wantedMimeType The MIME type to check against.
- Returns:
- true if one of the collection content MIME types is the given wanted one, false if it isn't, the collection is invalid or has an empty content MIME type list.
- See also:
- setWantedMimeTypes()
- See also:
- Collection.contentMimeTypes()
bool isWantedItem | ( | Akonadi.Item | item, | |
QString | wantedMimeType | |||
) |
Checks whether a given item has the given wanted MIME type
- Parameters:
-
item The item to check the MIME type of. wantedMimeType The MIME type to check against.
- Returns:
- true if the item MIME type is the given one,
- See also:
- setWantedMimeTypes()
- See also:
- Item.mimeType()