KDE 4.7 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

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.

Author:
Kevin Krammer <kevin.krammer@gmx.at>

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,
false if it isn't, the item is invalid or has an empty MIME type.

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,
false if it isn't, the item is invalid or has an empty MIME type.

See also:
setWantedMimeTypes()
See also:
Item.mimeType()

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal