Akonadi.CollectionModifyJob

KDE 4.9 PyKDE API Reference

- KDE's Python API

# CollectionModifyJob Class Reference

`from PyKDE4.akonadi import *`

Inherits: Akonadi.Job → KCompositeJob → KJob → QObject
Namespace: Akonadi

## Detailed Description

Job that modifies a collection in the Akonadi storage.

This job modifies the properties of an existing collection.

     Akonadi.Collection collection = ...

     Akonadi.CollectionModifyJob *job = new Akonadi.CollectionModifyJob( collection );
     connect( job, SIGNAL(result(KJob*)), this, SLOT(modifyResult(KJob*)) );

If the collection has attributes, it is recommended only to supply values for any attributes whose values are to be updated. This will help to avoid potential clashes with other resources or applications which may happen to update the collection simultaneously. To avoid supplying attribute values which are not needed, create a new instance of the collection and explicitly set attributes to be updated, e.g.

     // Update the 'MyAttribute' attribute of 'collection'.
     Akonadi.Collection c( collection.id() );
     MyAttribute *attribute = c.attribute<MyAttribute>( Entity.AddIfMissing );
     if ( collection.hasAttribute<MyAttribute>() ) {
         *attribute = *collection.attribute<MyAttribute>();
     }
     // Update the value of 'attribute' ...
     Akonadi.CollectionModifyJob *job = new Akonadi.CollectionModifyJob( c );
     connect( job, SIGNAL(result(KJob*)), this, SLOT(modifyResult(KJob*)) );

To update only the collection, and not change any attributes:

     // Update the cache policy for 'collection' to 'newPolicy'.
     Akonadi.Collection c( collection.id() );
     c.setCachePolicy( newPolicy );
     Akonadi.CollectionModifyJob *job = new Akonadi.CollectionModifyJob( c );
     connect( job, SIGNAL(result(KJob*)), this, SLOT(modifyResult(KJob*)) );

Author:
  Volker Krause <vkrause@kde.org>

## Methods
| __init__ (self, Akonadi.Collection collection, QObject parent=0)
Akonadi.Collection | collection (self)
| doStart (self)

## Method Documentation

__init__ | ( | self, |
|  | Akonadi.Collection | collection,
|  | QObject | parent=0
| ) |  |  |

Creates a new collection modify job for the given collection. The collection can be identified either by its unique identifier or its remote identifier. Since the remote identifier is not necessarily globally unique, identification by remote identifier only works inside a resource context (that is from within ResourceBase) and is therefore limited to one resource.

Parameters:

  | collection | The collection to modify.
  | parent | The parent object.

Akonadi.Collection collection | ( |  | self ) |

Returns the modified collection.

Since:
  4.4

doStart | ( |  | self ) |